GPT-3 Apprendimento a pochi esempi per il modello di linguaggio?

GPT-3 Apprendimento a pochi esempi per il modello di linguaggio?' -> 'GPT-3 Apprendimento a pochi esempi?

Negli ultimi anni, l’industria dell’IA e del ML ha assistito ad una crescita meteorica nello sviluppo e nell’applicazione dei sistemi NLP, poiché i ricercatori sono stati in grado di implementare pratiche NLP in modo altamente flessibile e indipendente dal compito per trasferire a valle.

Inizialmente, erano le rappresentazioni a singolo strato che utilizzavano vettori di parole e venivano successivamente alimentate all’architettura specifica del compito. Successivamente, è stata l’architettura RNN che utilizzava rappresentazioni a più strati e stato contestuale per formare rappresentazioni migliori. E più recentemente, abbiamo i modelli di lingua di trasferimento o modelli ricorrenti pre-addestrati che hanno completamente eliminato la necessità di architetture specifiche del compito mediante il raffinamento di questi reti.

I modelli di lingua di trasferimento si sono rivelati un punto di svolta importante nell’industria NLP in quanto hanno portato a progressi enormi su compiti impegnativi come rispondere a domande, comprensione della lettura o blocchi di testo, implicazione testuale e molto altro.

Tuttavia, nonostante i loro vantaggi, i modelli di lingua di trasferimento hanno un limite importante in quanto richiedono un raffinamento specifico del compito o un set di dati specifico del compito per ottenere le prestazioni desiderate su un compito. Inoltre, i modelli di lingua di trasferimento richiedono anche agli sviluppatori di adattare i set di dati a centinaia di migliaia di esempi specifici per un compito particolare.

Non è necessario dire che eliminare la necessità di set di dati specifici del compito e il raffinamento specifico del compito sarebbe molto desiderabile e vantaggioso per l’industria NLP per numerosi motivi.

Problemi con i modelli di lingua di trasferimento o modelli ricorrenti pre-addestrati esistenti

  • Limitazione della praticità e dell’applicabilità

Innanzitutto, il requisito di un grande set di dati con dati etichettati per ogni compito limita l’applicabilità e la praticità dei modelli di lingua. I modelli di lingua trovano applicazione in una vasta gamma di compiti che vanno dalla generazione di una breve storia alla correzione di errori grammaticali alla generazione di esempi su un concetto. A volte, è un compito difficile raccogliere un grande set di dati supervisionati con dati etichettati, soprattutto quando il processo deve essere ripetuto per ogni compito individuale.

  • Sfruttamento di correlazioni spurie nei dati di addestramento

Le limitazioni e la strettezza della distribuzione di addestramento unite all’espressività del modello possono portare a una crescita fondamentale del potenziale per sfruttare correlazioni spurie nei dati di addestramento. Il potenziale per sfruttare i dati di addestramento può causare problemi durante il paradigma di raffinamento e pre-addestramento perché i modelli di lingua di trasferimento sono progettati in modo da assorbire una grande quantità di informazioni durante il pre-addestramento.

Inoltre, i lavori su modelli precedenti hanno indicato che modelli di grandi dimensioni non sempre producono risultati migliori al di fuori della distribuzione. Inoltre, è stato anche indicato che la generalizzazione ottenuta in un tale paradigma può portare a prestazioni scadenti principalmente perché il modello è altamente specifico ai dati di addestramento e non può performare bene in situazioni al di fuori dello scopo dei dati di addestramento.

  • Confronto con l’apprendimento umano

Infine, rispetto ai modelli di lingua di trasferimento, gli esseri umani non richiedono un grande set di dati di addestramento quando si tratta di apprendere la maggior parte dei compiti linguistici. Spesso, una breve direttiva nella lingua naturale di una persona o una piccola dimostrazione del compito linguistico è sufficiente per un essere umano per comprendere e svolgere un compito linguistico con un certo livello di competitività.

La capacità di adattamento degli esseri umani ha numerosi vantaggi pratici in quanto consente loro di passare da un insieme di abilità all’altro o di mescolarli insieme per svolgere meglio durante un dialetto, qualcosa che va oltre le capacità dei sistemi NLP attuali.

Superare i problemi con il Meta Learning e GPT-3

Una possibile soluzione alle sfide sopra descritte è l’uso del meta learning, un concetto nell’ML moderna che consente a un modello di sviluppare un insieme più ampio e più vasto di abilità e capacità per riconoscere i modelli durante l’addestramento, e utilizza poi queste abilità apprese durante l’interferenza per adattarsi rapidamente o riconoscere il compito richiesto.

Il Meta Learning viene implementato nell’architettura del modello di lingua tramite una tecnica chiamata “apprendimento in contesto” che utilizza l’input di testo di un modello di lingua pre-addestrato come specifica del compito. Nel processo, il modello si basa su un’istruzione in linguaggio naturale e potrebbe anche utilizzare alcune dimostrazioni, e ci si aspetta che il modello completi il resto del compito prevedendo i passaggi successivi.

L’unico problema principale del Meta Learning è che, sebbene abbia mostrato un potenziale positivo, è ancora inferiore all’approccio di raffinamento nell’architettura del linguaggio naturale e ha bisogno di ulteriori miglioramenti per diventare un metodo pratico per superare i compiti linguistici.

Oltre all’apprendimento meta, un altro metodo che sta guadagnando popolarità è aumentare la capacità dei modelli di linguaggio transformer. Negli ultimi anni, i modelli di trasferimento hanno registrato un aumento sostanziale della loro capacità con il modello RNSS18 con 100 milioni di parametri, il modello DCLT18 con 300 milioni di parametri, il modello RWC19 con 1,5 miliardi di parametri, il modello SSP19 con 8 miliardi di parametri, il modello RSR19 con 11 miliardi di parametri e il modello TUR20 con 17 miliardi di parametri.

Aumentare la capacità del modello o aumentare i parametri ha storicamente portato a miglioramenti nella sintesi del testo, e c’è stata un’indicazione che la log loss, che correla con i compiti successivi, segue anche un trend di miglioramento con la scala.

Ciò ci porta al modello GPT-3 che ha oltre 175 miliardi di parametri e, al momento del suo lancio, era il modello di linguaggio di trasferimento con la capacità più elevata. Parliamo ora del modello GPT-3.

Un’introduzione al modello GPT-3

GPT-3 è un modello di linguaggio auto-regressivo con oltre 175 miliardi di parametri rilasciato da OpenAI nel 2020. GPT-3 è anche classificato come un grande modello di linguaggio che, proprio come il suo predecessore, il modello GPT-2, è un modello di trasformazione di apprendimento profondo solo decoder che utilizza un’architettura basata su convoluzione per generare dati testuali.

Il modello GPT-3 misura le proprie capacità di apprendimento contestuale ed è valutato su oltre due dozzine di set di dati NLP e su molteplici compiti innovativi. Per ogni singolo compito, il modello GPT-3 viene valutato in tre condizioni:

  • Apprendimento Few Shot o Apprendimento In-Context: Nell’apprendimento few shot, il modello GPT-3 consente tante distribuzioni che possono adattarsi bene alla finestra di contesto del modello.
  • Apprendimento One Shot: Nell’apprendimento one shot, il modello consente una sola dimostrazione.
  • Apprendimento Zero Shot: Nell’apprendimento zero shot, non ci sono dimostrazioni e viene fornita solo un’istruzione in linguaggio naturale al modello.

In generale, il modello GPT-3 raggiunge prestazioni desiderate nelle impostazioni zero-shot e one-shot e, nell’impostazione few-shot, supera la maggior parte delle volte i modelli di trasferimento state-of-the-art. Inoltre, il modello GPT-3 si comporta bene nelle impostazioni one-shot e zero-shot nei compiti di linguaggio naturale progettati per testare il ragionamento “on the fly” o che richiedono attenzione rapida come l’uso di parole nuove dopo una frase, lo scomponimento di parole o l’esecuzione di operazioni aritmetiche. D’altra parte, quando viene utilizzato in un’imp

L’attuale ambito del modello GPT-3 non implementa l’approccio di fine-tuning a causa delle sue prestazioni task-agnostic, anche se il fine-tuning potrebbe essere applicato al modello GPT-3 in futuro.

Few Shot

Few Shot è un termine che si riferisce all’impostazione in cui al modello GPT-3 vengono fornite alcune dimostrazioni del compito durante l’interferenza come condizionamento, ma i pesi del modello non vengono aggiornati. Nelle impostazioni few shot, il dataset di solito ha un esempio con un contesto e un completamento desiderato (ad esempio, una frase in francese e la sua traduzione in inglese). L’impostazione few shot fornisce al modello K esempi di contesto e completamento e quindi fornisce al modello un contesto finale e si aspetta che il modello fornisca il completamento.

Il vantaggio principale dell’utilizzo dell’impostazione few shot è che riduce significativamente la necessità di dati specifici per il compito e riduce anche la possibilità di apprendere una distribuzione ristretta da un grande dataset che è stato fine-tuned in modo stretto. D’altra parte, lo svantaggio principale dell’utilizzo dell’apprendimento few shot è che i risultati ottenuti nell’impostazione few shot non sono all’altezza e significativamente scarsi se confrontati con altri modelli di ultima generazione che sono stati fine-tuned.

One Shot

Nell’impostazione one shot, al modello viene fornita solo una singola dimostrazione e il resto è simile all’impostazione few shot. Il motivo per cui l’impostazione one shot è rilevante nei modelli di trasferimento del linguaggio è perché, tra tutte e tre le impostazioni, one shot è quella che assomiglia di più al modo in cui i compiti vengono comunicati agli esseri umani. Questo perché nella maggior parte dei compiti è comune fornire una sola dimostrazione del compito altrimenti potrebbe essere difficile comprendere il contesto del compito.

Zero Shot

Nell’impostazione zero shot, non ci sono dimostrazioni e al modello viene fornita un’istruzione in linguaggio naturale che descrive il compito. Il metodo zero shot è quello che offre il massimo livello di comodità, è robusto e evita anche correlazioni spurie, ma è anche il più sfidante tra tutte e tre le impostazioni. Questo perché in alcuni casi, è difficile anche per noi esseri umani capire il contesto di un compito senza vedere prima una dimostrazione.

In ogni caso, per alcuni compiti, l’impostazione zero shot è quella che assomiglia di più al modo in cui gli esseri umani svolgono compiti in linguaggio naturale.

La figura sopra confronta l’impostazione few shot, one shot e zero shot quando si esegue un compito di linguaggio naturale che consiste nel prendere una frase in inglese e tradurla in francese.

GPT-3: Architettura del Modello

Il modello GPT-3 utilizza la stessa architettura utilizzata nel modello GPT-2 e include tecniche di pre-normalizzazione, inizializzazione modificata e tokenizzazione reversibile come sono state utilizzate nel modello GPT con l’eccezione dell’utilizzo di una strategia alternativa per i modelli di attenzione sparso con pattern localmente banded e layer densi alternati nei layer del trasformatore, simile a Sparse Transformer.

Per studiare la dipendenza delle prestazioni del modello dalla dimensione del modello, gli sviluppatori hanno addestrato 8 diverse dimensioni di modelli che vanno da 125 milioni a oltre 175 miliardi di parametri, l’ultimo dei quali è chiamato il modello GPT-3. Lavori precedenti relativi ai modelli LLM hanno indicato che la scalatura della perdita di validazione con una quantità sufficiente di dati di addestramento dovrebbe essere approssimativamente una legge di potenza liscia come funzione della dimensione. L’addestramento di modelli di dimensioni diverse consente agli sviluppatori di testare l’ipotesi sia per i compiti di linguaggio downstream che per la perdita di validazione.

La figura sopra confronta la dimensione e l’architettura delle 8 diverse modelli utilizzati per lo sviluppo di GPT-3. Qui, n(params) definisce il numero totale di pattern addestrabili, n(layers) definisce il numero totale di layer nel modello, d(model) definisce il numero di unità in ogni layer del bottleneck e d(head) definisce le dimensioni di ogni attenzione. La finestra di contesto per ogni modello è la stessa con 2048 token.

Inoltre, per ridurre al minimo il trasferimento di dati tra i nodi, il modello viene suddiviso tra le GPU lungo la profondità e la larghezza delle dimensioni. I parametri architettonici per ciascun modello sono stati scelti sulla base dell’efficienza computazionale e del bilanciamento del carico per massimizzare la precisione nella disposizione dei modelli tra le GPU.

Set di dati di addestramento

In genere, i grandi modelli di linguaggio utilizzano set di dati che si sono ampliati significativamente con gli sviluppi recenti e che culminano nel set di dati di Common Crawl, composto da oltre un trilione di parole diverse. La dimensione del set di dati è sufficiente per addestrare il modello GPT-3 senza aggiornarlo più volte sulla stessa sequenza. Tuttavia, studi e analisi delle prestazioni indicano che le versioni leggermente filtrate o non filtrate del set di dati di Common Crawl presentano una bassa qualità rispetto a set di dati più curati.

Per affrontare il problema della qualità media del set di dati, gli sviluppatori hanno adottato 3 misure per migliorarne la qualità.

  1. Gli sviluppatori hanno scaricato e filtrato una versione del set di dati di Common Crawl basata su un intervallo simile a quello dei corpus di riferimento di alta qualità.
  2. Gli sviluppatori hanno effettuato una duplicazione sfumata a livello di documento in tutto il set di dati nel tentativo di preservare l’integrità del set di convalida come misura efficace dell’overfitting e di prevenire la ridondanza.
  3. Gli sviluppatori hanno aggiunto anche corpus di riferimento di alta qualità ai dati di addestramento per ampliare il set di dati e aumentarne ulteriormente la diversità.

Nella figura seguente viene mostrata la proporzione finale o la miscela dei set di dati utilizzati per addestrare il modello GPT-3. I dati di Common Crawl consistevano in oltre 45 TB di testo in chiaro prima del filtraggio, che è stato ridotto a 570 GB di dati dopo il filtraggio, equivale a circa 400 miliardi di token codificati in byte-pair. Vale la pena notare che i set di dati di addestramento considerati di alta qualità sono campionati con maggiore frequenza rispetto ai set di dati proporzionalmente più grandi. Di conseguenza, set di dati come Books2 e Common Crawl vengono campionati meno di una volta durante l’addestramento, mentre gli altri set di dati vengono campionati più volte. Ciò consente al modello di accettare una piccola quantità di overfitting in cambio di un addestramento su dati di addestramento di qualità superiore.

Una preoccupazione significativa con i grandi modelli di linguaggio che vengono preaddestrati su una grande quantità di dati Internet, con la capacità di memorizzare e apprendere una grande quantità di contenuti, è la potenziale contaminazione delle attività in cui vengono utilizzati i modelli, avendo visto durante il processo di preaddestramento i set di sviluppo o di test. Per ridurre tale potenziale contaminazione, gli sviluppatori hanno cercato eventuali sovrapposizioni con i set di test e di sviluppo dei benchmark studiati per GPT-3 e hanno cercato di rimuovere tali sovrapposizioni.

L’immagine sopra mostra il calcolo totale utilizzato durante l’addestramento del modello GPT-3. Il modello utilizza le leggi di scala per i modelli di linguaggio neurale per addestrare modelli molto più grandi su un numero inferiore di token rispetto al normale. Di conseguenza, sia il modello GPT-3 che il modello RoBERTa-Large, che è 10 volte più piccolo del modello GPT-3, hanno richiesto quasi 50 petaflop/giorno di calcolo durante il processo di preaddestramento.

Valutazione

Per l’apprendimento a pochi esempi, il modello valuta ogni esempio presente nel set di dati di valutazione, attingendo casualmente K esempi dal set di dati di addestramento del compito come condizionamento e delimitandolo con 1 o 2 nuove righe a seconda del compito. Per Storycloze e LAMBADA, il modello attinge esempi di condizionamento dal set di sviluppo e li valuta sul set di test a causa dell’indisponibilità di un set di addestramento supervisionato. Per Winograd, esiste solo un set di dati, quindi gli esempi di condizionamento sono estratti direttamente da esso.

K può essere qualsiasi valore compreso tra 0 e il massimo consentito dalla finestra di contesto del modello, che per tutti i modelli è next = 2048, e di solito può contenere circa 10-100 esempi. Valori più grandi di K spesso producono risultati migliori, ma non sempre, motivo per cui quando il modello dispone di un set di test e di un set di sviluppo separato, viene sperimentato con alcuni valori di K sul set di sviluppo e, in base ai risultati, viene eseguito il miglior valore sul set di test.

Inoltre, per i compiti che richiedono la selezione di un completamento corretto tra più opzioni, gli sviluppatori forniscono K esempi di completamento del contesto corretto, seguiti da un esempio di solo contesto, e i compiti vengono quindi confrontati in base alla probabilità del modello linguistico di ciascun completamento. Per i compiti che richiedono una classificazione binaria, i modelli spesso forniscono opzioni in modo più semantico e con nomi più significativi, e poi trattano il compito come una scelta multipla, talvolta anche formulando il compito in modo simile a quanto fatto dal modello e dall’architettura RSR.

Per le attività che richiedono il completamento libero, il modello utilizza la ricerca a fascio con gli stessi parametri utilizzati nel framework RSR, con un fascio di lunghezza 4 e una penalità del 0,6. Il modello viene quindi valutato utilizzando il punteggio di similarità F1, corrispondenza esatta o BLEU, a seconda dello standard per il dataset.

Risultati

La figura sopra mostra le curve di allenamento per gli 8 modelli utilizzati nell’architettura del modello GPT-3, come descritto nelle sezioni precedenti. Similmente ai risultati del modello di linguaggio KMH, le prestazioni del modello GPT-3 seguono una legge corretta quando si utilizza efficacemente il calcolo dell’allenamento. C’è una leggera differenza dalla legge solo quando la tendenza viene estesa di due ordini di grandezza in più. Potrebbe venire in mente alle persone che i miglioramenti nella perdita di entropia incrociata potrebbero essere il risultato della modellazione di dettagli spurii del corpus di allenamento. Tuttavia, i miglioramenti nella perdita di entropia incrociata portano a guadagni consistenti nelle prestazioni complessive in una vasta gamma di varietà di compiti di NLP.

Prima di valutare i 8 diversi modelli su un’ampia gamma di dati di addestramento, i dataset vengono raggruppati in 8 diverse categorie che rappresentano compiti simili. Queste categorie sono

  1. Valutazione delle tradizionali attività di modellazione del linguaggio e delle attività simili alla modellazione del linguaggio come compiti Cloze o di completamento di frasi/paragrafi.
  2. Valutazione delle capacità del modello di rispondere a domande “closed-book”.
  3. Valutazione delle capacità del modello di tradurre tra lingue (in particolare one-shot e few-shot).
  4. Valutazione delle prestazioni del modello su compiti simili allo schema di Winograd.
  5. Valutazione su dataset che coinvolgono ragionamento di buon senso o risposta a domande.
  6. Valutazione su compiti di comprensione della lettura.
  7. Valutazione sulla suite di benchmark SuperGLUE.
  8. Esplorazione di NLI.

Modellazione del Linguaggio, Completamento e Compiti Cloze

In questa sezione, viene valutata la performance del modello GPT-3 su compiti tradizionali di modellazione del linguaggio e su compiti che richiedono la previsione di una singola parola di interesse, il completamento di un paragrafo o di una frase, o il completamento di un pezzo di testo. Discutiamoli brevemente.

Modellazione del Linguaggio

Il modello GPT-3 calcola la perplessità a zero-shot sul dataset PTB o Penn Tree Bank. Il modello omette le attività legate a Wikipedia perché sono già incluse nei dati di addestramento del modello, e viene omesso anche il benchmark di un miliardo di parole perché crea una quantità significativa di attrito con il dataset che è all’interno dei dati di addestramento. Tuttavia, il dataset PTB affronta questi problemi perché può precedere l’internet moderno. Il modello più grande nell’architettura del modello GPT-3 supera il nuovo SOTA sul dataset PTB di un margine significativo di 15 punti e raggiunge una perplessità di 20,50.

LAMBADA

Il dataset LAMBADA viene utilizzato per testare la capacità del modello di modellare dipendenze a lungo raggio in paragrafi o testi. Significa che viene chiesto al modello di prevedere l’ultima parola di una frase dopo aver letto il paragrafo per contesto. Inoltre, la scalatura continua dei modelli di linguaggio produce rendimenti decrescenti sul benchmark.

Il modello GPT-3 raggiunge un’accuratezza del 76% su LAMBADA e ottiene un guadagno di oltre l’8% rispetto ai modelli precedenti. Inoltre, il modello LAMBADA dimostra la flessibilità dell’apprendimento few-shot in quanto affronta il problema in modo che si presenti classica con il dataset. Il completamento di una frase in LAMBADA è di solito l’ultima parola della frase, ma poiché un modello di linguaggio non può saperlo, assegna una probabilità non solo alla fine corretta, ma anche ad altre continuazioni nel paragrafo.

Inoltre, quando gli esempi forniti al modello GPT-3 vengono modificati in un certo modo, il modello restituisce un’accuratezza superiore all’86%, un aumento di oltre il 18% rispetto ai modelli precedenti. Inoltre, i risultati indicano anche che le prestazioni del modello in un ambiente few-shot aumentano proporzionalmente con l’aumento delle dimensioni del modello. Sebbene questa strategia riduca le dimensioni del modello più piccolo nell’architettura del GPT-3 del 20%, migliora l’accuratezza del modello GPT-3 primario con 175 miliardi di parametri del 10%.

Doma di Risposta alle Domande a Libro Chiuso

Il Doma di Risposta alle Domande a Libro Chiuso è un tentativo di misurare la capacità del modello GPT-3 di rispondere a domande basate su una vasta conoscenza di fatti. Poiché tali domande spesso hanno un elevato numero di possibili interrogazioni, il compito viene generalmente raggiunto utilizzando un sistema di recupero delle informazioni che consente al modello di trovare testi pertinenti in combinazione con il modello che apprende a generare una risposta a partire dai testi recuperati e dalla domanda.

L’immagine sopra confronta i risultati del modello GPT-3 con diversi modelli e con l’utilizzo di diversi set di dati. Nel set di dati TriviaQA, il modello raggiunge un punteggio di accuratezza del 64,3% nella modalità zero-shot, mentre raggiunge un punteggio di accuratezza del 68% e del 71,2% rispettivamente nelle modalità one-shot e few-shot.

È evidente che il modello GPT-3 nella modalità zero-shot supera il modello T5-11B sottoposto a fine-tuning di oltre il 14%.

La figura sopra mostra come le prestazioni del modello GPT-3 aumentano gradualmente con l’aumento delle dimensioni del modello. Le prestazioni suggeriscono che i modelli di linguaggio continuano a imparare dal set di dati man mano che aumenta la loro capacità.

Riflessioni Finali

Si può tranquillamente affermare che GPT-3 è stata una fase rivoluzionaria nell’industria dei modelli di linguaggio, poiché ha contribuito a spingere i limiti di ciò che un modello di linguaggio poteva fare. Sono stati gli sviluppi compiuti e gli ostacoli superati da GPT-3 a preparare il terreno per il modello di linguaggio di grandi dimensioni più avanzato e accurato fino ad oggi, il GPT-4.