Puntata 213
Puntata 213 — Pretraining
Livello: 🧙 Maestro Yoda · Capitolo 20 · Training, fine-tuning, allineamento
“Leggere internet” — detto così suona facile. In pratica sono milioni di GPU-ora, miliardi di dollari, e la matematica più costosa mai fatta dalla nostra specie.
Cos’è il pretraining
Il pretraining è il primo (e più costoso) stadio dell’addestramento di un LLM. Obiettivo: addestrare un modello a predire il prossimo token su un enorme corpus di testo grezzo, senza supervisione esplicita.
Loss usata: cross-entropy sul next-token prediction:
L = -Σ_t log P(x_t | x_<t)
Niente labels umani. Niente RLHF. Niente fine-tuning. Solo: leggi una sequenza, indovina il prossimo token, sbaglia, aggiorna i pesi via backprop. Ripeti per trilioni di token.
È così semplice che pare incredibile che funzioni. Eppure è da qui che nasce quasi tutta la capacità linguistica e di ragionamento degli LLM moderni.
I numeri (2026)
| Modello | Parametri | Token training | Compute (FLOPs) | Stima costo |
|---|---|---|---|---|
| GPT-2 (2019) | 1.5B | 40B | ~10²¹ | ~$50k |
| GPT-3 (2020) | 175B | 300B | ~3·10²³ | ~$4M |
| GPT-4 (2023, rumored) | ~1.7T (MoE) | ~13T | ~2·10²⁵ | ~$100M |
| Llama-3 405B (2024) | 405B | 15T | ~4·10²⁵ | ~$60M (HW) |
| DeepSeek V3 (2024) | 671B MoE | 14.8T | ~3·10²⁴ | ~$5.5M (claimed) |
| GPT-5 (2025) | ? | ? | ~10²⁶? | ?? |
Da notare:
- 3 ordini di grandezza in FLOPs fra GPT-2 e i modelli frontiera del 2024.
- Costi: i numeri pubblici sono spesso conservativi. Includendo R&D, fallimenti, infrastruttura, salari, il “vero” costo è 3-5× quello del solo training run.
- DeepSeek V3 ha shockato il mercato dichiarando $5.5M per un 671B MoE, dimostrando che efficienza > scala bruta.
Chinchilla scaling laws
Hoffmann et al. (DeepMind, 2022, arXiv:2203.15556) hanno scoperto che la scelta ottimale di N (parametri) e D (token di training) per un budget di compute C fisso è:
N ≈ D (in scala approssimativa: ~20 token per parametro).
Prima di Chinchilla, l’industria scalava troppo i parametri e poco i dati. Il paper ha rivoluzionato la pratica: modelli più piccoli, training più lungo.
Esempi:
- GPT-3 (175B / 300B token) — sotto-trainato rispetto a Chinchilla.
- Chinchilla (70B / 1.4T token) — battezza il punto ottimale del 2022.
- Llama-2 7B / 2T token — molto oltre Chinchilla, ma intenzionale: per ottimizzare il costo di inferenza (più dati al training, più piccolo il modello).
- Llama-3 8B / 15T token — sì, 15T su un 8B. È quasi 2000 token/parametro. Quasi tutta l’industria oggi sovra-allena rispetto a Chinchilla, per ottimizzare l’inferenza (che è il costo dominante nel lungo periodo).
Nuova regola pratica (2026): allena finché la loss non ha raggiunto il plateau sui dati di qualità che hai. Più dati ottimi → più training. Quando i dati di qualità finiscono, smetti.
La sequenza di un training run
1. Data preparation (durata: settimane, percentuale del lavoro: 60-70%)
Il vero collo di bottiglia non è il training: è il dato.
- Crawl + deduplication
- Quality filtering (modelli classifier su qualità)
- Decontamination (rimuovere benchmark dal training set)
- Language identification + balancing
- Tokenization
- Shuffling, packing in sequenze di lunghezza fissa
Vedi puntata 214 per il dettaglio.
2. Initialization
I pesi del modello vengono inizializzati con distribuzioni specifiche (Xavier/He/Kaiming, custom). Inizializzazione cattiva = training instabile o non convergente.
3. Optimizer setup
AdamW è il default. Parametri tipici (Llama-3 style):
β1 = 0.9,β2 = 0.95,eps = 1e-8weight_decay = 0.1- Learning rate scheduler: warmup linear (2000 step) + cosine decay
max_lr ≈ 3e-4per modelli medi,1e-4per modelli grandi- Batch size: 4M token a step (tipicamente)
Alternative moderne: Lion (più memory-efficient), Shampoo (second-order, costoso), Muon (recente, 2024-25, ottime resa empiriche).
4. Distributed training
Nessun modello da 100B+ entra in una singola GPU. Servono parallelismi:
- Data parallel (DDP) — stesso modello, batch diversi su GPU diverse.
- Tensor parallel (TP) — un layer spezzato fra GPU.
- Pipeline parallel (PP) — layer diversi su GPU diverse, microbatching.
- Sequence parallel — parti diverse di una sequenza su GPU diverse (per context lunghi).
- Expert parallel — esperti MoE distribuiti.
- ZeRO-1/2/3 (DeepSpeed) — partition di optimizer state, gradients, parameters.
Combinazioni tipiche (Llama-3 405B): DP × TP × PP × Sequence × FSDP. ~16k GPU H100 simultanee, durata ~50 giorni.
5. Training loop
Per n step:
- Carica batch
- Forward pass
- Compute loss
- Backward pass (gradient computation)
- Gradient sync fra GPU
- Optimizer step
- Update LR scheduler
- Log metrics
- Save checkpoint ogni X step
Tre cose monitorate ossessivamente:
- Loss curve — deve scendere monotonicamente
- Gradient norm — picchi indicano instabilità
- Loss spikes — eventi anomali, gestiti spesso con “rollback al checkpoint precedente + skip batch problematico”
I trucchi pratici (i “model cards” non li dicono)
- Gradient clipping — clamp dei gradient (tipicamente a norma 1.0). Senza, un singolo outlier può far esplodere il training.
- Mixed precision (bfloat16) — i pesi/gradient/attivazioni in BF16, gli accumulator in FP32. Default 2026.
- Checkpoint frequenti — ogni 1000-10000 step. Se la loss esplode, rollback.
- Loss scaling per FP16 (storico, ora sostituito da BF16).
- Curriculum learning — alcuni paper trainerebbero prima su testo “facile” e poi su “duro”. In pratica, l’effetto è marginale e quasi nessuno lo fa più.
- Data mixing dinamico — variare le proporzioni dei dataset durante il training (più codice negli ultimi step, ecc.).
Emergent abilities — il fenomeno che cambia tutto
Wei et al. (2022) hanno notato che certe capacità (aritmetica multi-cifra, ragionamento, in-context learning) emergono bruscamente sopra una certa soglia di scaling. Sotto, il modello è incapace; sopra, all’improvviso ce la fa.
Esistono critiche metodologiche (Schaeffer et al., 2023, “Are Emergent Abilities a Mirage?”) che mostrano come l’effetto dipenda spesso dalla metrica scelta. Comunque, l’osservazione qualitativa è solida: scalare paga in modi non lineari.
Il pretraining è quindi non solo “più gradiente, più conoscenza”, ma anche “più capacità qualitativamente nuove”.
Stato 2026: il pretraining è in crisi?
Diversi segnali dell’ultimo anno:
- I dati di qualità si stanno esaurendo. Common Crawl è già stato spremuto. La frontiera ora include codice, scientific papers, dati sintetici. Vedi puntata 220.
- GPT-5 è “solo” marginalmente migliore di GPT-4o su molti benchmark. Suggerisce diminishing returns sullo scaling puro.
- La crescita di compute è diventata insostenibile: il prossimo modello richiederebbe data center da gigawatt. Vedi puntate 180-187.
- Il valore si è spostato al post-training (RL, reasoning) e al test-time (vedi 211).
Conclusione (cautamente): l’epoca dello scaling come unica leva è probabilmente terminata. Il pretraining resta indispensabile, ma non basta più da solo a generare miglioramenti rilevanti. L’attenzione si è spostata su SFT (215), RLHF (216), reasoning RL (211), e synthetic data (220).
Glossario lampo
- Cross-entropy loss —
-log psu token vero. Misura la sorpresa del modello. - Token/parametri ratio — Chinchilla suggeriva 20:1, oggi siamo a 100:1 o oltre.
- FLOPs — Floating Point Operations. Misura del compute totale.
- Checkpoint — snapshot dei pesi (decine di GB) salvato durante il training.
- Curriculum learning — ordinamento intenzionale degli esempi.
TEST hands-on
- Apri
wandb.aiotensorboarde cerca run pubbliche di pretraining (es.eleutherai/pythia). Studia la loss curve: ti aspetti monotona decrescente con picchi occasionali ricuperati. - Calcola il FLOP budget per addestrare un 1B model con 20B token (Chinchilla optimal). Formula approssimativa:
FLOPs ≈ 6 · N · D. Quanto fa? Confronta con i FLOPs di una H100 (~1e15 FLOP/s in BF16). Ti serve ~12 GPU-giorni. - Scarica
nanoGPTdi Karpathy. Riesci a trainare un 100M model su Shakespeare in ~30 minuti su una RTX 4090? Misura la loss finale e confronta con perplexity. - Bonus: leggi il “Llama-3 Herd of Models” tech report (arXiv:2407.21783). Cerca la sezione sul data mixing — è una lezione di metodologia.
Take-away
Il pretraining è “magia industriale”: un singolo paragrafo di obiettivo (next-token) condensato in mesi di GPU-time. Le scoperte chiave non sono nell’idea (vecchia di 70 anni), ma nell’ingegneria di scalarla. Il 90% del valore di un LLM moderno vive nei trilioni di token che ha visto in pretraining. Tutto il resto è verniciatura.
➡️ Prossima puntata: Dataset — Common Crawl, libri, codice, sintetici.