Pre-training of large language models (IT)
Il pre-addestramento dei grandi modelli linguistici (LLM) è una fase fondamentale nella creazione dei moderni grandi modelli linguistici, che consiste nell'addestrarli su enormi e variegati corpus di testo non annotato. Questo processo consente ai modelli di acquisire pattern linguistici generali, conoscenze sul mondo e relazioni semantiche, formando il cosiddetto modello fondazionale (foundation model), che può poi essere adattato per risolvere compiti specifici.
Cos'è il pre-addestramento?
Il pre-addestramento (pre-training) rappresenta la fase iniziale dell'addestramento, in cui un LLM viene addestrato su dataset testuali di grande scala mediante tecniche di self-supervised learning. Ciò significa che i segnali di addestramento (etichette) vengono generati dai dati stessi, senza necessità di annotazione manuale da parte di esseri umani.
L'obiettivo principale di questa fase è la previsione di parti nascoste o future del testo. A seconda dell'architettura, vengono utilizzati due compiti principali:
- Causal Language Modeling (CLM): Il modello impara a prevedere la parola successiva (token) in una sequenza sulla base di tutte le precedenti. Questo approccio è alla base dei modelli generativi come GPT.
- Masked Language Modeling (MLM): Il modello impara a ripristinare parole «mascherate» (nascoste) casualmente nel testo, utilizzando il contesto bidirezionale circostante (parole a sinistra e a destra). Questo metodo è utilizzato in modelli come BERT.
Grazie a questi compiti, il modello è costretto ad apprendere sintassi, semantica e conoscenze fattuali sul mondo per effettuare previsioni accurate.
Dati per il pre-addestramento
L'efficacia del pre-addestramento dipende in larga misura dalla qualità e dalla varietà dei dati di addestramento. Vengono utilizzate le seguenti principali fonti:
- Pagine web: Dataset come Common Crawl e C4 forniscono un'ampia gamma di argomenti, stili e lingue, rappresentando una «fotografia» di Internet.
- Libri: Corpus come BookCorpus e The Pile forniscono testo strutturato e coerente, utile per la comprensione delle dipendenze a lungo termine e delle strutture narrative.
- Dati conversazionali: Dati provenienti da forum (ad esempio Reddit) e social network, che aiutano i modelli ad acquisire il linguaggio informale e i pattern dialogici.
- Dati specializzati: Articoli scientifici (da arXiv), codice sorgente (da GitHub e The Stack) o testi multilingue per migliorare le capacità specifiche del modello.
Esempi di distribuzione dei dati
Modelli diversi utilizzano proporzioni diverse delle fonti, il che influenza le loro capacità finali:
- GPT-3 (175 miliardi di parametri):** 16% libri, 84% pagine web.
- PaLM (540 miliardi di parametri):** 5% libri, 14% pagine web, 50% dati conversazionali, 31% altro.
- LLaMA (65 miliardi di parametri):** 5% libri, 2% pagine web, 87% dati conversazionali.
Queste distribuzioni mostrano che la scelta dei dati è una decisione strategica che varia in base agli obiettivi del modello.
Corpus frequentemente utilizzati
| Corpus | Dimensione | Fonte | Ultimo aggiornamento |
|---|---|---|---|
| BookCorpus | 5GB | Libri | Dic-2015 |
| Gutenberg | - | Libri | Dic-2021 |
| C4 | 800GB | Common Crawl | Apr-2019 |
| CC-Stories-R | 31GB | Common Crawl | Set-2019 |
| CC-NEWS | 78GB | Common Crawl | Feb-2019 |
| REALNEWS | 120GB | Common Crawl | Apr-2019 |
| OpenWebText | 38GB | Link Reddit | Mar-2023 |
| Pushshift.io | 2TB | Link Reddit | Mar-2023 |
| Wikipedia | 21GB | Wikipedia | Mar-2023 |
| The Pile | 800GB | Altro | Dic-2020 |
| ROOTS | 1.6TB | Altro | Giu-2022 |
Tecniche di addestramento
Il pre-addestramento degli LLM richiede risorse computazionali significative. Per gestire questo processo vengono applicate le seguenti tecniche:
- Addestramento distribuito: Utilizzo di più GPU o TPU per l'elaborazione parallela.
- Mixed Precision: Utilizzo di formati numerici a precisione ridotta (ad esempio, a 16 bit invece di 32 bit) per accelerare i calcoli e ridurre l'utilizzo della memoria.
- Gradient Checkpointing: Tecnica per il risparmio di memoria tramite il ricalcolo, anziché la memorizzazione, di alcune attivazioni intermedie.
- Model Parallelism: Distribuzione del modello stesso su più dispositivi.
L'addestramento di un modello come GPT-3 può richiedere diversi mesi su migliaia di GPU.
Leggi di scala
Ricerche come quelle di OpenAI (Kaplan et al., 2020) hanno dimostrato che le prestazioni dei modelli linguistici migliorano in modo prevedibile all'aumentare di tre fattori:
- La dimensione del modello (numero di parametri).
- Il volume dei dati.
- Le risorse computazionali.
Queste relazioni empiriche, note come leggi di scala (scaling laws), costituiscono una guida per gli sviluppatori nella progettazione e nell'addestramento di modelli sempre più grandi e potenti, consentendo di allocare in modo ottimale il budget computazionale.
Sfide e risultati
- Scalabilità: Il principale risultato del pre-addestramento è la capacità di bilanciare la dimensione del modello, dei dati e delle risorse computazionali per ottenere prestazioni ottimali.
- Qualità dei dati: Garantire la pulizia, la diversità e l'assenza di bias nei dati di addestramento rappresenta una sfida fondamentale.
- Efficienza: Lo sviluppo di metodi per ridurre i costi computazionali, come il pre-addestramento continuo o architetture più efficienti.
- Multilingualità: La creazione di modelli in grado di elaborare efficacemente più lingue richiede una selezione e un bilanciamento accurati dei dati.
Vedi anche
- Grandi modelli linguistici
- BERT
- GPT