GLM-130B Un modello preaddestrato bilingue aperto

GLM-130B Un modello bilingue aperto preaddestrato

Il framework GLM-130B è un grande modello di linguaggio bilingue pre-addestrato con oltre 130 miliardi di parametri in grado di generare testi sia in inglese che in cinese. Il framework GLM-130B è un tentativo di open source di un modello di linguaggio su una scala di oltre 100 miliardi di parametri e di discutere come i framework di tale scala possano essere pre-addestrati, poiché attualmente addestrare un modello di tale scala è spesso caratterizzato da problemi come la divergenza e i picchi di perdita.

In questo articolo parleremo del framework GLM-130B, che cerca di elaborare un metodo per pre-addestrare in modo efficace grandi modelli di linguaggio con centinaia di miliardi di parametri. Approfondiremo il funzionamento e l’architettura del framework GLM-130B insieme al processo di addestramento e alle scelte di progettazione che non solo aiutano ad aumentare l’efficienza, ma anche la stabilità. Gli esperimenti iniziali condotti per testare il funzionamento del framework GLM-130B su una vasta gamma di benchmark in inglese hanno portato il modello GLM-130B a superare il framework GPT-3 attuale di stato dell’arte di un margine considerevole. Quindi iniziamo e scopriamo come il framework GLM-130B offre risultati così coerenti, accurati e stabili.

Un’introduzione al framework GLM-130B

Grandi modelli di linguaggio in grado di operare in condizioni di poche-shot e zero-shot, specialmente quelli con oltre 100 miliardi di parametri, presentano leggi di scalabilità interessanti, tra cui il framework GPT-3 è uno dei framework più performanti che offre miglioramenti considerevoli rispetto al suo predecessore, il framework BERT. Tuttavia, nonostante la popolarità del framework GPT-3 e le sue applicazioni diffuse, il processo di addestramento e, in alcuni casi, il framework GPT-3 stesso, sono stati non trasparenti per il pubblico. Inoltre, enumerare empiricamente tutte le possibili progettazioni per l’addestramento di LLM su oltre 100 miliardi di parametri è computazionalmente non abbordabile, il che rende ancora più critico trovare un metodo di pre-addestramento per framework LLM su larga scala.

Il punto sopra menzionato rende di fondamentale importanza condividere il funzionamento e il processo di addestramento di framework LLM su larga scala di alta qualità come GPT-3 e, tenendo conto delle preoccupazioni etiche, il framework GLM-130B è un tentativo di pre-addestrare un LLM accurato e open-source con oltre 100 miliardi di parametri. Nel corso del loro tentativo, il team di sviluppo di GLM-130B ha osservato che il pre-addestramento di un framework LLM su larga scala è spesso accompagnato da una vasta gamma di sfide ingegneristiche e tecniche in termini di stabilità, efficienza e convergenza.

Per essere più specifici, GLM-130B è un framework denso bidirezionale e bilingue composto da oltre 130 miliardi di parametri, pre-addestrato su 400 miliardi di token su un cluster di 96 nodi GPU NVIDIA DGX-A100 per quasi due mesi. Inoltre, invece di optare per un’architettura simile a GPT, il framework GLM-130B utilizza l’algoritmo GLM o General Language Model nel tentativo di sfruttare i suoi obiettivi di completamento automatico a riempi mentale autoregressivo e l’avvantaggio dell’attenzione bidirezionale. La tabella seguente confronta il framework GLM-130B con altri modelli con oltre 100 miliardi di parametri, tra cui GPT, BLOOM-176B e OPT-175B.

I concetti di ingegneria e sviluppo coinvolti nel framework GLM-130B superano quasi tutti i framework LLM su larga scala, tra cui GPT-3 e PaLM 540B con oltre 500 miliardi di parametri in molti casi e su una vasta gamma di benchmark. La figura seguente confronta le prestazioni del framework GLM-130B con modelli con oltre 100 miliardi di parametri e, come si può vedere, il framework GLM-130B ha una tossicità e un bias di generazione significativamente inferiori rispetto ai suoi concorrenti.

Infine, GLM-130B è stato progettato in modo da consentire a molti sviluppatori di condurre studi su framework con oltre 100 miliardi di parametri e ci sono due modi in cui il framework GLM-130B raggiunge questo obiettivo. In primo luogo, invece di utilizzare oltre 175 miliardi di parametri come BLOOM e OPT, il framework GLM-130B utilizza 130 miliardi di parametri perché le dimensioni del modello supportano interferenze anche su un singolo server A100. In secondo luogo, i requisiti di GPU per eseguire il framework GLM-130B sono inferiori rispetto ad altri framework LLM e il framework GLM-130B realizza ciò quantizzando il framework originale in una precisione INT4. La quantizzazione INT4 utilizzata dal framework GLM-130B migliora le prestazioni mantenendo una degradazione delle prestazioni trascurabile.

GLM-130B : Architettura

Il bias induttivo di un modello di apprendimento automatico è descritto dalla sua architettura, e non sorprende quando gli sviluppatori non possono esplorare vari design architettonici per i modelli di linguaggio ampi dati la fattibilità computazionale e la praticità. Detto questo, diamo un’occhiata all’architettura di GLM-130B.

Framework di modelli di linguaggio ad ampio raggio come PaLM, GPT e altri hanno più di 100 miliardi di parametri e sono basati sull’architettura convenzionale di autoregressive language modeling GPT-style con solo il decoder. D’altra parte, il framework GLM-130B esplora la possibilità di utilizzare un modello di linguaggio generale bidirezionale o GLM, un modello di linguaggio basato su Transformer che mira a sfruttare il completamento di spazi bianchi autoregressivo come obiettivo di addestramento, come sua fondamenta. In breve, per una sequenza di testo data, il framework GLM campiona sotto sequenze di testo che vengono poi sostituite con un unico token maschera.

L’attenzione bidirezionale del Modello di Linguaggio Generale sul contesto non corrotto o non mascherato è ciò che distingue il framework GLM-130B dall’approccio GPT-style che utilizza un approccio unidirezionale. Inoltre, per supportare sia la generazione che la comprensione dei dati, il framework GLM fonde due strategie di corruzione, ognuna delle quali è indicata con un token maschera speciale e univoco.

  • [MASCHERA]: [MASCHERA] è una strategia di corruzione che utilizza spazi bianchi brevi nelle frasi, le cui lunghezze si sommano a una certa percentuale dell’input.
  • [gMASCHERA]: [gMASCHERA] è una strategia di corruzione che utilizza spazi bianchi di lunghezza casuale verso la fine della frase con i contesti di prefisso.

L’approccio seguito dal framework GLM è ciò che consente al framework di registrare un punteggio di precisione superiore all’80% nel language modeling LAMBADA a zero-shot, superando sia il PaLM 540B che il framework GPT-3.

Layer Normalization

Una delle sfide principali che gli sviluppatori affrontano durante l’addestramento di un framework LLM è l’instabilità di addestramento e l’utilizzo di un adeguato LN (Layer Normalization) potrebbe aiutare nell’addestramento di LLMs. Il framework GLM-130B utilizza un approccio Post-LN grazie alle sue prestazioni nelle attività successive.

FFNs e Codifica Posizionale

Le reti neurali a feedforward o FFN e la codifica posizionale sono due approcci adottati dal framework GLM-130B per introdurre prestazioni straordinarie nelle attività successive e stabilità di addestramento.

Setup di Pre-Training

Gli obiettivi di pre-training del framework GLM-130B non includono solo l’apprendimento multitask per un numero ridotto di token, ma include anche il GLM auto-supervisionato per il completamento autoregressivo degli spazi vuoti, con l’aspettativa che questo approccio aiuti il framework GLM-130B nelle attività successive. Detto questo, il setup di pre-training del framework GLM-130B è il seguente.

Completamento Autonomo degli Spazi Vuoti

Come già accennato, il framework GLM-130B utilizza due strategie di corruzione, ovvero [MASCHERA] e [gMASCHERA], e una di queste strategie viene applicata indipendentemente a ogni singola sequenza di allenamento, una alla volta. Per riempire gli spazi vuoti, la strategia [MASCHERA] maschera sotto sequenze consecutive nel 30% della sequenza di training, dove le lunghezze delle sotto sequenze sommano fino al 15% dell’input e seguono una distribuzione di Poisson. Per il restante 70% della sequenza, il prefisso di ogni sequenza viene mantenuto come contesto e la strategia [gMASCHERA] aiuta a mascherare il resto e la lunghezza mascherata viene quindi campionata utilizzando una distribuzione Uniforme.

Pre-Training delle Istruzioni Multitask

È stato indicato che seguire un approccio di apprendimento multitask per il pre-training dei modelli può fornire risultati migliori rispetto al fine-tuning, per migliorare i trasferimenti di attività in un contesto di zero-shot. Di conseguenza, il framework GLM-130B propone di utilizzare una serie di dataset di istruzioni, inclusa la generazione di linguaggio, la comprensione e l’estrazione di informazioni durante il pre-training.

Rispetto ad altri approcci per il trasferimento di task senza bisogno di etichetta che utilizzano il fine-tuning multi-task guidato, l’approccio di Pre-Training delle Istruzioni Multi-Task seguito dal framework GLM-130B è responsabile solo del 5% dei token totali, ed è impostato durante la fase di pre-training nel tentativo di evitare di compromettere altre capacità del framework LLM o, in altre parole, generazione libera incondizionata.

Strategia 3D Parallela

Esistono due pratiche de facto per addestrare modelli di grandi dimensioni con miliardi di parametri: il parallellismo del modello tensore e il parallellismo dei dati. Nel tentativo di ridurre l’utilizzo della GPU e gestire le immense esigenze della GPU, il framework GLM-130B implementa una strategia 3D parallela che combina la strategia di parallelismo del modello in pipeline con il parallellismo del modello tensore e le strategie di parallellismo dei dati.

GLM-130B: Stabilità dell’Addestramento

La stabilità dell’addestramento è un fattore importante nel determinare la qualità di un LLM, e la stabilità dell’addestramento è influenzata in modo significativo dal numero di token che attraversa. Inoltre, è fondamentale stabilire un compromesso tra stabilità ed efficienza per quanto riguarda i formati in virgola mobile dati i vincoli computazionali. Ad esempio, i formati in virgola mobile a bassa precisione potenziano l’efficienza di calcolo, ma spesso risultano in collassi dell’addestramento poiché sono inclini a errori di sottoflow e overflow.

Precisione Mista

Nel tentativo di aumentare l’accuratezza dell’addestramento e ridurre l’uso della memoria, il framework GLM-130B segue la pratica comune di utilizzare precisioni miste, ovvero FP16 sia per l’inoltro che per il retrogusto, e FP32 sia per i pesi principali che per gli stati dell’ottimizzatore. Come altri popolari framework LLM tra cui BLOOM-176B e OPT-175B, la fase di addestramento del framework GLM-130B utilizzando la strategia di precisione mista affronta frequenti picchi di perdita, e la frequenza di queste perdite aumenta man mano che il modello continua ad addestrare. Inoltre, ci sono importanti problemi che gli sviluppatori affrontano quando si scalano i trasformatori.

Primo, la scala dei valori del ramo principale del trasformatore può essere vasta nei livelli più profondi quando si utilizza la Pre-LN, e nel framework GLM-130B questo problema viene affrontato utilizzando una Pre-LN basata su DeepNorm, che garantisce che la scala dei valori rimanga limitata in ogni momento. Secondo, all’aumentare delle dimensioni del modello, i punteggi di attenzione aumentano fino ad un punto in cui superano il range di FP16.

Riduzione del Gradiente del Layer di Embedding o EGS

Gli sviluppatori che lavorano sul framework GLM-130B hanno identificato che la norma del gradiente può fungere da indicatore informativo per i collassi dell’addestramento, e un collasso dell’addestramento di solito segue un picco nella norma del gradiente. La causa di questi picchi sono i gradienti anomali del layer di embedding, e gli sviluppatori hanno osservato che, rispetto alla norma del gradiente degli altri layer, la norma del gradiente dei layer di embedding è maggiore di diverse grandezze e tende anche a fluttuare drasticamente durante l’addestramento iniziale del framework. I modelli di visione affrontano anche questo problema, e viene gestito congelando il layer di proiezione della patch. Tuttavia, lo stesso approccio non può essere applicato ai LLM poiché nei modelli di linguaggio non è possibile congelare i layer di proiezione.

GLM-130B: Risultati e Prestazioni

Per valutare le prestazioni di GLM-130B per i task in lingua inglese, implementa le stesse impostazioni seguite dai comuni framework LLM, tra cui PaLM e GPT-3, e poiché GLM-130B è un framework bilingue, viene valutato anche su diversi benchmark cinesi. Le prestazioni del framework GLM-130B verranno misurate su più benchmark, tra cui Modellazione del Linguaggio, MMLU o Massive Multitask Language Understanding, BIG-Bench o Beyond the Imitation Game Benchmark, e CLUE o Chinese Language Understanding Evaluation. Quindi, iniziamo.

Modellazione del Linguaggio

Il test di benchmark del Language Modeling sul framework GLM-130B viene eseguito su due set di dati: LAMBADA e Pile.

Il set di dati LAMBADA viene utilizzato per testare le capacità di modellazione dell’ultima parola di LLM e il framework GLM-130B ottiene un punteggio di accuratezza zero-shot del 80,2 in un ambiente bilingue, stabilendo così un nuovo record di riferimento nel set di dati LAMBADA.

D’altra parte, Pile è un set di test che comprende una serie di benchmark per modelli di linguaggio. In media, rispetto a GPT-3 e Jurassic-1, il framework GLM-130B offre le migliori prestazioni su 18 set di test condivisi in termini di BPBs ponderati. I risultati dimostrano le forti capacità linguistiche del framework GLM-130B e i risultati sono inclusi nella tabella sottostante.

MMLU o Conoscenza del linguaggio multitasking massivo

MMLU o Conoscenza del linguaggio multitasking massivo è un benchmark diversificato che comprende oltre 50 compiti di risposta a scelta multipla riguardanti l’intelligenza umana e la conoscenza, che vanno dai livelli scolastici a quelli esperti, ed è rilasciato dopo l’indicizzazione del set di test Pile, e quindi, serve come un test ideale per valutare le capacità di apprendimento a pochi spari di un LLM.

Come si può vedere, in configurazioni a pochi scatti (5 scatti), le prestazioni del framework GLM-130B si avvicinano alle prestazioni del modello GPT-3 dopo aver visualizzato quasi 300 miliardi di token. Le prestazioni continuano a migliorare man mano che l’addestramento prosegue ulteriormente e quando l’addestramento termina, il framework raggiunge un punteggio di accuratezza del 44,8 dopo aver visualizzato un totale di 400 miliardi di token.

BIG-Bench o Benchmark oltre il gioco dell’imitazione

Il benchmark delle complesse sfide di BIG-Bench o Oltre il gioco dell’imitazione mette alla prova la capacità di un modello di conoscenza, di ragionamento e di senso comune. Come dimostrato nelle seguenti figure, in configurazione zero-shot, il framework GLM-130B supera i framework PaLM 540B e GPT-3 175B, il che potrebbe essere dovuto a MIP e all’attenzione del contesto bidirezionale per potenziare le prestazioni del GLM-130B in compiti non visti in configurazione zero-shot. Inoltre, all’aumentare del numero di scatti, le prestazioni del framework GLM-130B migliorano anche, superando costantemente il framework GPT-3.

CLUE o Valutazione della comprensione del linguaggio cinese

Le prestazioni zero-shot del GLM-130B in cinese vengono valutate su compiti di benchmark NLP consolidati, compresi CLUE e FewCLUE, e vengono confrontate con ERNIE Titan 3.0 260B, il più grande modello di linguaggio cinese esistente. Come si può osservare, il framework GLM-130B supera costantemente il framework ERNIE Titan 3.0 260B in 12 compiti diversi e si comporta quasi il 260% meglio del framework ERNIE su due set di dati MRC astrattivi.

Conclusioni

In questo articolo abbiamo parlato di GLM-130B , un grande modello di linguaggio preaddestrato bilingue che mira a promuovere la ricerca inclusiva di LLM. L’architettura, l’ingegneria e gli sforzi tecnici mirano a fornire alla comunità AI una migliore comprensione dell’architettura dei framework LLM, dell’efficienza e della stabilità dell’addestramento, degli obiettivi di preaddestramento e dell’interferenza conveniente.