Addestramento dei grandi modelli linguistici

From Systems analysis Wiki
Jump to navigation Jump to search

L'addestramento dei modelli linguistici di grandi dimensioni (LLM) è un processo complesso e ad alto consumo di risorse, nel corso del quale una rete neurale con miliardi di parametri viene addestrata su enormi insiemi di dati testuali per comprendere e generare il linguaggio umano. Questo processo rappresenta la pietra angolare nella creazione dei moderni LLM, come GPT, BERT, Claude e Gemini.

Fondamenti teorici dell'addestramento

Architettura Transformer e meccanismo di attenzione

I moderni LLM si basano quasi interamente sull'architettura Transformer, che consente di elaborare in modo efficiente lunghe sequenze di testo. Il componente chiave è il meccanismo di self-attention, che permette al modello di ponderare l'importanza di ogni parola nel contesto dell'intera sequenza. Ciò consente di cogliere dipendenze a lungo raggio ed elaborare i dati in parallelo, accelerando notevolmente l'addestramento rispetto alle reti ricorrenti (RNN).

Obiettivo principale: previsione del token successivo

Il compito fondamentale su cui viene addestrata la maggior parte degli LLM (in particolare quelli generativi come GPT) è la modellazione linguistica. Il modello impara a prevedere il token successivo (una parola o parte di essa) in una sequenza, basandosi su tutti i token precedenti. Formalmente, il modello massimizza la probabilità della sequenza P(X) tramite la sua fattorizzazione secondo la regola della catena:

P(X)=t=1TP(xt|x1,,xt1)

Per l'addestramento viene utilizzata la funzione di perdita cross-entropica, che misura la divergenza tra la distribuzione di probabilità prevista dal modello e il vero token successivo.

Fasi dell'addestramento

Il processo di addestramento degli LLM si articola generalmente in due fasi principali.

1. Pre-addestramento (Pre-training)

Questa è la fase più estesa e computazionalmente onerosa, durante la quale il modello acquisisce le sue conoscenze fondamentali sul linguaggio e sul mondo.

  • Dati: Il modello viene addestrato su corpus di testo non annotato di dimensioni enormi, che possono raggiungere migliaia di miliardi di token. Le fonti di dati includono pagine web (ad esempio Common Crawl), Wikipedia, biblioteche digitali di libri (Google Books) e repository di codice (GitHub).
  • Obiettivo: Formare rappresentazioni linguistiche universali. Il modello apprende grammatica, sintassi, fatti e persino alcuni elementi di ragionamento logico.
  • Processo: Si tratta di apprendimento auto-supervisionato (self-supervised learning), in cui le etichette (i token successivi corretti) vengono estratte dai dati stessi. L'addestramento può durare settimane o mesi su cluster composti da migliaia di GPU o TPU.

2. Fine-tuning e Alignment

Dopo il pre-addestramento, il modello «grezzo» deve essere adattato a compiti specifici e allineato alle aspettative umane.

  • Supervised Fine-tuning: Il modello viene ulteriormente addestrato su un insieme ridotto ma di alta qualità di dati annotati (ad esempio coppie «istruzione-risposta»), per imparare a seguire le indicazioni.
  • Reinforcement Learning from Human Feedback (RLHF): Questo è il metodo chiave per l'alignment. Il processo prevede diversi passaggi:
    1. Annotatori umani classificano diverse risposte del modello alla stessa richiesta, dalla migliore alla peggiore.
    2. Su questi dati viene addestrata una reward model, che impara a prevedere quale risposta verrà preferita dall'essere umano.
    3. L'LLM principale viene ulteriormente addestrato tramite algoritmi di reinforcement learning (ad esempio PPO), utilizzando la reward model come fonte di segnale, al fine di generare risposte più utili, oneste e sicure.

Questo approccio in due fasi (pre-training + fine-tuning/alignment) è diventato lo standard nel settore, consentendo di creare modelli linguistici potenti e al tempo stesso controllabili.

Aspetti pratici

Dati: raccolta, scala e preparazione

La qualità e la scala dei dati sono i fattori determinanti per il successo di un LLM.

  • Raccolta: Vengono utilizzate fonti diverse per garantire un'ampia copertura di argomenti, stili e lingue.
  • Pulizia e filtraggio: Una fase cruciale che include la rimozione di duplicati, il filtraggio di contenuti di bassa qualità o tossici e il bilanciamento delle fonti, affinché il modello non si specializzi eccessivamente nel linguaggio tipico di internet.
  • Tokenizzazione: Il testo viene suddiviso in token (parole o sotto-parole) tramite algoritmi come BPE o SentencePiece. La scelta del tokenizzatore e della dimensione del vocabolario influisce direttamente sull'efficienza e sulla qualità del modello.

Addestramento distribuito e risorse computazionali

Addestrare modelli con centinaia di miliardi o migliaia di miliardi di parametri richiede risorse computazionali colossali e l'utilizzo di tecniche di addestramento distribuito.

  • Hardware: Vengono impiegati supercomputer composti da migliaia di GPU (ad esempio NVIDIA A100/H100) o TPU (Google), collegati tramite reti ad alta velocità (ad esempio InfiniBand).
  • Parallelismo: Per distribuire i calcoli vengono utilizzati schemi di parallelismo complessi:
    • Data Parallelism: Ogni copia del modello sulla propria GPU elabora la propria porzione di dati.
    • Model Parallelism: Il modello stesso viene suddiviso in parti distribuite su GPU diverse. Include il parallelismo tensoriale (suddivisione delle matrici) e il parallelismo a pipeline (suddivisione degli strati).
    • ZeRO (Zero Redundancy Optimizer): Tecnologia sviluppata da Microsoft DeepSpeed che elimina la duplicazione di parametri, gradienti e stati dell'ottimizzatore, consentendo di addestrare modelli molto più grandi.
  • Framework: Per implementare questi schemi complessi vengono utilizzati framework specializzati come DeepSpeed, Megatron-LM e Hugging Face Accelerate.

Evoluzione storica degli approcci

  • Anni '80-'90: Modelli linguistici statistici basati su n-grammi.
  • 2001-2010: Comparsa dei modelli linguistici neurali basati su RNN e LSTM, in grado di cogliere meglio le dipendenze a lungo termine.
  • 2017: Pubblicazione dell'articolo «Attention Is All You Need» e comparsa dell'architettura Transformer, che ha reso possibile l'addestramento parallelo.
  • 2018-2019: Comparsa dei primi transformer pre-addestrati — GPT-1 e BERT — che hanno consolidato il paradigma «pre-training + fine-tuning».
  • 2020: L'uscita di GPT-3 ha segnato un'innovazione nella scala e l'emergere delle capacità few-shot emergenti.
  • 2022: Il lancio di ChatGPT e la diffusione di RLHF come metodo chiave per la creazione di assistenti AI utili e sicuri.
  • 2023-oggi: Era dei modelli multimodali (GPT-4, Gemini), corsa all'ampliamento della finestra di contesto e sviluppo delle capacità agentiche.

Collegamenti esterni

  • Introduzione agli LLM — corso di Hugging Face

Bibliografia

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
  • Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
  • Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.