Intelligenza artificiale
GPT-3 : Few Shot Learning per il Modello Linguistico?

Negli ultimi anni, l’industria AI e ML ha assistito a una crescita meteorica nello sviluppo e nell’applicazione dei sistemi NLP, poiché i ricercatori sono stati in grado di implementare pratiche NLP in modi altamente flessibili e agnostici per le attività di trasferimento downstream.
Inizialmente, si trattava di rappresentazioni a livello singolo che utilizzavano vettori di parole e venivano quindi alimentate all’architettura specifica del compito. Successivamente, è stata utilizzata l’architettura RNN che utilizzava rappresentazioni multilivello e stato contestuale per formare rappresentazioni migliori. E più di recente, abbiamo i modelli linguistici di trasferimento o modelli ricorrenti pre-addestrati che hanno completamente rimosso la necessità di architetture specifiche del compito attraverso il fine-tuning di queste reti.
I modelli linguistici di trasferimento si sono rivelati un punto di svolta importante nell’industria NLP, poiché hanno portato a enormi progressi in compiti impegnativi come la risposta a domande, la comprensione di testi o blocchi di testo, l’implicazione testuale e molto altro.
Tuttavia, nonostante i loro vantaggi, i modelli linguistici di trasferimento hanno una limitazione importante, poiché richiedono un fine-tuning specifico del compito o un set di dati specifico del compito per raggiungere le prestazioni desiderate in un compito. Inoltre, i modelli linguistici di trasferimento richiedono anche agli sviluppatori di fine-tuning i set di dati con centinaia di migliaia di esempi specifici di un particolare compito.
Va da sé che rimuovere la necessità di un set di dati specifico del compito e di un fine-tuning specifico del compito sarà altamente desiderabile e benefico per l’industria NLP per numerosi motivi.
Problemi con i modelli linguistici di trasferimento pre-addestrati esistenti o modelli ricorrenti
- Limitazione della praticità e dell’applicabilità
In primo luogo, la necessità di un grande set di dati con dati etichettati per ogni compito limita la praticità e l’applicabilità dei modelli linguistici. I modelli linguistici trovano le loro applicazioni in una vasta gamma di compiti che vanno dalla generazione di una storia breve alla correzione di errori grammaticali, alla generazione di esempi su un concetto. A volte, può essere un compito impegnativo raccogliere un grande set di dati supervisionato con dati etichettati, specialmente 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, associate all’espressività del modello, possono risultare in una crescita fondamentale della capacità di sfruttare correlazioni spurie nei dati di addestramento. La capacità di sfruttare i dati di addestramento può risultare in problemi durante il fine-tuning e il pre-addestramento, poiché i modelli linguistici di trasferimento sono progettati per assorbire una grande quantità di informazioni durante il pre-addestramento.
Inoltre, il lavoro sui modelli precedenti ha indicato che i grandi modelli non risultano sempre in migliori risultati fuori dalla distribuzione. Inoltre, è stato anche indicato che la generalizzazione ottenuta in tale paradigma può risultare in una prestazione scarsa, principalmente perché il modello è altamente specifico per i dati di addestramento e non può eseguire bene situazioni al di fuori dell’ambito dei dati di addestramento.
- Confronto con l’apprendimento umano
Infine, quando si confrontano i modelli linguistici di trasferimento con l’apprendimento umano, gli esseri umani non richiedono un grande set di dati di addestramento quando si tratta di apprendere la maggior parte dei compiti linguistici. La maggior parte delle volte, una breve direttiva nella lingua naturale di una persona o una piccola dimostrazione del compito linguistico è sufficiente per consentire a un essere umano di comprendere e eseguire un compito linguistico con un certo livello di competitività.
La capacità degli esseri umani di adattarsi ha numerosi vantaggi pratici, poiché consente loro di passare da un set di abilità all’altro o di combinarle per eseguire meglio durante un dialetto, qualcosa che è al di fuori delle capacità degli attuali sistemi NLP.
Affrontare i problemi con l’apprendimento meta e GPT-3
Una possibile soluzione alle sfide sopra menzionate è l’utilizzo dell’apprendimento meta, un concetto nella moderna ML che consente a un modello di sviluppare un insieme più ampio e più ampio di abilità e capacità di riconoscimento di modelli durante l’addestramento, e quindi utilizza queste abilità apprese durante l’interferenza per adattarsi rapidamente o riconoscere il compito richiesto.
L’apprendimento meta viene implementato nell’architettura del modello linguistico attraverso una tecnica chiamata “apprendimento in contesto” che utilizza l’input di testo di un modello linguistico pre-addestrato come specificazione del compito. Nel processo, il modello si condiziona su un istruzione in lingua naturale e potrebbe anche utilizzare alcune dimostrazioni, e il modello è quindi atteso a completare il resto del compito prediligendo i passaggi successivi.
L’unico problema importante con l’apprendimento meta è che, sebbene abbia mostrato un potenziale positivo, è ancora inferiore all’approccio di fine-tuning nella architettura linguistica naturale e necessita di ulteriori miglioramenti per diventare un metodo pratico per superare i compiti linguistici.
Oltre all’apprendimento meta, un altro metodo che sta guadagnando popolarità è l’aumento della capacità dei modelli linguistici di trasformazione. Negli ultimi anni, i modelli di trasferimento hanno assistito a 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.
L’aumento della capacità del modello o l’aumento dei parametri ha storicamente portato a miglioramenti nella sintesi del testo e c’è stato un indicazione che la perdita logaritmica, che si correla con i compiti downstream, segue anche una tendenza liscia di miglioramento con la scala.
Ciò ci porta al modello GPT-3 che ha oltre 175 miliardi di parametri e, quando è stato lanciato, era il modello linguistico di trasferimento con la maggiore capacità. Parliamo ora del modello GPT-3.
Introduzione al modello GPT-3
Il GPT-3 è un modello linguistico autoaggressivo con oltre 175 miliardi di parametri che è stato rilasciato da OpenAI nel 2020. Il GPT-3 è anche classificato come un modello linguistico grande che, come il suo predecessore il modello GPT-2, è un modello di trasformazione di apprendimento profondo decoder-only che utilizza un’architettura basata su convoluzione per generare dati testuali.
Il modello GPT-3 misura le proprie capacità di apprendimento del contesto e il modello GPT-3 è valutato su oltre due dozzine di set di dati NLP e su compiti multipli. Per ogni compito individuale, il modello GPT-3 è valutato in tre condizioni,
- Apprendimento a pochi colpi o apprendimento in contesto: Nell’apprendimento a pochi colpi, il modello GPT-3 consente quante distribuzioni possono adattarsi bene alla finestra di contesto del modello.
- Apprendimento a un colpo: Nell’apprendimento a un colpo, il modello consente solo una dimostrazione.
- Apprendimento a zero colpi: Nell’apprendimento a zero colpi, non ci sono dimostrazioni e c’è solo un’istruzione in lingua naturale che viene alimentata al modello.

In generale, il modello GPT-3 raggiunge le prestazioni desiderate in impostazioni a zero colpi e a un colpo e, nell’impostazione a pochi colpi, supera i modelli di trasferimento attuali nella maggior parte dei casi. Inoltre, il modello GPT-3 si esegue bene in impostazioni a un colpo e a zero colpi in compiti linguistici naturali progettati per testare la ragione sul volo o richiedere un’attenzione rapida come l’uso di nuove parole dopo una frase, o lo sblocco di parole, o l’esecuzione di operazioni aritmetiche.

Modello GPT-3: approccio
Il modello GPT-3 utilizza un approccio di pre-addestramento convenzionale che comprende modello, dati e addestramento e assomiglia al processo di pre-addestramento seguito dal modello di trasferimento RWC-19. Il modello GPT-3 aumenta le dimensioni del modello, le dimensioni del set di dati, la diversità del set di dati e aumenta la lunghezza del periodo di addestramento.
Il modello utilizza anche un approccio di apprendimento in contesto che, ancora una volta, assomiglia all’approccio del modello RWC-19, ma modifica le cose sistematicamente esplorando diverse impostazioni per l’apprendimento di modelli all’interno del contesto del set di dati.
Quindi, iniziamo esplorando queste impostazioni e valutiamo come il modello GPT-3 si esegue in diverse impostazioni.
Fine-tuning
Il fine-tuning del modello è stato l’approccio convenzionale nei modelli linguistici di trasferimento e questo approccio prevede l’aggiornamento dei pesi di un modello pre-addestrato addestrando il modello su un set di dati supervisionato specifico del compito desiderato e utilizzando centinaia di migliaia di esempi etichettati durante il processo.
L’approccio di fine-tuning è benefico perché restituisce prestazioni forti in numerosi benchmark. D’altra parte, la principale limitazione dell’utilizzo dell’approccio di fine-tuning è che richiede un nuovo set di dati grande per ogni compito individuale, ha la capacità di sfruttare caratteristiche spurie del set di dati di addestramento, può potenzialmente comportare un confronto ingiusto con le prestazioni umane e una generalizzazione scarsa per la distribuzione fuori dal set di dati.
L’attuale portata del modello GPT-3 non implementa l’approccio di fine-tuning a causa della sua prestazione agnostica del compito, sebbene il fine-tuning possa essere applicato al modello GPT-3 in futuro.
Pochi colpi
Pochi colpi è un termine che si riferisce all’impostazione in cui il modello GPT-3 viene fornito con alcune dimostrazioni del compito durante l’interferenza come condizionamento, ma i pesi del modello non vengono aggiornati. Nelle impostazioni a pochi colpi, il set di dati di solito ha un esempio con un contesto e un completamento desiderato (ad esempio, una frase francese e la sua traduzione inglese). L’impostazione a pochi colpi fornisce al modelloK esempi di contesto e completamento e quindi fornisce al modello un contesto finale e si aspetta che il modello fornisca il completamento.
Il principale vantaggio dell’utilizzo dell’impostazione a pochi colpi è che riduce notevolmente la necessità di dati specifici del compito e riduce anche la capacità di apprendere una distribuzione ristretta da un grande set di dati fine-tuning ristretto. D’altra parte, il principale svantaggio dell’utilizzo dell’apprendimento a pochi colpi è che i risultati forniti nell’impostazione a pochi colpi non sono all’altezza e sono significativamente scarsi rispetto ad altri modelli attuali che sono fine-tuning.
Un colpo
Nell’impostazione a un colpo, il modello viene fornito con una sola dimostrazione e il resto è simile all’impostazione a pochi colpi. Il motivo per cui l’impostazione a un colpo è rilevante nei modelli linguistici di trasferimento è che, tra le tre impostazioni, l’impostazione a un colpo è quella che assomiglia di più al modo in cui i compiti vengono comunicati agli esseri umani. È perché, nella maggior parte dei compiti, è comune fornire una sola dimostrazione del compito, altrimenti potrebbe essere difficile capire il contesto del compito.
Zero colpi
Nell’impostazione a zero colpi, non ci sono dimostrazioni e il modello viene fornito con un’istruzione in lingua naturale che descrive il compito. Il metodo a zero colpi è quello che offre la massima convenienza, è robusto e evita anche le correlazioni spurie, ma è anche l’impostazione più impegnativa. È perché, in alcuni casi, è difficile persino per noi esseri umani capire il contesto di un compito senza vedere una dimostrazione per prima.
Tuttavia, per alcuni compiti, l’impostazione a zero colpi è quella che assomiglia di più a come gli esseri umani eseguono i compiti linguistici naturali.

La figura sopra confronta l’impostazione a pochi colpi, l’impostazione a un colpo e l’impostazione a zero colpi quando si esegue un compito linguistico naturale di traduzione di una frase inglese in francese.
Modello GPT-3: architettura
Il modello GPT-3 utilizza la stessa architettura utilizzata nel modello GPT-2 e include pre-normalizzazione, inizializzazione modificata e tecniche di tokenizzazione reversibili come quelle utilizzate nel modello GPT con l’eccezione dell’utilizzo di una strategia alternativa per modelli di attenzione localmente a banda e layer densi alternati nei layer di trasformazione, simili al Sparse Transformer.
Per studiare la dipendenza delle prestazioni del modello dalle dimensioni del modello, gli sviluppatori hanno addestrato 8 diverse dimensioni di modello che vanno su tre diverse ordini di grandezza da 125 milioni a oltre 175 miliardi di parametri, l’ultimo dei quali è chiamato modello GPT-3. Lavori precedenti relativi ai modelli LLM hanno indicato che la scala della perdita di convalida con una quantità sufficiente di dati di addestramento dovrebbe essere una legge di potenza liscia approssimativa come funzione della dimensione. L’addestramento di modelli di diverse dimensioni consente agli sviluppatori di testare l’ipotesi sia per i compiti linguistici downstream che per la perdita di convalida.

La figura sopra confronta le dimensioni e l’architettura degli 8 diversi modelli utilizzati per lo sviluppo del modello GPT-3. Qui, n(param) definisce il numero totale di modelli addestrabili, n(layer) definisce il numero totale di layer nel modello, d(model) definisce il numero di unità in ogni layer del collo di bottiglia e d(head) definisce le dimensioni di ogni testa di attenzione. La finestra di contesto per ogni modello è la stessa con 2048 token.
Inoltre, per minimizzare il trasferimento di dati tra i nodi, il modello è suddiviso tra le GPU lungo la profondità e la larghezza delle dimensioni. I parametri architettonici per ogni modello sono stati scelti sulla base dell’efficienza computazionale e dell’equilibrio del carico per massimizzare la precisione nella disposizione dei modelli tra le GPU.
Set di dati di addestramento
Di solito, i grandi modelli linguistici utilizzano set di dati che sono aumentati notevolmente con gli sviluppi recenti e culminano nel set di dati Common Crawl che consiste in oltre un trilione di parole diverse. La dimensione del set di dati è sufficiente per addestrare il modello GPT-3 senza aggiornare lo stesso sequence più volte. Tuttavia, studi e analisi delle prestazioni indicano che versioni leggermente filtrate o non filtrate del set di dati Common Crawl hanno una qualità inferiore rispetto a set di dati più curati.
Per affrontare il problema della qualità media del set di dati, gli sviluppatori hanno preso 3 passaggi per aumentare la qualità del set di dati.
- Gli sviluppatori hanno scaricato e filtrato una versione del set di dati Common Crawl in base a un intervallo simile a corpora di riferimento di alta qualità.
- Gli sviluppatori hanno eseguito la duplicazione fuzzy a livello di documento nel set di dati nel tentativo di preservare l’integrità del set di convalida messo da parte come misura efficace di sovraddestramento e per evitare la ridondanza.
- Gli sviluppatori hanno anche aggiunto corpora di riferimento di alta qualità ai dati di addestramento per arricchire il set di dati Common Crawl e aumentare ulteriormente la diversità del set di dati.
La figura seguente mostra la proporzione finale o la miscela dei set di dati utilizzati per l’addestramento del modello GPT-3. I dati Common Crawl consistevano in oltre 45 TB di testo semplice prima della filtrazione che è stato ridotto a 570 GB di dati dopo la filtrazione, un equivalente approssimativo di oltre 400 miliardi di token di coppia di byte. È degno di nota che i set di dati considerati di alta qualità nel set di addestramento vengono campionati con maggiore frequenza invece di campionare il set di dati in proporzione alle loro dimensioni. 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 sovraddestramento in cambio dell’addestramento su dati di addestramento di alta qualità.

Una preoccupazione significativa per i grandi modelli linguistici pre-addestrati su una grande quantità di dati di Internet con la capacità di memorizzare e apprendere una grande quantità di contenuti è la potenziale contaminazione dei compiti downstream avendo i loro set di sviluppo o test visti durante il pre-addestramento. Per ridurre tale potenziale contaminazione, gli sviluppatori hanno cercato eventuali sovrapposizioni con i set di test e sviluppo dei benchmark studiati per GPT-3 e hanno tentato di rimuovere queste sovrapposizioni.

La figura sopra mostra il calcolo totale utilizzato durante l’addestramento del modello GPT-3. Il modello utilizza le leggi di scala per i modelli linguistici neurali per addestrare modelli molto più grandi su meno token rispetto al solito. 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 petaflops/giorno di calcolo durante il pre-addestramento.
Valutazione
Per l’apprendimento a pochi colpi, il modello valuta ogni esempio presente nel set di dati di valutazione disegnando K esempi casualmente dal set di dati di addestramento del compito come condizionamento e delimitandolo con 1 o 2 nuove righe a seconda del compito.
K può essere qualsiasi valore che va da 0 al massimo consentito dalla finestra di contesto del modello che è next = 2048 per tutti i modelli e di solito contiene da 10 a 100 esempi. Valori più grandi di K spesso producono risultati migliori, ma non sempre, quindi quando il modello ha un set di test e un set di sviluppo separato disponibile, il modello esegue alcuni valori di K sul set di sviluppo e, in base ai risultati, esegue il miglior valore sul set di test.
Inoltre, sui compiti che richiedono la selezione di un completamento corretto tra più opzioni, gli sviluppatori forniscono K esempi di correzione più contesto e completamento, e quindi forniscono al modello un contesto finale e lo confrontano in base alla probabilità LM di ogni completamento. Per i compiti che richiedono una classificazione binaria, i modelli spesso forniscono opzioni più semantiche e con nomi più significativi e quindi trattano il compito come una scelta multipla e a volte lo inquadrano anche in modo simile a quanto fatto dal modello RSR e dall’architettura.
Per i compiti che richiedono un completamento a forma libera, il modello utilizza la ricerca a fascio con parametri identici a quelli utilizzati nel framework RSR, con un fascio di lunghezza 4 e una penalità di 0,6. Il modello viene quindi valutato utilizzando il punteggio di similarità F1, la corrispondenza esatta o BLEU, a seconda dello standard per il set di dati.
Risultati

La figura sopra mostra le curve di addestramento per gli 8 modelli utilizzati nell’architettura del modello GPT-3, come descritto nelle sezioni precedenti. Simili ai risultati del modello linguistico KMH, le prestazioni del modello GPT-3 seguono una legge di potenza quando si utilizza il calcolo di addestramento in modo efficace. C’è una leggera differenza dalla legge solo quando la tendenza viene estesa di due ordini di grandezza. Potrebbe sembrare che i miglioramenti nella perdita di entropia siano il risultato di modellare dettagli spurii del corpus di addestramento. Tuttavia, i miglioramenti nella perdita di entropia portano a guadagni consistenti nelle prestazioni generali in una vasta gamma di compiti NLP.
Prima di valutare i diversi modelli su una vasta gamma di dati di addestramento, i set di dati vengono raggruppati in 8 diverse categorie che rappresentano compiti simili. Queste categorie sono
- Valutazione sui compiti di modellazione linguistica tradizionale e compiti che assomigliano alla modellazione linguistica come compiti di chiusura o completamento di frasi/paragrafi.
- Valutazione sui compiti di risposta a domande “a libro chiuso”.
- Valutazione della capacità del modello di tradurre tra lingue (specialmente a un colpo e a pochi colpi)
- Valutazione delle prestazioni del modello sui compiti del tipo Winograd.
- Valutazione sui set di dati che coinvolgono ragionamento basato sul senso comune o risposta a domande.
- Valutazione sui compiti di comprensione della lettura.
- Valutazione sul benchmark suite SuperGLUE.
- Esplorazione della NLI.
Modellazione linguistica, completamento e compiti di chiusura
In questa sezione, le prestazioni del modello GPT-3 vengono valutate sui compiti di modellazione linguistica tradizionale e sui compiti che richiedono la previsione di una singola parola di interesse o il completamento di un paragrafo o una frase o il completamento di un pezzo di testo. Discutiamoli in breve dettaglio.
Modellazione linguistica
Il modello GPT-3 calcola la perplessità a zero colpi sul set di dati PTB o Penn Tree Bank. Il modello omette i compiti relativi a Wikipedia perché sono già inclusi nei dati di addestramento del modello e il benchmark di un miliardo di parole viene omesso perché causa una quantità significativa di frizione dei dati nel set di addestramento. Tuttavia, il set di dati PTB affronta questi problemi perché può predatare l’Internet moderno. Il modello più grande nell’architettura del modello GPT-3 stabilisce un nuovo SOTA sul set di dati PTB con un margine notevole di 15 punti e raggiunge una perplessità di 20,50.
LAMBADA
Il set di dati LAMBADA viene utilizzato per testare la modellazione del modello sulle dipendenze a lungo raggio in paragrafi o testi. Ciò significa che il modello viene chiesto di prevedere l’ultima parola di una frase dopo aver letto il paragrafo per il contesto. Inoltre, la scala continua dei modelli linguistici produce rendimenti decrescenti sul benchmark.

Il modello GPT-3 raggiunge un’accuratezza del 76% su LAMBADA e ha un guadagno di oltre l’8% rispetto ai migliori modelli precedenti. Inoltre, il modello LAMBADA dimostra la flessibilità dell’apprendimento a pochi colpi poiché ha affrontato il problema in un modo che si verifica classicamente con il set di dati. Il completamento di una frase in LAMBADA è di solito l’ultima parola della frase, ma poiché un modello linguistico non può sapere che, assegna una probabilità non solo alla fine corretta, ma anche ad altre continuazioni nel paragrafo.
Inoltre, quando gli esempi alimentati al modello GPT-3 vengono modificati in un certo modo, il modello restituisce un’accuratezza di oltre l’86%, un aumento di oltre il 18% rispetto ai modelli precedenti. Inoltre, i risultati hanno anche indicato che le prestazioni del modello in un’impostazione a pochi colpi aumentano proporzionalmente con l’aumento delle dimensioni del modello. Sebbene questa strategia riduca il modello più piccolo nell’architettura del modello GPT-3 del 20%, aumenta l’accuratezza del modello GPT-3 principale con 175 miliardi di parametri del 10%.
Risposta a domande “a libro chiuso”
La risposta a domande “a libro chiuso” è un tentativo di misurare la capacità del modello GPT-3 di rispondere a domande in base a una conoscenza fattuale ampia. Poiché tali domande spesso hanno un numero elevato di possibili query, il compito viene normalmente eseguito utilizzando un sistema di recupero delle informazioni che consente al modello di trovare testo rilevante in combinazione con il modello che apprende a generare una risposta a una domanda data il testo recuperato e la domanda.

La figura sopra confronta il risultato per il modello GPT-3 rispetto a diversi modelli e in esecuzione su diversi set di dati. Sul set di dati TriviaQA, il modello raggiunge un punteggio di accuratezza del 64,3% nell’impostazione a zero colpi, mentre raggiunge un punteggio di accuratezza del 68% e del 71,2% nelle impostazioni a un colpo e a pochi colpi rispettivamente.
È evidente che il modello GPT-3 nell’impostazione a zero colpi supera il modello T5-11B fine-tuning di oltre il 14%.

La figura sopra mostra che le prestazioni del modello GPT-3 aumentano regolarmente con l’aumento delle dimensioni del modello. Le prestazioni suggeriscono che i modelli linguistici continuano a imparare dal set di dati man mano che la loro capacità aumenta.
Pensieri finali
Sarebbe sicuro dire che il GPT-3 è stato una fase rivoluzionaria nell’industria LLM, poiché il GPT-3 ha aiutato a spingere i limiti di ciò che un modello linguistico poteva fare. Sono stati gli sviluppi e gli ostacoli superati dal GPT-3 che hanno aperto la strada al modello linguistico più avanzato e preciso attualmente, il GPT-4.












