Intelligenza artificiale

GLM-130B: Un Modello di Linguaggio Bilingue Pre-Addestrato Aperto

mm

Il framework 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. Il framework GLM-130B è un tentativo di aprire un modello di linguaggio alla scala di oltre 100 miliardi di parametri e discutere come i framework di tale scala possono essere pre-addestrati, poiché attualmente l’addestramento di un modello di tale scala è spesso accompagnato da problemi come la divergenza e le perdite di picco.

In questo articolo, parleremo del framework GLM-130B, che tenta di elaborare un metodo per pre-addestrare efficacemente i modelli di linguaggio di grandi dimensioni con centinaia di miliardi di parametri. Esamineremo più da vicino il funzionamento e l’architettura del framework GLM-130B, nonché il processo di addestramento e le 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 uno stato dell’arte di una considerevole misura. Quindi, iniziamo a esplorare come il framework GLM-130B fornisce risultati così coerenti, precisi e stabili.

Introduzione al Framework GLM-130B

I modelli di linguaggio di grandi dimensioni in grado di operare in ambienti di few-shot e zero-shot, in particolare quelli con oltre 100 miliardi di parametri, presentano leggi di scala attraenti, e il framework GPT-3 è uno dei migliori framework 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 i framework LLM di grandi dimensioni.

Il punto sopra menzionato rende condivisibile il funzionamento e il processo di addestramento dei framework LLM di alta qualità e di grandi dimensioni come GPT-3 di grande valore, e con le preoccupazioni etiche tenute presenti, il framework GLM-130B è un tentativo di pre-addestrare un modello di linguaggio aperto e preciso con oltre 100 miliardi di parametri. Durante il corso del loro tentativo, il team di sviluppo del framework GLM-130B ha osservato che l’addestramento di un framework LLM di grandi dimensioni è 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, il framework GLM-130B utilizza l’algoritmo GLM o General Language Model nel tentativo di sfruttare gli obiettivi di addestramento autoregressivo e l’attenzione bidirezionale. La seguente tabella 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 di grandi dimensioni, 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 del framework GLM-130B con modelli con oltre 100 miliardi di parametri, e come si può vedere, il framework GLM-130B ha una tossicità di generazione e un pregiudizio significativamente inferiori rispetto ai suoi omologhi.

Infine, il GLM-130B è stato progettato per consentire a molti sviluppatori di condurre studi sui 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, poiché le dimensioni del modello supportano l’interferenza anche su un solo 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 raggiunge questo obiettivo quantizzando il framework originale in 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 progetti architettonici per i modelli di linguaggio di grandi dimensioni, dati i limiti di sostenibilità e affordabilità computazionale. Detto questo, esaminiamo l’architettura del GLM-130B.

I framework LLM di grandi dimensioni 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, il framework GLM-130B esplora la possibilità di utilizzare un modello di linguaggio generale bidirezionale o GLM, un modello di linguaggio basato su trasformatori che mira a sfruttare il riempimento autoregressivo dei vuoti come obiettivo di addestramento, come fondamento.

L’attenzione bidirezionale del modello di linguaggio generale sulle sequenze di testo non corrotte o non mascherate è ciò che separa 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 combina due strategie di corruzione, ciascuna delle quali è indicata con un token di maschera speciale e unico.

  • [MASK] : [MASK] è una strategia di corruzione che utilizza spazi vuoti brevi nelle frasi, le lunghezze dei quali si aggiungono fino a una certa percentuale dell’input.
  • [gMASK] : [gMASK] è una strategia di corruzione che utilizza spazi vuoti 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 accuratezza del 80% su zero-shot LAMBADA language modeling, e supera sia il framework PaLM 540B che il framework GPT-3.

Normalizzazione dei Layer

Una delle principali sfide affrontate dagli sviluppatori quando si addestrano un framework LLM è l’instabilità di addestramento, e l’utilizzo di una LN (Layer Normalization) appropriata potrebbe aiutare con l’addestramento dei LLM. Il framework 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 dal framework GLM-130B per introdurre prestazioni di alta qualità e stabilità di addestramento.

Impostazione di Pre-Addestramento

Gli obiettivi di pre-addestramento del framework GLM-130B non includono solo l’apprendimento multi-task per un piccolo numero di token, ma anche il riempimento autoregressivo dei vuoti del GLM, con l’aspettativa che questo approccio aiuterà il framework GLM-130B nei compiti downstream. Detto questo, l’impostazione di pre-addestramento del framework GLM-130B sembra la seguente.

Riempimento Autoregressivo dei Vuoti

Come già menzionato, il framework 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 spazi consecutivi nel 30% della sequenza di addestramento, dove le lunghezze degli spazi si aggiungono 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 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 ambiente di zero-shot. Di conseguenza, il framework GLM-130B propone di utilizzare una serie di dataset di istruzioni promosse durante il pre-addestramento, tra cui la generazione del linguaggio, la comprensione e l’estrazione delle informazioni.

In confronto ad altri approcci per il trasferimento di compiti di zero-shot che utilizzano la fine-tuning multi-task, l’approccio di pre-addestramento delle istruzioni multi-task seguito dal framework GLM-130B rappresenta solo il 5% dei token totali, e viene stabilito durante la fase di pre-addestramento nel tentativo di evitare di rovinare 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 grandi dimensioni 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 di GPU, il framework GLM-130B implementa una strategia di parallelismo 3D che combina il 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, è fondamentale stabilire un compromesso tra stabilità ed efficienza in relazione ai formati di punto fluttuante, dati i vincoli di calcolo. Ad esempio, i formati di punto fluttuante a bassa precisione aumentano l’efficienza di calcolo, ma spesso risultano in collassi di addestramento, poiché sono soggetti a errori di underflow e overflow.

Precisione Mista

Nel tentativo di aumentare l’accuratezza di addestramento e ridurre l’utilizzo della memoria, il framework GLM-130B segue la pratica comune di utilizzare precisioni miste, ovvero FP16 per sia il forward che il backward, e FP32 per sia i pesi master che gli stati dell’ottimizzatore. Come altri framework LLM popolari, 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 questi picchi di perdita tende ad aumentare man mano che il modello continua ad addestrarsi. Inoltre, ci sono problemi significativi che gli sviluppatori affrontano quando scalano i trasformatori.

In primo luogo, la scala dei valori del ramo principale del trasformatore può essere vasta nei livelli più profondi quando si utilizza il Pre-LN, e nel framework 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 dell’Embedding-Layer o EGS

Gli sviluppatori che lavorano sul framework GLM-130B hanno identificato che la norma del gradiente può agire come un indicatore informativo per i collassi di addestramento, e un collasso di addestramento solitamente segue un picco nella norma del gradiente. La causa di questi picchi è costituita dai gradienti anormali del livello di embedding, e gli sviluppatori hanno osservato che, rispetto alla norma del gradiente degli altri livelli, la norma del gradiente dei livelli di embedding è più grande di diverse grandezze e tende a fluttuare drammaticamente durante la fase iniziale di addestramento 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 framework GLM-130B per i compiti in inglese, vengono implementate le stesse impostazioni seguite dai framework LLM comuni, tra cui PaLM e GPT-3, e poiché il framework GLM-130B è un framework bilingue, viene anche valutato su diversi benchmark cinesi. Le prestazioni del framework GLM-130B verranno misurate su più benchmark, tra cui Modellazione del Linguaggio, MMLU o Comprensione del Linguaggio Multitask Massiva, BIG-Bench o Oltre il Benchmark del Gioco dell’Imitazione, e CLUE o Valutazione della Comprensione del Linguaggio Cinese. Quindi, iniziamo.

Modellazione del Linguaggio

Il test di modellazione del linguaggio sul framework GLM-130B viene eseguito su due dataset: LAMBADA e Pile.

Il dataset LAMBADA viene utilizzato per testare le capacità di modellazione della parola finale dei LLM, e il framework GLM-130B raggiunge un punteggio di accuratezza zero-shot dell’80,2% in un ambiente bilingue, e stabilisce un nuovo record di benchmark sul dataset LAMBADA.

D’altra parte, Pile è un set di test che comprende una serie di benchmark per i modelli di linguaggio. In media, in confronto al framework GPT-3 e Jurassic-1, il framework GLM-130B fornisce le sue 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 seguente.

MMLU o Comprensione del Linguaggio Multitask Massiva

MMLU o Comprensione del Linguaggio Multitask Massiva è 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 di few-shot di un LLM.

Come si può vedere, in un ambiente di few-shot (5-shot), le prestazioni del framework 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 Oltre il Benchmark del Gioco dell’Imitazione

BIG-Bench o Oltre il Benchmark del Gioco dell’Imitazione testa la capacità di un modello di conoscenza, ragionamento e senso comune. Come dimostrato nelle figure seguenti, in un ambiente di zero-shot, il framework GLM-130B supera sia il framework PaLM 540B che il framework GPT-3 175B, il che potrebbe essere dovuto al MIP e all’attenzione bidirezionale per migliorare le prestazioni del framework GLM-130B in compiti non visti in un ambiente di zero-shot. Inoltre, man mano che il numero di shot aumenta, le prestazioni del framework GLM-130B migliorano, superando costantemente il framework GPT-3.

CLUE o Valutazione della Comprensione del Linguaggio Cinese

Le prestazioni di zero-shot del framework GLM-130B in cinese vengono valutate su benchmark NLP stabiliti, 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, il framework GLM-130B supera costantemente il modello 260B ERNIE Titan 3.0 su 12 compiti diversi, e si esegue quasi il 260% meglio del framework ERNIE su due dataset di estrazione di informazioni astrattive.

Conclusione

In questo articolo, abbiamo parlato del framework 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à di intelligenza artificiale una migliore comprensione dell’architettura dei framework LLM, dell’efficienza di addestramento e della stabilità, degli obiettivi di pre-addestramento e dell’interferenza conveniente.

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.