English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ospite
1 / ?
torna alle lezioni

Step 0-20K: Una Dieta Restringente

Due Fasi, Una Esecuzione

Il curriculum firehose v2 si esegue in due fasi all'interno di una singola esecuzione di addestramento da 200K step:


Fase A (step 0 a 20K). Bandit preleva solo da 7 fonti di chat & prosa:


- hermes3-general

- hermes3-creative

- hermes3-roleplay

- chat

- smoltalk

- oasst

- gutenberg


Fase B (passi da 20K a 200K). Bandit attinge dall'intero mix, tutte e 16 le fonti, inclusa la reference (dictionary), tecnica (repo-docs, repo-commits) e sociale (irc, unweapon).


Timeline del warmup del curriculum


Cosa condivide la dieta ristretta

Sei delle sette fonti di warmup sono conversazionali. Una (gutenberg) è prosa a paragrafi. Insieme condividono una forma comune: struttura a turni (prompt poi risposta) o flusso narrativo. La distribuzione del vocabolario tra le 7 fonti appare approssimativamente inglese normale; i target di entropia incrociata rimangono in un intervallo stabile; le magnitudini del gradiente rimangono prevedibili.


Campo di Configurazione


"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]

Identifica la Fase di Warmup

Un'esecuzione di addestramento ha eseguito 18.400 step. Senza guardare lo stato del bandit, il modello può aver campionato da `dictionary` o `repo-docs`? Spiega perché sì o no e cita il valore di configurazione che determina questo.

Come Appariva v1 Senza Warmup

v1: Tutte le 16 Fonti dallo Step 0

La prima esecuzione di addestramento ANDREA-120M (marzo-aprile 2026) ha attivato il pieno firehose allo step 0: 16 fonti, inclusa dictionary (88K definizioni di parole in forma > define X / < X is...), repo-docs (documentazione markdown), repo-docstrings (docstring Python) e repo-commits (messaggi di commit git accanto a chat & prose).


Cosa è Andato Storto

Un modello da 120M appena inizializzato con pesi casuali non può modellare 16 distribuzioni distinte contemporaneamente. Ogni batch proveniente da una sorgente strutturalmente diversa produce una direzione di gradiente diversa. Le transizioni di sorgente ogni 7-42 passi facevano oscillare selvaggiamente le magnitudini del gradiente; il modello saltava tra attrattori più velocemente di quanto potesse formare rappresentazioni.


Al passo 80K, v1 produceva: region region region region region region region. La distillazione del teacher Hermes3-general premiava (media 340-453) le sorgenti con struttura a lista ripetitiva, che ottenevano il punteggio più alto sull'entropia incrociata, interpretato dal bandit come 'queste braccia sono facili.' Il bandit forniva al modello più di ciò che lo faceva degenerare.


Perché Limitarsi a 7 Sorgenti Aiuta

1. Somiglianza delle distribuzioni. Tutte e 7 le sorgenti di warmup producono testo di forma simile (struttura a turni o narrativa). Le direzioni di gradiente tra i batch rimangono approssimativamente allineate.

2. Coerenza prima. Il modello apprende la frequenza del vocabolario, i pattern sintattici e la struttura dei turni prima di incontrare elenchi di definizioni, codice o messaggi git.

3. Curriculum stabile. I segnali di ricompensa del bandit su 7 fonti di chat/prosa rimangono in un intervallo comparabile; la selezione UCB1 non viene dirottata da una singola fonte anomalamente gratificante.


Quando la Fase B si Attiva

Al passo 20K, il modello ha prodotto ~40-50 campioni (uno ogni 100 passi), mostra inglese coerente nei campioni e ha costruito distribuzioni stabili di bigrammi e trigrammi. Ora può assorbire il pattern > define X / < X is... del dizionario, i blocchi di codice dei repo-docs e gli header dei commit git senza perdere la struttura della chat sottostante.

Diagnosticare il Fallimento di v1

Un transformer da 120M appena inizializzato si allena su 16 fonti strutturalmente diverse dal passo 0. Al passo 80K, i campioni leggono `region region region region region`. Collega la scelta di design senza warmup a questa specifica modalità di fallimento: nomina il meccanismo per cui 16 fonti al passo 0 fa collassare il modello in ripetizione di un singolo token. Una o due frasi.

v3 Polish imposta curriculum_warmup_steps = 0

Un Punto di Partenza Diverso

Il pivot polish di v3 al passo 112.619 ha ripreso l'addestramento da step_112600.bin con curriculum_warmup_steps impostato a 0. A prima vista sembra una contraddizione: se il warmup ha aiutato v2, perché disabilitarlo per la fase polish?


Perché il Modello Ha Già Imparato la Coerenza

La Fase A concede tempo a un modello appena inizializzato per imparare la frequenza del vocabolario, la struttura dei turni e la coerenza dei paragrafi. Al passo 112K, il modello ha già fatto tutto ciò. Audit di campioni al 112K hanno mostrato turni conversazionali coerenti, haiku, Q&A e dialoghi. Lo scopo originale del warmup (proteggere un modello nuovo fragile dal caos dei gradienti) non si applica più.


Polish Ripesa i Pesi, Non Riavvia

Polish è una perturbazione del curriculum, non una nuova esecuzione. Stesso target di 200K, stessa architettura, stesso stato dell'ottimizzatore, stessa storia delle perdite. Cosa cambia: i cappi e i pavimenti della sorgente vengono ripesati per favorire la conversazione rispetto alle braccia di conoscenza. Con il modello già coerente, ogni sorgente attiva è lecita a partire dal passo 112.619.


Tabella di Riepilogo


Fasecurriculum_warmup_stepsPerché
v1(non presente)Tutte le 16 fonti dal passo 0 -> collasso
v2 (passi 0-200K)20.000Protegge i pesi appena inizializzati dal caos dei gradienti
v3 base (passi 0-112K)20.000Stessa protezione di v2
v3 polish (passi 112K-200K)0Il modello è già coerente; non c'è un regime di init fragile da proteggere

Perché Disabilitare il Warmup al Polish È Sicuro

Argomenta (in 2-3 frasi) perché impostare curriculum_warmup_steps = 0 al pivot v3 polish NON ricrea il collasso di v1, anche se entrambe le esecuzioni presentano 'tutte le fonti attive dal passo corrente'. Fai riferimento allo stato del modello al passo 112K.