Modelli e piattaforme di IA

OLMo: Migliorare la Scienza dei Modelli Linguistici

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Lo sviluppo e il progresso dei modelli linguistici negli ultimi anni hanno segnato la loro presenza quasi ovunque, non solo nella ricerca NLP, ma anche nelle offerte commerciali e nelle applicazioni del mondo reale. Tuttavia, l’aumento della domanda commerciale per i modelli linguistici ha, in una certa misura, ostacolato la crescita della comunità. Ciò è dovuto al fatto che la maggior parte dei modelli più avanzati e capaci sono protetti da interfacce proprietarie, rendendo impossibile per la comunità di sviluppo accedere a dettagli vitali della loro architettura di formazione, dati e processi di sviluppo. È ormai indiscutibile che questi dettagli di formazione e strutturali sono cruciali per gli studi di ricerca, compresa l’accesso ai loro potenziali rischi e pregiudizi, creando così un requisito per la comunità di ricerca di avere accesso a un modello linguistico veramente aperto e potente.

Per soddisfare questo requisito, gli sviluppatori hanno creato OLMo, un framework di modelli linguistici di stato dell’arte veramente aperto. Questo framework consente ai ricercatori di utilizzare OLMo per costruire e studiare modelli linguistici. A differenza della maggior parte dei modelli linguistici di stato dell’arte, che hanno rilasciato solo il codice dell’interfaccia e i pesi del modello, il framework OLMo è veramente open source, con codice di valutazione pubblicamente accessibile, metodi di formazione e dati di formazione. L’obiettivo principale di OLMo è quello di potenziare e aumentare la comunità di ricerca aperta e lo sviluppo continuo dei modelli linguistici.

In questo articolo, discuteremo del framework OLMo nel dettaglio, esaminandone l’architettura, la metodologia e le prestazioni rispetto ai framework di stato dell’arte attuali. Quindi, iniziamo.

OLMo: Migliorare la Scienza dei Modelli Linguistici

Il modello linguistico è stato probabilmente la tendenza più calda degli ultimi anni, non solo all’interno della comunità AI e ML, ma anche in tutta l’industria tecnologica, a causa delle sue capacità eccezionali nel svolgere compiti del mondo reale con prestazioni simili a quelle umane. ChatGPT è un esempio primario del potenziale dei modelli linguistici, con i principali attori dell’industria tecnologica che esplorano l’integrazione dei modelli linguistici con i loro prodotti.

NLP, o Elaborazione del Linguaggio Naturale, è una delle industrie che ha ampiamente impiegato modelli linguistici negli ultimi anni. Tuttavia, fin dall’inizio dell’industria che ha iniziato a utilizzare l’annotazione umana per l’allineamento e la pre-formazione su larga scala, i modelli linguistici hanno assistito a un rapido miglioramento della loro fattibilità commerciale, portando alla maggior parte dei framework di modelli linguistici e NLP di stato dell’arte ad avere interfacce proprietarie restrittive, con la comunità di sviluppo che non ha accesso ai dettagli vitali.

Per garantire il progresso dei modelli linguistici, OLMo, un modello linguistico di stato dell’arte veramente aperto, offre agli sviluppatori un framework per costruire, studiare e avanzare lo sviluppo dei modelli linguistici. Fornisce inoltre ai ricercatori l’accesso al codice di formazione e valutazione, alla metodologia di formazione, ai dati di formazione, ai log di formazione e ai checkpoint di modello intermedi. I modelli di stato dell’arte esistenti hanno gradi di apertura variabili, mentre il modello OLMo ha rilasciato l’intero framework, dalla formazione ai dati agli strumenti di valutazione, riducendo così il divario di prestazioni rispetto ai modelli di stato dell’arte come il modello LLaMA2.

Per la modellazione e la formazione, il framework OLMo include il codice di formazione, i pesi del modello completi, le ablazioni, i log di formazione e le metriche di formazione nella forma di codice dell’interfaccia, nonché i log di Weights & Biases. Per l’analisi e la costruzione del set di dati, il framework OLMo include l’intero set di dati di formazione utilizzato per i modelli AI2 Dolma e WIMBD, insieme al codice che produce i dati di formazione. Per gli scopi di valutazione, il framework OLMo include il modello AI2 Catwalk per la valutazione a valle, e il modello Paloma per la valutazione basata sulla perplessità.

OLMo: Modello e Architettura

Il modello OLMo adotta un’architettura di trasformatore solo decoder basata sui Sistemi di Elaborazione delle Informazioni Neurali e consegna due modelli con 1 miliardo e 7 miliardi di parametri rispettivamente, con un modello da 65 miliardi di parametri attualmente in sviluppo.

L’architettura del framework OLMo offre diversi miglioramenti rispetto ai framework che includono il componente trasformatore vanilla nella loro architettura, compresi i recenti modelli di stato dell’arte come i grandi modelli linguistici come OpenLM, Falcon, LLaMA e PaLM. La figura seguente confronta il modello OLMo con 7 miliardi di parametri con i recenti LLM che operano su numeri di parametri quasi uguali.

Il framework OLMo seleziona iiperparametri ottimizzando il modello per la velocità di formazione sull’hardware, riducendo al contempo il rischio di divergenza lenta e picchi di perdita. Detto questo, le principali modifiche implementate dal framework OLMo che lo distinguono dall’architettura trasformatore vanilla sono le seguenti:

Nessun Pregiudizio

A differenza di Falcon, PaLM, LLaMA e altri modelli linguistici, il framework OLMo non include alcun pregiudizio nella sua architettura per migliorare la stabilità della formazione.

Norma di Layer Non Parametrica

Il framework OLMo implementa la formulazione non parametrica della norma di layer nella sua architettura. La norma di layer non parametrica non offre alcuna trasformazione affine all’interno della norma, ovvero non offre alcun guadagno o pregiudizio adattivo. La norma di layer non parametrica non solo offre maggiore sicurezza rispetto alle norme di layer parametriche, ma è anche più veloce.

Funzione di Attivazione SwiGLU

Come la maggior parte dei modelli linguistici come PaLM e LLaMA, il framework OLMo include la funzione di attivazione SwiGLU nella sua architettura al posto della funzione di attivazione ReLU e aumenta la dimensione dell’attivazione nascosta al multiplo più vicino di 128 per migliorare la velocità di elaborazione.

RoPE o Incapsulamento Posizionale Rotativo

I modelli OLMo seguono i modelli LLaMA e PaLM e sostituiscono gli incapsulamenti posizionali assoluti con RoPE o incapsulamento posizionale rotativo.

Pre-formazione con Dolma

Sebbene la comunità di sviluppo abbia ora un accesso migliorato ai parametri del modello, le porte per accedere ai set di dati di pre-formazione sono ancora chiuse, poiché i dati di pre-formazione non vengono rilasciati insieme ai modelli chiusi né insieme ai modelli aperti. Inoltre, la documentazione tecnica che copre tali dati spesso manca di dettagli vitali necessari per comprendere appieno e replicare il modello. L’ostacolo rende difficile proseguire la ricerca in certi filoni di ricerca sui modelli linguistici , compresa la comprensione di come i dati di formazione influenzano le capacità e i limiti del modello. Il framework OLMo ha costruito e rilasciato il suo set di dati di pre-formazione, Dolma, per facilitare la ricerca aperta sulla pre-formazione dei modelli linguistici. Il set di dati Dolma è una raccolta multi-sorgente e diversificata di oltre 3 trilioni di token su 5 miliardi di documenti raccolti da 7 fonti diverse che vengono comunemente utilizzate dai potenti modelli LLM su larga scala per la pre-formazione e sono accessibili al pubblico in generale. La composizione del set di dati Dolma è riassunta nella seguente tabella.

Il set di dati Dolma è stato costruito utilizzando una pipeline di 5 componenti: filtro di lingua, filtro di qualità, filtro di contenuto, miscelazione multi-sorgente, deduplicazione e tokenizzazione. OLMo ha anche rilasciato il rapporto Dolma che fornisce ulteriori informazioni sui principi di progettazione e sui dettagli di costruzione, insieme a un riassunto più dettagliato del contenuto. Il modello apre anche le sue strumentazioni di cura dei dati ad alte prestazioni per consentire una facile e rapida cura dei corpora di dati di pre-formazione. La valutazione del modello segue una strategia a due fasi, iniziando con la valutazione online per la presa di decisioni durante la formazione del modello e una valutazione offline finale per una valutazione aggregata dai checkpoint del modello. Per la valutazione offline, OLMo utilizza il framework Catwalk, il nostro strumento di valutazione pubblicamente disponibile che ha accesso a una vasta gamma di set di dati e formati di attività. Il framework utilizza Catwalk per la valutazione a valle, nonché per la valutazione intrinseca del modello linguistico su nostro nuovo benchmark di perplessità, Paloma. OLMo confronta quindi il modello con diversi modelli pubblici utilizzando la sua pipeline di valutazione fissa, sia per la valutazione a valle che per la valutazione della perplessità.

OLMo esegue diverse metriche di valutazione relative all’architettura del modello, all’inizializzazione, agli ottimizzatori, alla pianificazione del tasso di apprendimento e alle miscele di dati durante la formazione del modello. Gli sviluppatori lo chiamano “valutazione online” di OLMo, poiché si tratta di un’iterazione a ciclo aperto ad ogni 1000 passi di formazione (∼4B token di formazione) per fornire un segnale precoce e continuo sulla qualità del modello in formazione. L’impostazione di queste valutazioni dipende dalla maggior parte delle attività e delle impostazioni degli esperimenti utilizzati per la nostra valutazione offline. OLMo mira non solo a confrontare OLMo-7B con altri modelli per le migliori prestazioni, ma anche a mostrare come consenta una valutazione scientifica più completa e controllata. OLMo-7B è il più grande modello linguistico con decontaminazione esplicita per la valutazione della perplessità.

Formazione OLMo

È importante notare che i modelli del framework OLMo vengono formati utilizzando la strategia di ottimizzazione ZeRO, che viene fornita dal framework FSDP attraverso PyTorch e, in questo modo, riduce notevolmente il consumo di memoria della GPU dividendo i pesi del modello tra le GPU. Con questo, alla scala di 7B, la formazione può essere eseguita con una dimensione del batch di 4096 token per GPU sul nostro hardware. Il framework di formazione per i modelli OLMo-1B e -7B utilizza una dimensione del batch costante a livello globale di circa 4M token (2048 istanze, ciascuna con una lunghezza di sequenza di 2048 token). Per il modello OLMo-65B (attualmente in formazione), gli sviluppatori utilizzano un riscaldamento della dimensione del batch che inizia a circa 2M token (1024 istanze), raddoppiando ogni 100B token fino a circa 16M token (8192 istanze).

Per migliorare la velocità di elaborazione, utilizziamo la formazione a precisione mista (Micikevicius et al., 2017) attraverso le impostazioni predefinite di FSDP e il modulo amp di PyTorch. Quest’ultimo assicura che determinate operazioni come la funzione softmax vengano eseguite sempre in precisione completa per migliorare la stabilità, mentre tutte le altre operazioni vengono eseguite in mezza precisione con il formato bfloat16. Nelle nostre impostazioni specifiche, i pesi del modello suddivisi e lo stato dell’ottimizzatore locali di ogni GPU vengono mantenuti in precisione completa. I pesi all’interno di ogni blocco del trasformatore vengono convertiti nel formato bfloat16 solo quando i parametri di dimensioni complete vengono materializzati su ogni GPU durante le fasi di forward e backward. I gradienti vengono ridotti tra le GPU in precisione completa.

Ottimizzatore

Il framework OLMo utilizza l’ottimizzatore AdamW con i seguenti iperparametri.

Per tutte le dimensioni del modello, il tasso di apprendimento si riscalda linearmente nei primi 5000 passi (∼21B token) fino a un valore massimo, e poi decresce linearmente con l’inverso della radice quadrata del numero di passi fino al tasso di apprendimento minimo specificato. Dopo il periodo di riscaldamento, il modello limita i gradienti in modo che la norma l-norma dei gradienti dei parametri non superi 1,0. La seguente tabella fornisce un confronto delle nostre impostazioni dell’ottimizzatore alla scala di 7B con quelle di altri recenti LMs che hanno utilizzato AdamW.

Dati di Formazione

La formazione comporta la tokenizzazione delle istanze di formazione per parola e BPE tokenizer per il modello di pezzi di frase dopo aver aggiunto un token EOS speciale alla fine di ogni documento, e quindi raggruppiamo i chunk consecutivi di 2048 token per formare istanze di formazione. Le istanze di formazione vengono mescolate nello stesso modo esatto per ogni esecuzione di formazione. L’ordine dei dati e la composizione esatta di ogni batch di formazione possono essere ricostruiti dagli artifact che rilasciamo. Tutti i modelli OLMo rilasciati sono stati formati almeno 2T token (un’epoca singola sui loro dati di formazione), e alcuni sono stati formati oltre questo punto iniziando una seconda epoca sui dati con un ordine di mescolamento diverso. Dato il piccolo quantitativo di dati che questo ripete, dovrebbe avere un effetto trascurabile.

Risultati

Il checkpoint utilizzato per la valutazione di OLMo-7B è stato formato fino a 2,46T token sul set di dati Dolma con la pianificazione di decadimento lineare del tasso di apprendimento menzionata in precedenza. Un ulteriore tuning di questo checkpoint sul set di dati Dolma per 1000 passi con un tasso di apprendimento decadente linearmente a 0 aumenta ulteriormente le prestazioni del modello sulla perplessità e sulle suite di valutazione dei compiti finali descritte in precedenza. Per la valutazione finale, gli sviluppatori hanno confrontato OLMo con altri modelli pubblicamente disponibili – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B e RPJ-INCITE-7B.

Valutazione a Valore

La suite di valutazione a valle principale è riassunta nella seguente tabella.

Eseguire la valutazione zero-shot utilizzando l’approccio di classificazione per ranking in tutti i casi. In questo approccio, le possibili completazioni di testo (ad esempio, diverse opzioni di scelta multipla) vengono classificate per probabilità (di solito normalizzata da un fattore di normalizzazione), e viene segnalata l’accuratezza della previsione.

Mentre Catwalk utilizza diversi metodi di normalizzazione della probabilità tipici, come la normalizzazione per token e la normalizzazione per carattere, le strategie di normalizzazione applicate vengono scelte separatamente per ogni set di dati e includono la probabilità incondizionata della risposta. Più concretamente, ciò ha comportato nessuna normalizzazione per i compiti arc e openbookqa, la normalizzazione per token per i compiti hellaswag, piqa e winogrande, e nessuna normalizzazione per i compiti boolq, copa e sciq (ovvero, compiti in un formato vicino a una previsione di token singolo).

La figura seguente mostra il progresso del punteggio di accuratezza per i nove compiti finali di base. Si può dedurre che c’è una tendenza generale all’aumento del punteggio di accuratezza per tutti i compiti, ad eccezione di OBQA, poiché OLMo-7B viene ulteriormente formato su più token. Un netto aumento del punteggio di accuratezza di molti compiti tra l’ultimo e il penultimo passo mostra il beneficio della riduzione lineare del LR a 0 durante gli ultimi 1000 passi di formazione. Ad esempio, nel caso delle valutazioni intrinseche, Paloma sostiene attraverso una serie di analisi, dall’ispezione delle prestazioni in ogni dominio separatamente fino a risultati più riassuntivi su combinazioni di domini. Riportiamo i risultati a due livelli di granularità: le prestazioni aggregate su 11 dei 18 fonti in Paloma, nonché risultati più fini su ciascuna di queste fonti individualmente.

Pensieri Finali

In questo articolo, abbiamo parlato di OLMo, un modello linguistico di stato dell’arte veramente aperto che offre agli sviluppatori un framework per costruire, studiare e avanzare lo sviluppo dei modelli linguistici, nonché fornire ai ricercatori l’accesso al codice di formazione e valutazione, alla metodologia di formazione, ai dati di formazione, ai log di formazione e ai checkpoint di modello intermedi. I modelli di stato dell’arte esistenti hanno gradi di apertura variabili, mentre il modello OLMo ha rilasciato l’intero framework, dalla formazione ai dati agli strumenti di valutazione, riducendo così il divario di prestazioni rispetto ai modelli di stato dell’arte come il modello LLaMA2.

Un ingegnere per professione, uno scrittore per passione. Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedicato a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.