🧙 Maestro Yoda Cap. 20 · Training, fine-tuning, allineamento

Puntata 220

Puntata 220 — Synthetic data

Livello: 🧙 Maestro Yoda · Capitolo 20 · Training, fine-tuning, allineamento

Internet sta finendo. Letteralmente. I lab stanno generando il prossimo trilione di token con la stessa AI che stanno cercando di addestrare. Sembra circolare? Lo è. Funziona? Sorprendentemente, sì. Quasi sempre.

un cane che si morde la coda, ma il cane è un robot e la coda è scritta in codice. Sotto: due cartelli — “model collapse” da una parte, “Phi-4 al primo posto del leaderboard” dall’altra. Tag: “una tecnologia, due dottrine”

L’urgenza che ha cambiato il campo

Verso fine 2023 emerge un consenso scomodo: i dati di qualità reali stanno per esaurirsi.

Stime (Villalobos et al., Epoch AI, 2024):

  • Web pubblico di qualità: ~10-100T token utili. Già spremuto al 50-90%.
  • Libri, paper, codice di alta qualità: pochi TB, già usati.
  • Conversazioni umane: difficili da scalare etico-legalmente.

A questo ritmo (modelli che usano 15-30T token per training), entro 2028-2030 finiremo i dati. Lo scaling law classico (Chinchilla) prevede degrado.

Soluzione che la community ha sviluppato in massa: dati sintetici. AI che genera dati per addestrare AI.


Le 4 categorie di synthetic data

1. Augmentation di dati reali

Prendi un dato vero, lo trasformi/parafrasi con un LLM, ne ottieni N varianti. Esempio: traduci 100k istruzioni dall’inglese in 10 lingue.

Uso: aumentare dataset SFT, rinforzare diversità, multilingua. Sicuro.

2. Generazione di task strutturati con verifier

Generi problemi e risposte con un LLM, poi verifichi automaticamente la correttezza.

Esempi:

  • Matematica: genera un problema, risolvi, verifica con un solver simbolico (SymPy, Lean).
  • Codice: genera un task + soluzione + test. Esegui i test, scarta i fail.
  • Logica: genera puzzle, risolvi, verifica con un risolutore.

Pattern: OverGenerate-then-Filter. Genera 10× di quello che ti serve, filtra il 90%, tieni i top.

Risultati: ottimi. Dataset come MetaMathQA, Orca-Math, MAmmoTH usano questa strategia per crescere il dataset matematico in misura ordini di grandezza.

3. Generazione di conversazioni “textbook-quality”

Tipico di Microsoft Phi (Gunasekar et al., 2023, “Textbooks Are All You Need”).

Idea: invece di generare da prompt sintetici poveri, chiedi a GPT-4 di generare mini-textbook: contenuti di alta qualità su topic ben definiti, con esercizi, esempi, dialoghi pedagogici.

Risultato Phi-3-mini (3.8B parametri): batte modelli 10× più grandi su MMLU, GSM8K, HumanEval.

Pattern adottato anche da: Tulu 3, OpenChat, Nemotron-Tron. È diventato uno standard per modelli small-but-mighty.

4. Self-instruct / Self-play

Il modello genera istruzioni a se stesso e risposte, in un loop.

Esempi:

  • Self-Instruct (Wang et al., 2022): partendo da seed instructions, GPT-3 genera nuove istruzioni e risposte. Dataset Alpaca.
  • Magpie (2024): genera self-instruction senza nemmeno seed, sfruttando il chat template.
  • Self-Rewarding LMs (Yuan et al., Meta 2024): il modello giudica se stesso e si addestra ulteriormente.

Più rischioso (model collapse), ma scalabile.


Model collapse: il rischio sistemico

Paper di Shumailov et al. (2023, Nature 2024): “The Curse of Recursion”.

Setup: addestra un modello su dati reali. Genera dati col modello. Addestra un nuovo modello solo su quei dati sintetici. Genera dati ancora. Ripeti.

Risultato: dopo N generazioni il modello collassa. La distribuzione si concentra sui modi più frequenti, le code rare si perdono, le code rare-rare diventano invisibili. È convergenza monotona verso il banale.

Implicazione preoccupante per il web: se sempre più contenuto online è generato da AI, e i prossimi modelli si addestrano su quel contenuto, il collasso è strutturale.

Però — la realtà è più sfumata

Studi più recenti (Gerstgrasser et al., 2024 “Is Model Collapse Inevitable?”) mostrano che:

  • Mescolando dati sintetici con dati reali (anche al 10-20%), il collapse è prevenuto.
  • Con verification step (synthetic data filtrato per quality), il collapse non avviene.
  • Per task verificabili (math, codice), il synthetic data può addirittura migliorare il modello iterativamente (self-improvement, vedi 273).

Conclusione 2026: model collapse è reale ma evitabile con disciplina. La paura tendenza-zero del 2023 si è ridimensionata.


Synthetic data nei modelli frontiera

Dati pubblici limitati, ma le confessioni dei lab indicano:

  • Phi-3, Phi-4 (Microsoft): ~70-90% del SFT data è sintetico, generato con GPT-4.
  • Llama-3 (Meta): “extensive use of synthetic data for instruction tuning”. Conferma in technical report.
  • Gemini (Google): tech report cita synthetic data per math/codice.
  • Claude (Anthropic): Constitutional AI usa AI-generated critiques (form di synthetic data per alignment).
  • DeepSeek-V3 / R1: parte del training reasoning è synthetic, generato da R1 stesso (variante distillation).

Stima 2026: per i modelli di frontiera, 30-50% del training data (SFT + RLHF) è sintetico o semi-sintetico.


I 3 ambiti dove synthetic data è incontestato

Matematica

  • Genera problemi parametrizzati.
  • Risolvi con sistema simbolico.
  • Verifica.
  • Tieni i correttamente risolti dal modello, scarta gli altri.

Loop self-improvement: il modello migliora iterativamente sulla matematica, costo zero in annotazione umana.

Codice

  • Genera task (“scrivi una funzione che…”).
  • Genera soluzione candidata.
  • Genera test cases.
  • Esegui i test.
  • Tieni le soluzioni che passano.

Dataset: CodeAlpaca, Magicoder, OpenCodeInterpreter, Tülu-Coder. Tutti sintetici al >90%.

Long-context

Trovare documenti naturali da 100k-500k token è difficile. Si generano:

  • Storie multi-capitolo.
  • Documenti tipo wiki concatenati.
  • Sintesi e domande “in the middle”.

I modelli con context 128k+ hanno spesso un component sintetico nel training di long-context.


Limiti e rischi

  1. Bias amplification: synthetic data eredita e amplifica i bias del modello generatore. Se GPT-4 ha bias culturali, Phi-4 li ha più marcati ancora.
  2. Mode collapse parziale: anche senza collapse totale, le code di distribuzione si erodono.
  3. Hallucination factory: synthetic data può inventare fatti che diventano “verità” per il modello allenato.
  4. Echo chamber: tutti i modelli synthetic-trained dalla stessa fonte (es. GPT-4) tendono a “suonare” simili.
  5. Diversità linguistica: GPT-4 e Claude generano italiano “buono” ma non vivo. Distillare produce italiano “asciutto”, lontano dal vero italiano colloquiale.
  6. Legal: distillare da modelli commerciali viola spesso ToS (vedi puntata 219). Phi (Microsoft) usa internal model, problema interno; modelli open distill da GPT-4 sono in zona grigia.

Strumenti pratici

  • DataDreamer, distilabel (Argilla), synthetic-data-kit: tool per pipeline di synthetic generation.
  • Magpie: tool open-source per self-instruct.
  • Argilla / Lilac: visualizzazione e curation di dataset (sintetici e non).
  • Llama-Cookbook, Unsloth Synth-Data: pipeline pre-built.

Esempio (Magpie):

from distilabel.pipeline import Pipeline
from distilabel.llms import OpenAILLM
from distilabel.steps.tasks import MagpieGenerator

with Pipeline(name="magpie-italian") as pipeline:
    magpie = MagpieGenerator(
        llm=OpenAILLM(model="gpt-4o"),
        num_rows=10000,
        system_prompt="Genera conversazioni in italiano su temi vari.",
    )
pipeline.run(use_cache=False)

In 20 righe generi un dataset di 10k istruzioni-risposte. Costo: $50-200 in token API.


Glossario lampo

  • Synthetic data — dati generati artificialmente (da AI o regole), non raccolti da fonti reali.
  • Model collapse — degrado iterativo di un modello addestrato ricorsivamente su synthetic data.
  • Self-improvement — loop in cui il modello genera dati per addestrare se stesso migliore (vedi 273).
  • Filter-and-keep — generare in eccesso e tenere solo gli esempi di qualità validata.
  • Verifier — sistema deterministico che valida la correttezza (compilatore, solver, regex).

TEST hands-on

  1. Genera 100 problemi di matematica algebrica sintetici con GPT-4-mini (costo ~$1). Per ognuno, genera anche la soluzione step-by-step.
  2. Verifica con SymPy quali risposte sono corrette. Aspettati ~70-85% pass rate.
  3. Tieni i corretti come dataset di training. Fai SFT su Llama-3.2-1B (o anche più piccolo se hai poca VRAM).
  4. Valuta su un test set (es. GSM8K o problemi tuoi): quanto migliora?
  5. Ripeti il ciclo (generate → filter → train). Il modello continua a migliorare? Quando smette? (Tipicamente dopo 2-3 cicli plateau.)
  6. Bonus: leggi “Textbooks Are All You Need II” (arXiv:2309.05463). È il manifesto del synthetic textbook-quality data.

Take-away

Synthetic data è il combustibile del prossimo decennio di AI. Ha trasformato un problema imminente (fine dei dati naturali) in un’opportunità di self-improvement scalabile. Ma è anche una scommessa: stiamo costruendo modelli che si nutrono sempre più di se stessi, in una catena chiusa il cui esito di lungo periodo non è ancora chiaro. La community ha trovato come evitare il collapse — finora.


➡️ Prossima puntata: Evaluation — benchmark, arena, LiveBench, MMLU-Pro & co.