Il mondo degli LLM open source è entusiasmante e in continua evoluzione. Questa lezione mira a fornire uno sguardo approfondito sui modelli open source. Se stai cercando informazioni su come i modelli proprietari si confrontano con i modelli open source, vai alla lezione "Esplorare e Confrontare Diversi LLM". Questa lezione tratterà anche il tema del fine-tuning, ma una spiegazione più dettagliata può essere trovata nella lezione "Fine-Tuning degli LLM".
- Acquisire una comprensione dei modelli open source
- Comprendere i vantaggi di lavorare con modelli open source
- Esplorare i modelli open disponibili su Hugging Face e Azure AI Studio
Il software open source ha svolto un ruolo cruciale nella crescita della tecnologia in vari campi. L'Open Source Initiative (OSI) ha definito 10 criteri per il software affinché venga classificato come open source. Il codice sorgente deve essere condiviso apertamente sotto una licenza approvata dall'OSI.
Sebbene lo sviluppo degli LLM abbia elementi simili allo sviluppo software, il processo non è esattamente lo stesso. Questo ha portato a molte discussioni nella comunità sulla definizione di open source nel contesto degli LLM. Perché un modello sia allineato alla definizione tradizionale di open source, le seguenti informazioni dovrebbero essere pubblicamente disponibili:
- Dataset utilizzati per addestrare il modello.
- Pesi completi del modello come parte dell'addestramento.
- Il codice di valutazione.
- Il codice di fine-tuning.
- Pesi completi del modello e metriche di addestramento.
Attualmente ci sono solo pochi modelli che soddisfano questi criteri. Il modello OLMo creato dall'Allen Institute for Artificial Intelligence (AllenAI) è uno che rientra in questa categoria.
Per questa lezione, ci riferiremo ai modelli come "modelli open" d'ora in avanti poiché potrebbero non corrispondere ai criteri sopra al momento della scrittura.
Altamente Personalizzabili - Poiché i modelli open sono rilasciati con informazioni dettagliate sull'addestramento, ricercatori e sviluppatori possono modificare gli interni del modello. Questo consente la creazione di modelli altamente specializzati, ottimizzati per un compito specifico o un'area di studio. Alcuni esempi sono la generazione di codice, operazioni matematiche e biologia.
Costo - Il costo per token per utilizzare e distribuire questi modelli è inferiore rispetto a quello dei modelli proprietari. Quando si costruiscono applicazioni di Generative AI, è importante valutare il rapporto prestazioni-prezzo lavorando con questi modelli per il proprio caso d'uso.
Flessibilità - Lavorare con modelli open consente di essere flessibili nell'uso di modelli diversi o nella loro combinazione. Un esempio è rappresentato dagli Assistenti HuggingChat dove un utente può selezionare il modello utilizzato direttamente nell'interfaccia utente:
LLama2, sviluppato da Meta, è un modello open ottimizzato per applicazioni basate sulla chat. Questo grazie al suo metodo di fine-tuning, che ha incluso una grande quantità di dialoghi e feedback umano. Con questo metodo, il modello produce risultati più allineati alle aspettative umane, offrendo una migliore esperienza utente.
Alcuni esempi di versioni fine-tuned di Llama includono Japanese Llama, specializzato in giapponese, e Llama Pro, una versione migliorata del modello base.
Mistral è un modello open con un forte focus su alte prestazioni ed efficienza. Utilizza l'approccio Mixture-of-Experts che combina un gruppo di modelli esperti specializzati in un unico sistema dove, a seconda dell'input, vengono selezionati certi modelli da utilizzare. Questo rende il calcolo più efficace poiché i modelli affrontano solo gli input in cui sono specializzati.
Alcuni esempi di versioni fine-tuned di Mistral includono BioMistral, focalizzato sul dominio medico, e OpenMath Mistral, che esegue calcoli matematici.
Falcon è un LLM creato dal Technology Innovation Institute (TII). Il Falcon-40B è stato addestrato su 40 miliardi di parametri ed è stato dimostrato che performa meglio di GPT-3 con un budget di calcolo inferiore. Questo grazie all'uso dell'algoritmo FlashAttention e dell'attenzione multiquery che gli permette di ridurre i requisiti di memoria durante l'inferenza. Con questo tempo di inferenza ridotto, il Falcon-40B è adatto per applicazioni di chat.
Alcuni esempi di versioni fine-tuned di Falcon sono OpenAssistant, un assistente costruito su modelli open, e GPT4ALL, che offre prestazioni superiori rispetto al modello base.
Non esiste una risposta unica per scegliere un modello open. Un buon punto di partenza è utilizzare la funzione di filtro per compito di Azure AI Studio. Questo ti aiuterà a capire per quali tipi di compiti il modello è stato addestrato. Hugging Face mantiene anche una classifica LLM che mostra i modelli con le migliori prestazioni basate su determinate metriche.
Quando si desidera confrontare LLM tra i diversi tipi, Artificial Analysis è un'altra ottima risorsa:
Se si lavora su un caso d'uso specifico, cercare versioni fine-tuned focalizzate sulla stessa area può essere efficace. Sperimentare con più modelli open per vedere come performano secondo le tue e le aspettative dei tuoi utenti è un'altra buona pratica.
La parte migliore dei modelli open è che puoi iniziare a lavorarci abbastanza rapidamente. Dai un'occhiata al Catalogo Modelli Azure AI Foundry, che presenta una collezione specifica di Hugging Face con questi modelli di cui abbiamo parlato qui.
Dopo aver completato questa lezione, dai un'occhiata alla nostra collezione di apprendimento Generative AI per continuare a migliorare le tue conoscenze sulla Generative AI!
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Pur impegnandoci per garantire l’accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non ci assumiamo alcuna responsabilità per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione.



