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

Puntata 214

Puntata 214 — Dataset

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

Non esistono modelli intelligenti, esistono modelli con buoni dati. Il 60% del lavoro su un LLM è preparare cosa gli darai da leggere.

torta a fette colorate — Common Crawl (la fetta più grande), libri, codice, Wikipedia, paper scientifici, dati sintetici, dati di alta qualità “boutique”. Sotto: percentuali. Tag: “la composizione segreta del modello”

La regola del 60%

Aneddoto comune nei laboratori di frontiera: il 60-70% del tempo di un team di pretraining va nei dati, non nel modello. Architettura e codice sono ormai commodity. Il vero edge competitivo è nella data pipeline.

Questa puntata ti dice cosa entra in pancia a un LLM moderno, in quali proporzioni, e perché.


I principali dataset open

Common Crawl

Il “scrape di internet” pubblicato mensilmente da una fondazione no-profit. ~250 miliardi di pagine accumulate dal 2008, dump mensili da 200-500 TB ciascuno.

È il fondo su cui si costruisce quasi ogni LLM moderno. Ma in forma grezza è inutilizzabile: ~50% del contenuto è spam, SEO farm, contenuti duplicati, gibberish. La sfida è filtrare.

C4 (Colossal Clean Crawled Corpus)

Versione filtrata di Common Crawl creata da Google per T5 (Raffel et al., 2020). ~750 GB di testo. Filtri: rimuove pagine con javascript, duplicati, contenuti con parole banlist, troncamenti, ecc.

Storico. Oggi superato da dataset più aggressivi nel filtering.

The Pile (EleutherAI, 2020)

~825 GB, mix di 22 sorgenti: Common Crawl, libri, Wikipedia, codice, paper, articoli giuridici. Primo grosso dataset open con composizione documentata. Storicamente importante.

RedPajama-Data (Together, 2023)

~5 TB. Tentativo di replicare il dataset di Llama-1 in modo open: 67% Common Crawl filtrato, 15% C4, 4.5% libri, 4.5% codice, 4.5% Wikipedia, 2% ArXiv, 2.5% StackExchange.

RefinedWeb (Falcon, TII, 2023)

~5 TB. Solo Common Crawl, ma con filtering aggressivo. Ha dimostrato che web-only può eguagliare il mix-tradizionale, se filtrato per bene. Influente.

FineWeb e FineWeb-Edu (HuggingFace, 2024)

  • FineWeb: 15T token, pure web, filtering moderno con regole + ML classifier.
  • FineWeb-Edu: ~1.3T token, sottoinsieme educational filtrato con un classifier addestrato su giudizi LLM.

Stato dell’arte aperto (2024-26). Vedi huggingface.co/spaces/HuggingFaceFW/blogpost-fineweb-v1.

Dolma (AI2, 2023-25)

~3T token. Mix di sorgenti diverse, pesato. Filosofia: trasparenza piena, ogni decisione documentata.

DCLM (Apple, 2024)

~3.8T token. “DataComp for Language Models”: pubblicato come benchmark di data curation, non solo dataset.


La pipeline tipica (semplificata)

Common Crawl raw (500 TB)
       ↓ language ID + filter (Italian, English, ...)
       ↓ URL filter (banlist domain)
       ↓ HTML extraction (boilerplate removal)
       ↓ Quality classification (junk vs useful)
       ↓ Deduplication (exact + near-dup MinHash/LSH)
       ↓ Decontamination (rimuovi paragrafi che appaiono in benchmark)
       ↓ Heuristics filter (lunghezza, ratio chars, ecc.)
       ↓ Tokenization
       ↓ Shuffling + sequence packing
       ↓ Dataset finale (15T token)

Ogni step taglia il 30-60% dei dati. Da 500 TB di crawl grezzo si arriva a ~3-15T token usabili. Il 95-99% del materiale viene scartato.


I componenti speciali

Codice

The Stack (BigCode, 2023+): ~6 TB di codice da GitHub. Selezione per licenza permissiva. Versioni:

  • The Stack v1, v2 (2024) — più grande, deduplicato meglio
  • StarCoderData, StarCoder2Data — sottoinsiemi curati

Il codice è cruciale: si stima che aggiungere 10-30% di codice al training migliori reasoning generale, non solo capacità di coding. Effetto osservato in DeepSeek-Math, Llama, ecc.

Paper scientifici

ArXiv + PubMed + Semantic Scholar. ~100-300 GB di paper LaTeX/PDF. Importante per matematica e scienza. Sfida: estrarre testo pulito da LaTeX/PDF è non banale.

Libri

Books3 (dal Pile) era ~37 GB ma è stato ritirato per dispute di copyright. Sostituito da fonti più curate (LibGen+annexx, mai trasparenti). Tema sensibilissimo legalmente — vedi puntata 199.

Wikipedia

~20-30 GB, multilingua. Densità di informazione altissima. Spesso pesata 5-10× rispetto alle dimensioni nel mix.

Dialoghi e Q&A

StackExchange (~50 GB), Reddit (filtrato), forum. Cruciali per istruction-following emergente. Vengono mescolati nel pretraining ma anche usati nel SFT (puntata 215).

Dati sintetici

La grande novità 2024-2026. Vedi puntata 220. ~10-40% del dataset di alcuni modelli recenti.

Dati high-quality “boutique”

Curati a mano da team di esperti. Piccoli (10-100 GB) ma con effetto sproporzionato. Esempi: Phi-3/4 di Microsoft ha basato l’intera proposta su “textbook quality data”.


La composizione tipica (Llama-3 stile, ricostruita)

Llama-3 405B è trainato su 15T token. La mix dichiarata:

  • ~50% web pages (CommonCrawl filtrato)
  • ~25% libri, papers, knowledge sources
  • ~17% code
  • ~8% mathematical reasoning data

DeepSeek-V3 (14.8T token):

  • ~70% web data filtrato
  • 17% code
  • 10% math + reasoning
  • 3% multilingual

Il “rapporto vincente” varia ma le invarianti sono:

  • Web is the base (50-70%)
  • Code is critical even for “non-coding” models (15-20%)
  • Math/reasoning sempre più importante (5-15%)
  • Multilingual va dosato (per modello “generale”, 5-10%)

Quality > Quantity

Lezione del 2023-2024: data quality batte quantity, brutalmente.

Esempio: Phi-2 (2.7B) di Microsoft batteva modelli da 13-30B su molti benchmark, addestrato solo su dati “textbook-quality” (filtrati o sintetici).

Tradeoff implicato: scalare i dati richiede abbassare la qualità media (più rumore). Selezionare significa alzare il floor. Per modelli piccoli, selezionare batte sempre.

Per modelli giganti (>70B) la situazione è più sfumata: hanno capacità sufficiente per “filtrare” da soli il rumore in pretraining.


Decontamination: il dramma silenzioso

I benchmark (MMLU, GSM8K, HumanEval, …) sono pubblicati online. Se finiscono nel training set, il modello li “memorizza” e i risultati sono inflated.

Tutti i lab pretendono di decontaminare rimuovendo paragrafi dei benchmark dal training. In pratica:

  • N-gram matching (8-13-gram overlap)
  • Embedding similarity
  • LLM-based filtering

Ma è imperfetto. Studi (Schaeffer et al., Bordt et al.) mostrano che molti modelli pubblici hanno contaminazione residua misurabile. Da qui in parte il senso di benchmark live (LiveBench, arena) che cambiano regolarmente.


Dati e legalità

Tre fronti caldi nel 2024-26:

  1. Copyright: NYT vs OpenAI (causa in corso), editori italiani vs Meta. Posizione tipica dei lab: “fair use, training trasformativo”. Posizione editori: “uso commerciale di nostri testi senza licenza”.
  2. Privacy (GDPR): dati personali in training, diritto all’oblio. Caso Garante italiano vs OpenAI (2023) ha bloccato temporaneamente ChatGPT in Italia.
  3. Robots.txt e opt-out: molti siti ora bloccano i crawler AI. Common Crawl rispetta robots.txt, ma alcuni crawler proprietari (GPTBot, ClaudeBot, Google-Extended) hanno propri opt-out mechanisms.

Vedi puntata 199 per il dettaglio diritti d’autore.


Glossario lampo

  • Deduplication — rimuovere documenti duplicati o quasi-duplicati. Riduce dimensione del 30-50% tipicamente.
  • N-gram filtering — eliminare paragrafi che contengono sequenze viste in test set.
  • Quality classifier — un piccolo modello che predice se un documento è “buono” da training.
  • Sequence packing — concatenare documenti corti per riempire sequenze di lunghezza fissa (es. 8k token).
  • Mixture weights — proporzioni con cui si campiona da dataset diversi.

TEST hands-on

  1. Scarica un piccolo sample di HuggingFaceFW/fineweb (es. 1 GB). Apri 100 documenti random. Quanti sono “scrittura utile”? Quanti spam? Calcola un % approssimativo.
  2. Implementa un quality classifier semplice: prendi 1000 documenti FineWeb-Edu e 1000 di CommonCrawl raw. Addestra un logistic regression su feature TF-IDF. Misura accuracy. Ti aspetti ~80-90%.
  3. Calcola la deduplication: prendi un dataset, calcola MinHash signatures, trova near-duplicati con LSH. Quante coppie similar > 0.85 trovi? (Esempio guida: datasketch Python library.)
  4. Bonus: leggi il “FineWeb v1 blogpost” su HuggingFace. È una lezione di metodologia. Identifica le 5 decisioni di filtering più impattanti.

Take-away

Il dataset è il vero “modello prima del modello”. È dove si decide cosa sarà capace di fare un LLM, cosa eviterà di dire, in quali lingue performerà. Le architetture sono pubbliche, i pesi si copiano, i benchmark si pubblicano — ma la data pipeline resta il segreto industriale più ben custodito dei lab di frontiera.


➡️ Prossima puntata: SFT (Supervised Fine-Tuning) — il secondo stadio dell’addestramento.