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 piu grande e migliore. GPT-2 (1,5 miliardi di parametri) e 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 puo scendere, neanche con compute infinito. E l'entropia naturale del linguaggio umano — c'e sempre una parte di imprevedibilita 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 quantita prevedibile. La legge e sorprendentemente robusta su 7 ordini di grandezza.

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

E 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 velocita. Per minimizzare la perdita dato un budget di compute fisso, bisogna addestrare un modello di dimensioni modeste su molti dati.

Piu precisamente, il rapporto ottimale e:

D ≈ 20 × N

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

DeepMind l'ha provato addestrando Chinchilla: 70 miliardi di parametri, 1,4 trilioni di token. Piu piccolo di GPT-3, piu token, e migliore su tutti i benchmark.

La mappa del compute

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 e la linea dove ogni dollaro di compute e speso in modo ottimale. Sopra, si e 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 trilioni di token, il suo rapporto e di 214 — dieci volte sopra l'ottimo Chinchilla.

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

Oltre i parametri: la qualita dei dati

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

La quantita di dati disponibile e finita. Common Crawl, Wikipedia, GitHub, ArXiv, libri scansionati — l'inventario di dati testuali di qualita su Internet non e infinito. Diversi team stimano che ci si stia avvicinando al muro: addestrare un modello da 1 trilione di parametri all'ottimo Chinchilla richiederebbe 20 trilioni di token, che superano ampiamente i corpora pubblici puliti.

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

Le capacita 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 piu continua. Ma il fenomeno pratico resta: i piccoli modelli non sanno fare certe cose, indipendentemente dal fine-tuning.

La lezione pratica

Se addestri un modello oggi, ecco cosa ti dicono le scaling laws:

  • Compute fisso? Mira a un rapporto D/N vicino a 20. E l'ottimo di addestramento.
  • Servirai il modello massicciamente? Sposta il rapporto verso l'alto. Un modello piu piccolo addestrato piu a lungo costa meno all'inferenza — e cio che fanno Meta, Mistral, e sempre piu team.
  • Punti a una capacita emergente? Le piccole ottimizzazioni non basteranno. Bisogna superare una soglia di dimensione.
  • Ti mancano i dati? La qualita, il filtraggio, e la diversita contano piu della dimensione grezza del corpus.

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

Aggiornato il

Leggi di scaling: Kaplan, Chinchilla e il rapporto ottimale · Step by Token