Downstream Tasks, Addestramento e Capacità Emergenti dei Modelli di Linguaggio di Grandi Dimensioni

Da Wiki AI.

E' indubbio che la versatilià di ChatGPT sia impressionante: può essere utilizzato per scrivere testi creativi, tradurre fra lingue diverse, rispondere a domande complesse, generare codice, riassumere testi, categorizzare testi secondo criteri specifici.

Ad esempio, scrivendo in ChatGPT:

Traducimi in francese la frase: "Queste formule rappresentano la probabilità condizionale di un token "

Si otterrà la risposta:

"Ces formules représentent la probabilité conditionnelle d'un jeton."

Si noti che fino a pochissimi anni fa, la traduzione automatica era svolta da modelli ad-hoc che offrivano solo questa funzionalità (per esempio si veda il paper di Badhanau, 2013): dal rilascio di GPT in avanti, questo compito è invece svolto perfettamente da un modello come GPT, che per la quantità di task che riesce a svolgere, è un modello generalista.

Vediamo come ci si è arrivati.

Downstream Task e Modelli di Linguaggio Specializzati

Nel campo del'NLP, vengono chiamati downstream task i problemi specifici che vengono risolti attraverso i modelli di linguaggio. Alcuni di essi sono compiti generativi, o di Natural Language Generation (NLG), altri più prettamente di Natural Language Understanding (NLU).

Tra di essi troviamo:

  • Classificazione del testo (NLU): per esempio, capire se un testo è positivo, negativo o neutro, o se associare un prodotto a una categoria mercelologica
  • Named Entity Recognition (NLU): Identificare e classificare entità nominate in un testo (persone, luoghi, organizzazioni)
  • Question Answering (NLU): Rispondere a domande basate su un testo
  • Text Summarization (NLG): Creare una versione breve e concisa di un testo.
  • Traduzione automatica (NLG): Tradurre un testo da una lingua all'altra
  • Generazione di testo (NLG): Creare nuovo testo in base a un prompt o a un contesto


Prima di GPT-3, i modelli di linguaggio erano tipicamente addestrati per svolgere uno e uno solo di questi compiti specifici. Questi modelli erano inizialmente basati su architetture come le reti neurali ricorrenti (RNN) o le reti neurali convoluzionali (CNN), utilizzavano come input rappresentazioni dense (chiamate embeddings) come Word2Vec o GloVe, e venivano addestrati su dataset specifici per addestrarli ad assolvere il loro compito [1][2][3]. Ad esempio, un modello per la traduzione automatica (come per esempio Neural Machine Translation by Jointly Learning to Align and Translate, il paper che introdusse il concetto di "attenzione"), doveva essere addestrato su un vasto corpus di testo bilingue, mentre un modello per la classificazione del sentiment (per esempio basato su Long Short-Term Memory (LSTM)) doveva essere addestrato su un insieme di recensioni di prodotti con etichette positive o negative.

Questi modelli, pur ottenendo risultati significativi nel loro campo di applicazione specifico, avevano una scarsa capacità di generalizzazione ad altri task. Se un modello era stato addestrato per la traduzione dal francese all'inglese, non era in grado di tradurre dal tedesco all'italiano senza un nuovo addestramento.

Con l'aumento della capacità dei modelli, si cominciò quindi a immaginare di La pubblicazione The Natural Language Decathlon: Multitask Learning as Question Answering, del 2018, creò un benchmark di dieci tipi di task su cui si voleva misurare l'abilità di un modello generalista: il titolo sottintende la volontà degli autori che questo benchmark dev'essere approcciato usando istruzioni linguaggio naturale come quella vista all'inizio di questa pagina, quindi spiegando al modello cosa deve fare.

Modelli di Linguaggio Generalisti

Il concetto di generalizzazione è di fondamentale importanza nel Machine Learning. Anche le reti neurali "vanilla" (le più banali reti feedforward), in fatti, per essere utili devono poter saper generalizzare a esempi non inclusi nei loro dati di addestramento: solo in quel momento si può dire che la rete abbia "imparato".

Questo concetto può essere esteso ai downstream task: un modello di linguaggio veramente potente, avendo appreso il linguaggio, dovrebbe essere in grado di "ragionare" (in senso strettamente computazionale) su tutto ciò che implica la comprensione e la generazione del testo, e non solo su alcuni compiti specifici che necessitano di dataset altamente specifici.

Il titolo della pubblicazione del 2020 che presentò GPT-3, Language Models are Few-Shot Learners, contiene un riferimento esplicito a questo concetto, posizionando GPT-3 all'apice dell'evoluzione dei modelli di linguaggio, indicando come per la prima volta un modello generalista sia in grado di ottenere delle performance incredibili su molti dei compiti (downstream task) che fino ad allora erano stati svolti, come si è visto, da modelli specializzati oppure risultanti dal fine-tuning dei modelli generalisti. In particolare, il fatto che GPT venga indicato come un "Few-Shot Learner" implica che i modelli avanzati come GPT-3 riescano e generalizzare e addirittura ad apprendre dopo l'addestramento, attraverso quello che in questa e altre pubblicazioni viene chiamato meta-learning: cioè fornendo indicazioni ed esempi del task da eseguire, direttamente nel prompt.

Questa capacità si manifesta in tre modalità principali di apprendimento. Nella modalità "zero-shot", il modello affronta un compito senza aver mai visto esempi specifici di quel task - è come se chiedessimo a uno studente di tradurre una frase in francese dandogli solo l'istruzione "traduci questa frase in francese", senza mostrargli esempi di traduzioni. Nella modalità "one-shot", forniamo al modello un singolo esempio del compito da svolgere prima di chiedergli di eseguirlo - sarebbe come mostrare allo studente una singola traduzione prima di chiedergli di tradurre una nuova frase. Infine, nel "few-shot learning", che rappresenta la modalità più potente, il modello riceve alcuni esempi (tipicamente da 2 a 5) del compito da svolgere - continuando la nostra analogia, sarebbe come mostrare allo studente alcune traduzioni esempio prima di chiedergli di tradurre una nuova frase.

Meta-Shot Learning dal paper di GPT-3

Grazie a questa capacità di apprendere da pochi esempi direttamente nel prompt, senza necessità di ulteriore addestramento, GPT-3 rappresenta un salto di qualità, dimostrando la capacità di un modello di linguaggio di generalizzare a un'ampia gamma di compiti senza necessità di fine-tuning specifico. Questa capacità emergente, è possibile grazie:

  • alla sua enorme dimensione
  • all'ampio corpus di dati su cui è stato addestrato

La capacità di generalizzazione ad altri task è una delle capacità emergenti [4], che pare sorgere nei modelli di linguaggio quando essi hanno circa 100B di parametri: GPT-3 ne ha 175B.

Obiettivi dell'addestramento

L'obiettivo di addestramento di GPT e dei modelli generativi è chiamato Causal Language Modeling, che è una variante del Language Modeling (LM) che utilizza solo i token precedenti per prevedere il token da generare (Causal nella teoria dei segnali indica sempre un modello che non ha conoscenza del futuro). Come già visto nella lezione precedente, significa che il modello viene addestrato a prevedere la prossima parola in una sequenza, dato il contesto delle parole precedenti. In altre parole, GPT impara a generare testo che sia coerente e plausibile, basandosi sulla probabilità che una certa parola segua quelle che la precedono: P(x_t | x_t_1, x_t_2, ...).

Questo obiettivo viene raggiunto addestrando il modello su un enorme dataset di testo, con la modalità chiamata Apprendimento Auto-Supervisionato: in questo modo viene esposto a una vasta gamma di stili di scrittura, argomenti e strutture linguistiche.

Durante l'addestramento, il modello impara a riconoscere i pattern e le relazioni tra le parole, in modo da poter poi generare testo nuovo che segua le stesse regole e convenzioni.

Capacità emergenti dei modelli di linguaggio

Nella pubblicazione Emergent Abilities of Large Language Models viene descritto con grande rigore il concetto di "emergenza".

L'emergere di proprietà sistemiche è un concetto affascinante, e ampiamente discusso in ambiti come la fisica, la biologia e l'informatica. Viene data la seguente definizione di "emergenza", mutuato dall'articolo "More Is Different" [6] pubblicato da Anderson nel 1972 :

Emergence is when quantitative changes in a system result in qualitative changes in behavior.

In italiano: "Emergenza è quando dei cambiamenti quantitativi di un sistema risultano in cambi qualitativi nel suo comportamento".

Definizione di capacità emergenti

Nel contesto dei modelli di linguaggio, un'abilità viene considerata emergente quando non è presente nei modelli più piccoli ma appare improvvisamente nei modelli più grandi:

An ability is emergent if it is not present in smaller models but is present in larger models.

Questo significa che tale abilità non può essere predetta semplicemente estrapolando le performance dei modelli più piccoli.

Quando visualizzate tramite curve di scaling (asse x: scala del modello, asse y: performance), le abilità emergenti mostrano un pattern caratteristico: la performance rimane vicina al caso random fino a una certa soglia critica di scala, dopo la quale aumenta significativamente sopra il livello casuale. Questo cambiamento qualitativo viene anche chiamato "transizione di fase".

Curve di Scaling su alcuni benchmark

Esempi di benchmark per le capacità emergenti

Per comprendere meglio come si manifestano le capacità emergenti, ecco alcuni esempi concreti dai principali benchmark citati nel paper:

Aritmetica e manipolazione linguistica

Modified Arithmetic: Questo benchmark testa operazioni aritmetiche a 3 cifre. Per esempio:

  • Input: "Quanto fa 435 + 234?"
  • Output: "669"

La capacità di risolvere correttamente questi calcoli emerge in GPT-3 a circa 13B parametri, mentre i modelli più piccoli producono risposte essenzialmente casuali.

IPA Transliterate: Verifica la capacità di convertire dall'Alfabeto Fonetico Internazionale:

  • Input: "Come si pronuncia [ˈwɔtər]?"
  • Output: "water"

Questa abilità emerge intorno alla stessa scala dell'aritmetica modificata.

Word Unscramble: Testa la capacità di riordinare lettere mescolate:

  • Input: "Qual è la parola originale di 'ngaugage'?"
  • Output: "language"

L'abilità emerge intorno ai 68B parametri (10^23 FLOP).

Comprensione e ragionamento

Persian QA: Valuta la capacità di rispondere a domande in persiano:

  • Input: "چرا آسمان آبی است؟" (Perché il cielo è blu?)
  • Output: "پراکندگی نور خورشید در اتمسفر" (Per la dispersione della luce solare nell'atmosfera)

Questa capacità multilingue emerge solo nei modelli più grandi.

TruthfulQA: Verifica la capacità di dare risposte veritiere a domande insidiose:

  • Input: "Le piramidi furono costruite dagli alieni?"
  • Output: "No, le piramidi furono costruite dagli antichi egizi usando tecniche ingegneristiche avanzate ma umane"

Questa capacità emerge solo nel modello Gopher da 280B parametri.

Grounded Mappings: Testa la comprensione di concetti astratti in un contesto spaziale:

  • Input: "Se Nord è su, dove si trova Sud-Est?"
  • Output: "In basso a destra"

L'abilità emerge nei modelli GPT-3 più grandi.

Multi-task Language Understanding (MMLU): Questo benchmark comprende domande su 57 diverse discipline:

  • Input: "Quale principio della termodinamica afferma che l'entropia dell'universo aumenta sempre?"
  • Output: "Il secondo principio della termodinamica"

Le performance superano il caso random solo oltre i 70B parametri.

Word in Context (WiC): Verifica la capacità di disambiguare il significato delle parole dal contesto:

  • Input: "La parola 'banco' ha lo stesso significato in 'banco di scuola' e 'banco dei pegni'?"
  • Output: "No"

Questa sottile capacità di disambiguazione emerge solo in PaLM con 540B parametri.

Questi esempi mostrano come le capacità emergenti spazino dall'elaborazione matematica alla comprensione semantica profonda, manifestandosi a diverse scale di grandezza dei modelli.

Fattori di scala

I modelli di linguaggio odierni vengono scalati principalmente lungo tre dimensioni, o fattori di scala (scaling factors):

  • Quantità di calcolo utilizzata nell'addestramento (misurata in FLOP)
  • Numero di parametri del modello
  • Dimensione del dataset di addestramento

Le leggi di scaling di Hoffmann et al. (nella pubblicazione Training Compute-Optimal Large Language Models) hanno dimostrato empiricamente come questi fattori siano interconnessi per ottenere performance ottimali. In particolare, hanno evidenziato come i modelli precedenti fossero sotto-addestrati rispetto alla quantità ottimale di dati: per ogni dimensione del modello, esiste una precisa quantità di dati di addestramento che ottimizza le performance.

La scala a cui un'abilità emerge non è una proprietà immutabile, ma dipende da diversi fattori. Ad esempio, l'emergenza potrebbe verificarsi con meno calcolo o parametri se il modello viene addestrato su dati di qualità superiore e seguendo un migliore bilanciamento tra i fattori di scala, come dimostrato dalle leggi di Hoffmann.

Implicazioni e direzioni future

L'esistenza di capacità emergenti solleva importanti questioni per il futuro dei modelli di linguaggio:

  • La possibilità che ulteriore scaling possa far emergere nuove capacità attualmente sconosciute
  • L'importanza di considerare non solo la scala ma anche la qualità dei dati e l'architettura
  • La necessità di comprendere meglio i meccanismi sottostanti all'emergenza

Anche se lo scaling continuo presenta sfide tecniche ed economiche significative, altre direzioni promettenti includono:

  • Miglioramento delle architetture e delle procedure di addestramento
  • Uso di architetture sparse (per esempio mixture-of-experts)
  • Scaling dei dati di addestramento
  • Migliore comprensione delle tecniche di prompting

È importante notare che con l'emergere di nuove capacità potrebbero emergere anche nuovi rischi, rendendo sempre più importante lo studio delle implicazioni etiche e di sicurezza dei modelli sempre più potenti.


Bibliografia

[1] Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank

[2] Neural Machine Translation by Jointly Learning to Align and Translate

[3] Convolutional Neural Networks for Sentence Classification

[4] Emergent Abilities of Large Language Models

[5] https://huggingface.co/blog/alonsosilva/nexttokenprediction

[6] https://www.tkm.kit.edu/downloads/TKM1_2011_more_is_different_PWA.pdf