Capitolo 19 · Scaling · 9 min

Più grande è sempre meglio?

Le leggi di scala di Kaplan e Chinchilla. Perché GPT-3 era sotto-addestrato, e il rapporto ottimo di 20 token per parametro.

Un'intuizione ingannevole

Per anni, l'industria dell'IA ha vissuto su una credenza semplice: un modello due volte più grande è migliore. GPT-2 (1,5 miliardi di parametri) è stato superato da GPT-3 (175 miliardi). PaLM, Megatron, Gopher — la corsa ai parametri sembrava senza fine.

Poi, nel 2022, un team di DeepMind ha pubblicato un paper che ha cambiato tutto. La loro tesi: i grandi modelli dell'epoca erano massicciamente sotto-addestrati. Non troppo piccoli — sottoalimentati di dati.

Il modello che dimostrava questa tesi si chiamava Chinchilla.

La legge di Kaplan: la prima formulazione

Nel 2020, OpenAI pubblica un paper di Jared Kaplan e colleghi — "Scaling Laws for Neural Language Models" — che mostra qualcosa di notevole. Su decine di modelli addestrati a dimensioni differenti, la perdita di validazione segue una semplice legge di potenza:

L ≈ L∞ + (C₀ / C)^α

Decodifica della formula:

  • C — il compute totale investito nell'addestramento (in FLOPs).
  • L — la perdita di validazione finale.
  • L∞ — la perdita irriducibile: il limite sotto il quale non si può scendere, neanche con compute infinito. È l'entropia naturale del linguaggio umano — c'è sempre una parte di imprevedibilità nella parola successiva.
  • C₀ — una costante di normalizzazione che dipende dall'architettura.
  • α ≈ 0,05 — l'esponente della legge di potenza.

In chiaro: raddoppiare il compute riduce la perdita di una quantità prevedibile. La legge è sorprendentemente robusta su 7 ordini di grandezza.

Kaplan ne trae una conclusione che guiderà l'industria per due anni: dato un budget di compute, allocate la maggior parte alla dimensione del modello, poco ai dati.

È quello che OpenAI ha fatto con GPT-3. 175 miliardi di parametri, ma "soltanto" 300 miliardi di token di addestramento.

Chinchilla manda all'aria tutto

Nel 2022, Hoffmann et al. (DeepMind) rifanno l'esperimento con una metodologia diversa. Invece di fissare la dimensione del modello e variare il compute, esplorano sistematicamente il piano (N, D) a compute costante.

La loro conclusione contraddice direttamente Kaplan: N e D devono crescere alla stessa velocità. Per minimizzare la perdita dato un budget di compute fisso, bisogna addestrare un modello di dimensioni modeste su molti dati.

Più precisamente, il rapporto ottimale è:

D ≈ 20 × N

Per un modello da 70 miliardi di parametri, l'ottimo è dell'ordine di 1.400 miliardi di token. GPT-3 (175 miliardi di parametri, 300 miliardi di token) aveva un rapporto di 1,7 — una dozzina di volte sotto l'ottimo.

DeepMind l'ha provato addestrando Chinchilla: 70 miliardi di parametri, 1.400 miliardi di token. Più piccolo di GPT-3, più token, e migliore su tutti i benchmark.

La mappa del compute

Due cursori, un punto sulla mappa. Mettilo prima su un modello grande e poco nutrito (N alto, D basso), poi fai l'inverso. Tieni d'occhio il Rapporto D / N e la perdita stimata a ogni spostamento: tutto il dibattito tra Kaplan e Chinchilla sta in ciò che fa quel numero quando ti muovi.

Sul grafico log-log, la loss decresce secondo una legge di potenza con il compute. Gli slider N (parametri) e D (token) mostrano l'iso-compute curve: per un budget dato, esiste un rapporto N/D ottimale — circa 20 token per parametro secondo Chinchilla.

Sposta il punto per esplorare il piano (N, D). La diagonale Chinchilla è la linea dove ogni dollaro di compute è speso in modo ottimale. Sopra, si è addestrato troppo a lungo un modello troppo piccolo; sotto, l'opposto.

Noterai qualcosa di interessante: LLaMA-3 si trova ben sopra la diagonale. Con 70 miliardi di parametri addestrati su 15.000 miliardi di token nel 2024, il suo rapporto è di 214 — dieci volte sopra l'ottimo Chinchilla. All'epoca era sorprendente; da allora la tendenza al sovra-addestramento si è ulteriormente accentuata, e i modelli piccoli superano comunemente quel rapporto.

Perché? Perché Meta ha ottimizzato per qualcosa di diverso dall'efficienza del compute di addestramento. Hanno ottimizzato per il costo di inferenza. Un modello più piccolo addestrato più a lungo costa di più da addestrare (un po') ma molto meno da servire in produzione. Su miliardi di richieste, il risparmio è massiccio.

Oltre i parametri: la qualità dei dati

Le leggi di scala non sono la fine della storia. Diversi limiti emergono.

La quantità di dati di alta qualità è finita. Common Crawl, Wikipedia, GitHub, ArXiv, libri scansionati — l'inventario di testo davvero pulito su Internet non è infinito. Si è a lungo annunciato un « muro dei dati » imminente: addestrare un modello da mille miliardi di parametri all'ottimo Chinchilla richiederebbe 20.000 miliardi di token. Quel muro si sta allontanando. Il filtraggio di qualità (FineWeb e i suoi successori), il multilingua, la ripetizione controllata su più epoche e i dati sintetici hanno reso comuni addestramenti da 15.000 o 30.000 miliardi di token. Ciò che manca non è più il testo — è il testo buono.

La qualità batte la quantità, ma solo fino a un certo punto. Filtrare un corpus per tenere solo i dati di alta qualità (manuali, libri tecnici, codice pulito) migliora il modello più che aggiungere dati mediocri. Ma il filtraggio troppo aggressivo finisce per impoverire la distribuzione e nuocere alla generalizzazione.

Le capacità emergenti confondono la curva. Per certi compiti (ragionamento multi-step, matematica complessa, istruzioni rare), le prestazioni restano piatte fino a una certa soglia di dimensione — poi salgono bruscamente. Queste "emergent abilities" sono controverse: alcuni ricercatori (Schaeffer et al., 2023) mostrano che scompaiono quando si sceglie una metrica più continua. Ma il fenomeno pratico resta: i piccoli modelli non sanno fare certe cose, indipendentemente dal fine-tuning.

La lezione pratica

Probabilmente non addestrerai mai un modello tu stesso. Ma queste leggi spiegano la forma del paesaggio in cui scegli i tuoi.

Perché i modelli che usi sono piccoli e sovra-addestrati. A budget di compute fissato, l'ottimo di addestramento è un rapporto D/N vicino a 20. Quasi nessuno lo rispetta più — ed è deliberato. Un modello più piccolo nutrito più a lungo costa un po' di più da addestrare, ma molto meno da servire. Su miliardi di richieste, è questa seconda voce a decidere. Da qui gli 8B e i 70B ovunque, addestrati ben oltre Chinchilla, invece di mostri da 500 miliardi di parametri.

Perché un modello piccolo si blocca su certi compiti, qualunque cosa tu faccia. Le capacità emergenti compaiono solo oltre una soglia di dimensione. Se un modello fallisce su un'intera classe di problemi, nessun prompt e nessun fine-tuning lo recuperano: bisogna cambiare modello, non metodo.

Perché le nuove generazioni progrediscono senza ingrandirsi. Da qualche anno il margine non viene più dai parametri ma dai dati: filtraggio, diversità, qualità. Un modello della stessa taglia di quello di un anno fa può essere nettamente migliore senza aver guadagnato un solo parametro — è ciò che ha letto a essere cambiato.

Le leggi di scala non dicono che bisogna ingrandire indefinitamente. Dicono che c'è un giusto rapporto tra parametri e dati — e che si sono passati anni a sbagliarsi di lato.

Resta che queste leggi descrivono una curva, non un meccanismo. Prevedono che un modello meglio nutrito sbaglierà meno, senza dire nulla di ciò che avrà imparato per arrivarci. Cosa contengono davvero quei miliardi di parametri — c'è qualcosa di leggibile là dentro, o solo una poltiglia di numeri che funziona? Il capitolo successivo prova ad aprire la scatola.

Aggiornato il