mozzicone La PNL aumenta con i modelli Transformer | Un'analisi completa di T5, BERT e GPT - Unite.AI
Seguici sui social

Intelligenza Artificiale

La PNL aumenta con i modelli Transformer | Un'analisi completa di T5, BERT e GPT

mm

Pubblicato il

 on

Guida sulla PNL

L'elaborazione del linguaggio naturale (NLP) ha sperimentato alcune delle scoperte di maggior impatto negli ultimi anni, principalmente grazie all'architettura del trasformatore. Queste scoperte non solo hanno migliorato le capacità delle macchine di comprendere e generare il linguaggio umano, ma hanno anche ridefinito il panorama di numerose applicazioni, dai motori di ricerca all’intelligenza artificiale conversazionale.

Per apprezzare appieno l'importanza dei trasformatori, dobbiamo prima guardare indietro ai predecessori e agli elementi costitutivi che hanno gettato le basi per questa architettura rivoluzionaria.

Le prime tecniche di PNL: i fondamenti prima dei trasformatori

Incorporamenti di parole: da One-Hot a Word2Vec

Negli approcci tradizionali della PNL, la rappresentazione delle parole era spesso letterale e priva di qualsiasi forma di comprensione semantica o sintattica. La codifica one-hot è un ottimo esempio di questa limitazione.

La codifica one-hot è un processo mediante il quale le variabili categoriali vengono convertite in una rappresentazione vettoriale binaria in cui solo un bit è "caldo" (impostato a 1) mentre tutti gli altri sono "freddi" (impostati a 0). Nel contesto della PNL, ogni parola in un vocabolario è rappresentata da vettori one-hot in cui ogni vettore ha la dimensione del vocabolario e ogni parola è rappresentata da un vettore con tutti 0 e un 1 nell'indice corrispondente a quella parola in l'elenco dei vocaboli.

Esempio di codifica One-Hot

Supponiamo di avere un piccolo vocabolario con solo cinque parole: [“re”, “regina”, “uomo”, “donna”, “bambino”]. I vettori di codifica one-hot per ciascuna parola sarebbero simili a questi:

  • “re” -> [1, 0, 0, 0, 0]
  • “regina” -> [0, 1, 0, 0, 0]
  • “uomo” -> [0, 0, 1, 0, 0]
  • “donna” -> [0, 0, 0, 1, 0]
  • “bambino” -> [0, 0, 0, 0, 1]

Rappresentazione matematica

Se indichiamo come la dimensione del nostro vocabolario e come rappresentazione vettoriale univoca della i-esima parola nel vocabolario, la rappresentazione matematica di sarebbe:

dove la i-esima posizione è 1 e tutte le altre posizioni sono 0.

Lo svantaggio principale della codifica one-hot è che tratta ogni parola come un'entità isolata, senza alcuna relazione con le altre parole. Il risultato sono vettori sparsi e ad alta dimensione che non catturano alcuna informazione semantica o sintattica sulle parole.

L’introduzione degli incorporamenti di parole, in particolare Word2Vec, è stato un momento cruciale nella PNL. Sviluppato da un team di Google guidato da Tomas Mikolov nel 2013, Word2Vec rappresentava le parole in uno spazio vettoriale denso, catturando le relazioni sintattiche e semantiche delle parole in base al loro contesto all'interno di grandi corpora di testo.

A differenza della codifica one-hot, Word2Vec produce vettori densi, tipicamente con centinaia di dimensioni. Le parole che appaiono in contesti simili, come “re” e “regina”, avranno rappresentazioni vettoriali più vicine tra loro nello spazio vettoriale.

A scopo illustrativo, supponiamo di aver addestrato un modello Word2Vec e ora di rappresentare le parole in un ipotetico spazio tridimensionale. Gli incorporamenti (che di solito sono più che 3D ma qui ridotti per semplicità) potrebbero assomigliare a questo:

  • “re” -> [0.2, 0.1, 0.9]
  • “regina” -> [0.21, 0.13, 0.85]
  • “uomo” -> [0.4, 0.3, 0.2]
  • “donna” -> [0.41, 0.33, 0.27]
  • “bambino” -> [0.5, 0.5, 0.1]

Sebbene questi numeri siano fittizi, illustrano come parole simili abbiano vettori simili.

Rappresentazione matematica

Se rappresentiamo l'incorporamento Word2Vec di una parola come , e il nostro spazio di incorporamento ha dimensioni, quindi può essere rappresentato come:

Relazioni semantiche

Word2Vec può anche catturare relazioni complesse, come le analogie. Ad esempio, la famosa relazione catturata dagli incorporamenti di Word2Vec è:

vettore(“re”) – vettore(“uomo”) + vettore(“donna”)≈vettore(“regina”)

Ciò è possibile perché Word2Vec regola i vettori delle parole durante l'addestramento in modo che le parole che condividono contesti comuni nel corpus siano posizionate strettamente nello spazio vettoriale.

Word2Vec utilizza due architetture principali per produrre una rappresentazione distribuita delle parole: Continuous Bag-of-Words (CBOW) e Skip-Gram. CBOW prevede una parola di destinazione dalle parole di contesto circostanti, mentre Skip-Gram fa il contrario, prevedendo le parole di contesto da una parola di destinazione. Ciò ha consentito alle macchine di iniziare a comprendere l’uso e il significato delle parole in un modo più sfumato.

Modellazione di sequenze: RNN e LSTM

Con il progredire del campo, l’attenzione si è spostata verso la comprensione delle sequenze di testo, che era cruciale per attività come la traduzione automatica, il riepilogo del testo e l’analisi del sentiment. Le reti neurali ricorrenti (RNN) sono diventate la pietra angolare di queste applicazioni grazie alla loro capacità di gestire dati sequenziali mantenendo una forma di memoria.

Tuttavia, le RNN non erano prive di limitazioni. Hanno lottato con dipendenze a lungo termine a causa del problema del gradiente evanescente, in cui le informazioni si perdono in sequenze lunghe, rendendo difficile apprendere le correlazioni tra eventi distanti.

Reti di memoria a breve termine (LSTM), introdotte da Sepp Hochreiter e Jürgen Schmidhuber nel 1997, ha risolto questo problema con un'architettura più sofisticata. Gli LSTM hanno porte che controllano il flusso di informazioni: la porta di ingresso, la porta di dimenticanza e la porta di uscita. Queste porte determinano quali informazioni vengono archiviate, aggiornate o scartate, consentendo alla rete di preservare le dipendenze a lungo termine e migliorare significativamente le prestazioni su un'ampia gamma di attività di PNL.

L'architettura del trasformatore

Il panorama della PNL ha subito una drammatica trasformazione con l’introduzione del modello del trasformatore nel documento fondamentale “L’attenzione è tutto ciò di cui hai bisogno” di Vaswani et al. nel 2017. L'architettura del trasformatore si discosta dall'elaborazione sequenziale di RNN e LSTM e utilizza invece un meccanismo chiamato "autoattenzione" per valutare l'influenza di diverse parti dei dati di input.

L'idea centrale del trasformatore è che può elaborare tutti i dati di input in una sola volta, anziché in sequenza. Ciò consente una parallelizzazione molto maggiore e, di conseguenza, aumenti significativi della velocità di allenamento. Il meccanismo di auto-attenzione consente al modello di concentrarsi su diverse parti del testo mentre lo elabora, il che è cruciale per comprendere il contesto e le relazioni tra le parole, indipendentemente dalla loro posizione nel testo.

Encoder e decodificatore nei trasformatori:

Nel modello originale del Transformer, come descritto nel documento “L'attenzione è tutto ciò di cui hai bisogno” di Vaswani et al., l'architettura è divisa in due parti principali: il codificatore e il decodificatore. Entrambe le parti sono composte da strati che hanno la stessa struttura generale ma servono a scopi diversi.

Codificatore:

  • Ruolo: Il ruolo del codificatore è elaborare i dati di input e creare una rappresentazione che catturi le relazioni tra gli elementi (come le parole in una frase). Questa parte del trasformatore non genera alcun nuovo contenuto; trasforma semplicemente l'input in uno stato che il decoder può utilizzare.
  • Funzionalità: Ogni livello codificatore ha meccanismi di auto-attenzione e reti neurali feed-forward. Il meccanismo di auto-attenzione consente a ciascuna posizione nel codificatore di occuparsi di tutte le posizioni nello strato precedente del codificatore, quindi può apprendere il contesto attorno a ciascuna parola.
  • Incorporamenti contestuali: L'uscita dell'encoder è una serie di vettori che rappresentano la sequenza di input in uno spazio ad alta dimensione. Questi vettori vengono spesso definiti incorporamenti contestuali perché codificano non solo le singole parole ma anche il loro contesto all'interno della frase.

decoder:

  • Ruolo: Il ruolo del decoder è generare dati di output in sequenza, una parte alla volta, in base all'input che riceve dal codificatore e a ciò che ha generato fino a quel momento. È progettato per attività come la generazione di testo, in cui l'ordine di generazione è cruciale.
  • Funzionalità: Gli strati del decodificatore contengono anche meccanismi di auto-attenzione, ma sono mascherati per impedire alle posizioni di occuparsi delle posizioni successive. Ciò garantisce che la previsione per una particolare posizione possa dipendere solo da risultati noti nelle posizioni precedenti. Inoltre, gli strati del decodificatore includono un secondo meccanismo di attenzione che si occupa dell'output del codificatore, integrando il contesto dell'input nel processo di generazione.
  • Funzionalità di generazione sequenziale: Si riferisce alla capacità del decodificatore di generare una sequenza un elemento alla volta, basandosi su ciò che ha già prodotto. Ad esempio, durante la generazione di testo, il decodificatore prevede la parola successiva in base al contesto fornito dal codificatore e alla sequenza di parole che ha già generato.

Ciascuno di questi sottolivelli all'interno del codificatore e del decodificatore è cruciale per la capacità del modello di gestire compiti complessi di PNL. Il meccanismo di attenzione multi-testa, in particolare, consente al modello di concentrarsi selettivamente su diverse parti della sequenza, fornendo una ricca comprensione del contesto.

Modelli popolari che sfruttano i trasformatori

Dopo il successo iniziale del modello del trasformatore, c'è stata un'esplosione di nuovi modelli basati sulla sua architettura, ciascuno con le proprie innovazioni e ottimizzazioni per compiti diversi:

BERT (Rappresentazioni Encoder Bidirezionali da Trasformatori): Introdotto da Google nel 2018, BERT ha rivoluzionato il modo in cui le informazioni contestuali vengono integrate nelle rappresentazioni linguistiche. Mediante il pre-addestramento su un ampio corpus di testo con un modello linguistico mascherato e la previsione della frase successiva, BERT cattura ricchi contesti bidirezionali e ha ottenuto risultati all'avanguardia su un'ampia gamma di attività di PNL.

BERTA

BERTA

T5 (trasformatore di trasferimento da testo a testo): Presentato da Google nel 2020, T5 riformula tutte le attività della PNL come un problema da testo a testo, utilizzando un formato unificato basato su testo. Questo approccio semplifica il processo di applicazione del modello a una varietà di attività, tra cui traduzione, riepilogo e risposta alle domande.

t5 Architettura

T5 Architettura

GPT (trasformatore generativo pre-addestrato): Sviluppato da OpenAI, la linea di modelli GPT è iniziata con GPT-1 e ha raggiunto GPT-4 entro il 2023. Questi modelli sono pre-addestrati utilizzando l'apprendimento non supervisionato su grandi quantità di dati di testo e ottimizzati per varie attività. La loro capacità di generare testi coerenti e contestualmente rilevanti li ha resi molto influenti nelle applicazioni di intelligenza artificiale sia accademiche che commerciali.

GPT

Architettura GPT

Ecco un confronto più approfondito tra i modelli T5, BERT e GPT in varie dimensioni:

1. Tokenizzazione e vocabolario

  • BERTA: utilizza la tokenizzazione di WordPiece con una dimensione del vocabolario di circa 30,000 token.
  • GPT: Utilizza Byte Pair Encoding (BPE) con una dimensione del vocabolario di grandi dimensioni (ad esempio, GPT-3 ha una dimensione del vocabolario di 175,000).
  • T5: utilizza la tokenizzazione SentencePiece che tratta il testo come grezzo e non richiede parole pre-segmentate.

2. Obiettivi pre-formativi

  • BERTA: Masked Language Modeling (MLM) e previsione della frase successiva (NSP).
  • GPT: Causal Language Modeling (CLM), in cui ciascun token predice il token successivo nella sequenza.
  • T5: utilizza un obiettivo di denoising in cui porzioni casuali di testo vengono sostituite con un token sentinella e il modello impara a ricostruire il testo originale.

3. Rappresentazione degli input

  • BERTA: token, segmenti e incorporamenti posizionali vengono combinati per rappresentare l'input.
  • GPT: gli incorporamenti di token e di posizione vengono combinati (nessun incorporamento di segmenti poiché non è progettato per attività di coppie di frasi).
  • T5: Solo incorporamenti di token con codifiche posizionali relative aggiunte durante le operazioni di attenzione.

4. Meccanismo di attenzione

  • BERTA: utilizza codifiche posizionali assolute e consente a ciascun token di occuparsi di tutti i token a sinistra e a destra (attenzione bidirezionale).
  • GPT: utilizza anche codifiche posizionali assolute ma limita l'attenzione solo ai token precedenti (attenzione unidirezionale).
  • T5: implementa una variante del trasformatore che utilizza bias di posizione relativa invece di incorporamenti posizionali.

5. Architettura del modello

  • BERTA: Architettura solo encoder con più strati di blocchi trasformatore.
  • GPT: Architettura solo decodificatore, anche a più livelli ma progettata per attività generative.
  • T5: Architettura codificatore-decodificatore, in cui sia il codificatore che il decodificatore sono composti da strati di trasformatore.

6. Approccio di perfezionamento

  • BERTA: adatta gli stati nascosti finali del modello pre-addestrato per le attività downstream con livelli di output aggiuntivi secondo necessità.
  • GPT: aggiunge uno strato lineare sopra il trasformatore e ottimizza l'attività a valle utilizzando lo stesso obiettivo di modellazione del linguaggio causale.
  • T5: converte tutte le attività in un formato da testo a testo, in cui il modello è ottimizzato per generare la sequenza di destinazione dalla sequenza di input.

7. Dati e scala dell'addestramento

  • BERTA: Formatosi su BooksCorpus e Wikipedia inglese.
  • GPT: GPT-2 e GPT-3 sono stati addestrati su diversi set di dati estratti da Internet, mentre GPT-3 è stato addestrato su un corpus ancora più ampio chiamato Common Crawl.
  • T5: addestrato sul "Colossal Clean Crawled Corpus", che è una versione ampia e pulita del Common Crawl.

8. Gestione del contesto e bidirezionalità

  • BERTA: Progettato per comprendere il contesto in entrambe le direzioni contemporaneamente.
  • GPT: addestrato a comprendere il contesto in una direzione in avanti (da sinistra a destra).
  • T5: Può modellare il contesto bidirezionale nel codificatore e unidirezionale nel decodificatore, appropriato per attività sequenza-sequenza.

9. Adattabilità ai compiti a valle

  • BERTA: Richiede livelli di testa specifici per attività e messa a punto per ciascuna attività a valle.
  • GPT: è di natura generativa e può essere spinto a eseguire compiti con modifiche minime alla sua struttura.
  • T5: tratta ogni attività come un problema “da testo a testo”, rendendola intrinsecamente flessibile e adattabile a nuove attività.

10. Interpretabilità e spiegabilità

  • BERTA: La natura bidirezionale fornisce ricchi incorporamenti contestuali ma può essere più difficile da interpretare.
  • GPT: Il contesto unidirezionale può essere più semplice da seguire ma manca della profondità del contesto bidirezionale.
  • T5: Il framework codificatore-decodificatore fornisce una chiara separazione delle fasi di elaborazione ma può essere complesso da analizzare a causa della sua natura generativa.

L'impatto dei Transformers sulla PNL

I trasformatori hanno rivoluzionato il campo della PNL consentendo ai modelli di elaborare sequenze di dati in parallelo, aumentando notevolmente la velocità e l’efficienza dell’addestramento di grandi reti neurali. Hanno introdotto il meccanismo di auto-attenzione, consentendo ai modelli di valutare il significato di ciascuna parte dei dati di input, indipendentemente dalla distanza all’interno della sequenza. Ciò ha portato a miglioramenti senza precedenti in un’ampia gamma di attività di PNL, tra cui, ma non solo, la traduzione, la risposta alle domande e il riepilogo del testo.

La ricerca continua ad ampliare i limiti di ciò che i modelli basati su trasformatori possono ottenere. GPT-4 e i suoi contemporanei non sono solo più grandi in scala ma anche più efficienti e capaci grazie ai progressi nell’architettura e nei metodi di formazione. Tecniche come l'apprendimento a poche riprese, in cui i modelli eseguono compiti con esempi minimi, e metodi per un apprendimento di trasferimento più efficace sono in prima linea nella ricerca attuale.

I modelli linguistici come quelli basati sui trasformatori apprendono da dati che possono contenere pregiudizi. Ricercatori e professionisti stanno lavorando attivamente per identificare, comprendere e mitigare questi pregiudizi. Le tecniche spaziano da set di dati di formazione selezionati ad aggiustamenti post-formazione mirati all'equità e alla neutralità.

Ho trascorso gli ultimi cinque anni immergendomi nell'affascinante mondo del Machine Learning e del Deep Learning. La mia passione e competenza mi hanno portato a contribuire a oltre 50 diversi progetti di ingegneria del software, con un focus particolare su AI/ML. La mia continua curiosità mi ha anche attirato verso l'elaborazione del linguaggio naturale, un campo che non vedo l'ora di esplorare ulteriormente.