Intelligenza artificiale
GLM-130B: Un modello di pre-training bilingue aperto

La struttura GLM-130B è un modello di linguaggio bilingue pre-addestrato di grandi dimensioni con oltre 130 miliardi di parametri in grado di generare output di testo in inglese e cinese. La struttura GLM-130B è un tentativo di aprire un modello linguistico a una scala di oltre 100 miliardi di parametri e discutere di come le strutture di tale larga scala possano essere pre-addestrate, poiché attualmente, l’addestramento di un modello di tale larga scala è spesso accompagnato da problemi come la divergenza e le perdite improvvise.
In questo articolo, parleremo della struttura GLM-130B, che tenta di elaborare un metodo per pre-addestrare efficacemente modelli di linguaggio di grandi dimensioni con centinaia di miliardi di parametri. Faremo un’analisi approfondita del funzionamento e dell’architettura della struttura GLM-130B, nonché del processo di addestramento e delle scelte di progettazione che non solo aiutano ad aumentare l’efficienza, ma anche la stabilità. Gli esperimenti iniziali condotti per testare il funzionamento della struttura GLM-130B su una vasta gamma di benchmark in inglese hanno portato al modello GLM-130B che supera il modello GPT-3 attualmente in uso di una considerevole misura. Quindi, iniziamo a esplorare come la struttura GLM-130B fornisce risultati coerenti, precisi e stabili.
Introduzione alla struttura GLM-130B
I grandi modelli di linguaggio in grado di operare in impostazioni a pochi colpi e a zero colpi, in particolare quelli con oltre 100 miliardi di parametri, presentano leggi di scala attraenti, tra cui il framework GPT-3 è uno dei framework più performanti che fornisce notevoli miglioramenti delle prestazioni rispetto al suo predecessore, il framework BERT. Tuttavia, nonostante la popolarità del framework GPT-3 e le sue ampie applicazioni, il processo di addestramento e, in alcuni modi, il framework GPT-3 stesso è stato non trasparente al pubblico. Inoltre, elencare empiricamente tutti i possibili progetti per l’addestramento di LLM con oltre 100 miliardi di parametri è computazionalmente non sostenibile, il che rende ancora più critico elaborare un metodo di pre-addestramento per framework LLM di larga scala.
Il punto sopra menzionato rende condivisibile il funzionamento e il processo di addestramento di framework LLM di alta qualità e larga scala come GPT-3 di grande valore, e tenendo presente le preoccupazioni etiche, la struttura GLM-130B è un tentativo di pre-addestrare un LLM preciso e open-source con oltre 100 miliardi di parametri. Durante il corso del loro tentativo, il team di sviluppo GLM-130B ha osservato che il pre-addestramento di un framework LLM di larga scala è spesso accompagnato da una vasta gamma di sfide tecniche e ingegneristiche in termini di stabilità di pre-addestramento, efficienza e convergenza.
Per essere più specifici, il GLM-130B è un framework denso bidirezionale e bilingue con oltre 130 miliardi di parametri, pre-addestrato su 400 miliardi di token su un cluster di 96 nodi GPU NVIDIA DGX-A100 nel corso di quasi due mesi. Inoltre, invece di optare per l’architettura GPT-style, la struttura GLM-130B utilizza l’algoritmo GLM o General Language Model, un modello di linguaggio basato su transformer che tenta di sfruttare gli obiettivi di riempimento autoregressivo dei vuoti e il vantaggio dell’attenzione bidirezionale. La seguente tabella confronta la struttura 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 nella struttura GLM-130B superano quasi ogni framework LLM di larga scala, tra cui GPT-3 e PaLM 540B con oltre 500 miliardi di parametri, in molti casi e in una vasta gamma di benchmark. La seguente figura confronta le prestazioni della struttura GLM-130B con modelli con oltre 100 miliardi di parametri e, come si può vedere, la struttura GLM-130B ha una tossicità e un pregiudizio di generazione significativamente inferiori rispetto ai suoi omologhi.

Infine, il GLM-130B è stato progettato per consentire a molti sviluppatori di condurre studi su framework con oltre 100 miliardi di parametri e ci sono due modi in cui la struttura GLM-130B raggiunge questo obiettivo. In primo luogo, invece di utilizzare oltre 175 miliardi di parametri come BLOOM e OPT, la struttura GLM-130B utilizza 130 miliardi di parametri, poiché le dimensioni del modello supportano l’interferenza anche su un solo server A100. In secondo luogo, i requisiti GPU per eseguire la struttura GLM-130B sono inferiori rispetto ad altri framework LLM e la struttura GLM-130B raggiunge questo obiettivo quantizzando il framework originale in precisione INT4. La quantizzazione INT4 utilizzata dalla struttura GLM-130B migliora le prestazioni mantenendo un degrado 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 progetti architettonici per grandi modelli di linguaggio, dati i limiti di sostenibilità e fattibilità computazionale. Detto questo, analizziamo l’architettura del GLM-130B.
I framework LLM di larga scala come PaLM, GPT e altri hanno oltre 100 miliardi di parametri e sono costruiti sull’architettura GPT-style convenzionale per la modellazione del linguaggio autoregressivo. D’altra parte, la struttura GLM-130B esplora la possibilità di utilizzare un modello di linguaggio generale bidirezionale o GLM, un modello di linguaggio basato su transformer che tenta di sfruttare il riempimento autoregressivo dei vuoti come obiettivo di addestramento, come base.
L’attenzione bidirezionale del modello di linguaggio generale su contesti non corrotti o non mascherati è ciò che distingue la struttura 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 combina due strategie di corruzione, ciascuna indicata con un token di maschera speciale e univoco.
- [MASK] : [MASK] è una strategia di corruzione che utilizza spazi vuoti brevi nelle frasi, la cui lunghezza aggiunge fino a una certa percentuale dell’input.
- [gMASK] : [gMASK] è una strategia di corruzione che utilizza spazi vuoti casuali verso la fine della frase con i contesti del prefisso.
L’approccio seguito dal framework GLM è ciò che consente al framework di registrare un punteggio di accuratezza dell’80% su zero-shot LAMBADA language modeling e supera sia il framework PaLM 540B che il framework GPT-3.

Normalizzazione del livello
Una delle principali sfide affrontate dagli sviluppatori quando si addestra un framework LLM è l’instabilità di addestramento e l’utilizzo di una normalizzazione del livello (LN) appropriata potrebbe aiutare con l’addestramento dei LLM. La struttura GLM-130B utilizza un approccio Post-LN grazie alle sue prestazioni sui compiti downstream.
FFN e codifica posizionale
Le reti neurali feedforward (FFN) e la codifica posizionale sono due approcci adottati dalla struttura GLM-130B per introdurre prestazioni downstream di alto livello e stabilità di addestramento.
Impostazione pre-addestramento
Gli obiettivi di pre-addestramento della struttura GLM-130B includono non solo l’apprendimento multi-task per un piccolo numero di token, ma anche l’apprendimento auto-supervisionato GLM per il riempimento autoregressivo dei vuoti, con l’aspettativa che questo approccio aiuterà la struttura GLM-130B nei compiti downstream. Detto questo, l’impostazione pre-addestramento della struttura GLM-130B è la seguente.
Riempimento dei vuoti auto-supervisionato
Come già menzionato, la struttura GLM-130B utilizza due strategie di corruzione, ovvero [MASK] e [gMASK], e una di queste strategie è applicata indipendentemente a ogni sequenza di addestramento, una alla volta. Per riempire i vuoti, la strategia [MASK] maschera span consecutivi nel 30% della sequenza di addestramento, la cui lunghezza aggiunge fino al 15% dell’input e segue una distribuzione di Poisson. Per il restante 70% della sequenza, il prefisso di ogni sequenza viene mantenuto come contesto e la strategia [gMASK] aiuta a mascherare il resto, e la lunghezza mascherata viene quindi campionata utilizzando la distribuzione uniforme.
Pre-addestramento delle istruzioni multi-task
È stato indicato che seguire un approccio di apprendimento multi-task per il pre-addestramento dei modelli può fornire risultati migliori rispetto alla fine-tuning, per migliorare il trasferimento di compiti in un’impostazione zero-shot. Di conseguenza, la struttura GLM-130B propone di utilizzare una serie di dataset di istruzioni promosse, tra cui generazione del linguaggio, comprensione e estrazione di informazioni durante il pre-addestramento.
Quando confrontato con altri approcci per il trasferimento di compiti zero-shot che utilizzano il fine-tuning multi-task, l’approccio di pre-addestramento delle istruzioni multi-task seguito dalla struttura GLM-130B rappresenta solo il 5% dei token totali e viene impostato durante la fase di pre-addestramento nel tentativo di prevenire la rottura di altre capacità del framework LLM o, in altre parole, la generazione incondizionata gratuita.
Strategia di parallelismo 3D
Ci sono due pratiche de facto per l’addestramento di modelli di larga scala con miliardi di parametri, il parallelismo del modello tensoriale e il parallelismo dei dati. Nel tentativo di minimizzare l’utilizzo della GPU e gestire le immense esigenze della GPU, la struttura GLM-130B implementa una strategia di parallelismo 3D che combina la strategia di parallelismo del modello pipeline con il parallelismo del modello tensoriale e il parallelismo dei dati.
GLM-130B: Stabilità di addestramento
La stabilità di addestramento è un fattore importante quando si determina la qualità di un LLM e la stabilità di addestramento è influenzata fortemente a seconda del numero di token che passa. Inoltre, è vitale stabilire un compromesso tra stabilità ed efficienza in relazione ai formati a virgola mobile, dati i vincoli di calcolo. Ad esempio, i formati a virgola mobile a bassa precisione aumentano l’efficienza del calcolo, ma spesso risultano in crolli di addestramento, poiché sono soggetti a errori di underflow e overflow.
Precisione mista
Nel tentativo di aumentare la precisione di addestramento e ridurre l’utilizzo della memoria, la struttura GLM-130B segue la pratica comune di utilizzare precisioni miste, ovvero FP16 per il forward e il backward e FP32 per i pesi master e gli stati dell’ottimizzatore. Come altri framework LLM popolari, tra cui BLOOM-176B e OPT-175B, la fase di addestramento della struttura GLM-130B utilizzando la strategia di precisione mista affronta frequenti picchi di perdita e la frequenza di questi picchi di perdita tende ad aumentare man mano che il modello continua ad addestrarsi. Inoltre, ci sono problemi importanti che gli sviluppatori affrontano quando scalano i transformer.

In primo luogo, la scala dei valori del ramo principale del transformer può essere vasta nei livelli più profondi quando si utilizza il Pre-LN e nella struttura GLM-130B, viene affrontato utilizzando un Pre-LN basato su DeepNorm, che garantisce che la scala dei valori rimanga limitata in tutti i momenti. In secondo luogo, man mano che il modello si scala, i punteggi di attenzione crescono fino a superare la gamma di FP16.
Riduzione del gradiente del livello di incorporamento o EGS
Gli sviluppatori che lavorano sulla struttura GLM-130B hanno identificato che la norma del gradiente può agire come un indicatore informativo per i crolli di addestramento e un crollo di addestramento solitamente segue un picco nella norma del gradiente. La causa di questi picchi è i gradienti anormali del livello di incorporamento e gli sviluppatori hanno osservato che, rispetto alla norma del gradiente di altri livelli, la norma del gradiente dei livelli di incorporamento è più grande di diverse grandezze e tende a fluttuare drasticamente durante l’addestramento iniziale del framework. I modelli di visione affrontano anche questo problema e viene gestito congelando il livello di proiezione del patch. Tuttavia, lo stesso approccio non può essere applicato ai LLM, poiché nei modelli di linguaggio non è possibile congelare i livelli di proiezione.

GLM-130B: Risultati e prestazioni
Per valutare le prestazioni del GLM-130B per i compiti in inglese, vengono implementate le stesse impostazioni seguite da framework LLM comuni, tra cui PaLM e GPT-3 e poiché il GLM-130B è un framework bilingue, viene anche valutato su diversi benchmark cinesi. Le prestazioni della struttura GLM-130B verranno misurate su più benchmark, tra cui modellazione del linguaggio, MMLU o comprensione del linguaggio multitasking massiccia, BIG-Bench o Beyond the Imitation Game Benchmark e CLUE o Chinese Language Understanding Evaluation. Quindi, iniziamo.
Modellazione del linguaggio
Il test di modellazione del linguaggio sulla struttura 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 della parola finale dei LLM e la struttura GLM-130B raggiunge un punteggio di accuratezza zero-shot dell’80,2% in un’impostazione bilingue e, di conseguenza, stabilisce un nuovo record di benchmark sul set di dati LAMBADA.
D’altra parte, Pile è un set di test che comprende una serie di benchmark per i modelli di linguaggio. In media, rispetto al GPT-3 e al Jurassic-1, la struttura GLM-130B fornisce le migliori prestazioni su 18 set di test condivisi in termini di BPB ponderati. I risultati dimostrano le forti capacità linguistiche della struttura GLM-130B e i risultati sono inclusi nella tabella seguente.

MMLU o comprensione del linguaggio multitasking massiccia
MMLU o comprensione del linguaggio multitasking massiccia è un benchmark diversificato che comprende oltre 50 attività di risposta a domande a scelta multipla relative all’intelligenza e alla conoscenza umana, che vanno dal livello scolastico a quello esperto e viene rilasciato dopo l’acquisizione del set di test Pile, e quindi serve come test ideale per valutare le capacità di apprendimento a pochi colpi di un LLM.

Come si può vedere, in un’impostazione a pochi colpi (5-shot), le prestazioni della struttura GLM-130B si avvicinano a quelle del modello GPT-3 dopo aver visualizzato quasi 300 miliardi di token. Le prestazioni continuano a migliorare man mano che l’addestramento procede e, quando l’addestramento si conclude, il framework raggiunge un punteggio di accuratezza del 44,8% dopo aver visualizzato un totale di 400 miliardi di token.
BIG-Bench o Beyond the Imitation Game Benchmark
BIG-Bench o Beyond the Imitation Game Benchmark è un compito impegnativo che testa la capacità del modello di conoscenza, ragionamento e buon senso. Come dimostrato nella figura seguente, in un’impostazione zero-shot, la struttura GLM-130B supera sia il framework PaLM 540B che il framework GPT-3 175B, il che potrebbe essere dovuto al MIP e all’attenzione del contesto bidirezionale per aumentare le prestazioni del GLM-130B in compiti non visti in un’impostazione zero-shot. Inoltre, man mano che il numero di colpi aumenta, le prestazioni della struttura GLM-130B migliorano anche, superando costantemente il framework GPT-3.

CLUE o Chinese Language Understanding Evaluation
Le prestazioni zero-shot cinesi del GLM-130B vengono valutate su attività di benchmark NLP stabilite, tra cui CLUE e FewCLUE, e vengono confrontate con il modello di linguaggio cinese più grande esistente, il 260B ERNIE Titan 3.0. Come si può osservare, la struttura GLM-130B supera costantemente il framework 260B ERNIE Titan 3.0 su 12 diversi compiti e si esegue quasi il 260% meglio del framework ERNIE su due set di dati MRC astratti.

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










