Steg 0-20K: En begränsad diet
Två faser, en körning
v2 brandslang-läroplanen körs i två faser inuti en enda 200K-stegs träningskörning:
Fas A (steg 0 till 20K). Bandit drar endast från 7 chatt- och prosa-källor:
- hermes3-general
- hermes3-creative
- hermes3-roleplay
- chat
- smoltalk
- oasst
- gutenberg
Fas B (steg 20K till 200K). Bandit drar från hela blandningen, alla 16 källor, inklusive referens (dictionary), teknisk (repo-docs, repo-commits) & social (irc, unweapon).
Vad den begränsade kosten delar
Sex av de sju uppvärmningskällorna är konversationella. En (gutenberg) är styckprosa. Tillsammans delar de en gemensam form: vändstruktur (prompt sedan svar) eller narrativt flöde. Ord-fördelningen över de 7 källorna ser ungefär ut som normal engelska; cross-entropy-målen håller sig inom ett stabilt intervall; gradientstorlekarna förblir förutsägbara.
Konfigurationsfält
"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]
Identifiera uppvärmningsfasen
Hur v1 såg ut utan uppvärmning
v1: Alla 16 källor från steg 0
Den första ANDREA-120M-träningsrundan (mars-april 2026) aktiverade den fulla brandslangen vid steg 0: 16 källor, inklusive dictionary (88K orddefinitioner i > define X / < X is...-format), repo-docs (markdown-dokumentation), repo-docstrings (Python-docstrings) & repo-commits (git-commit-meddelanden bredvid chat & prosa).
Vad gick fel
En nyligen initialiserad 120M-modell med slumpmässiga vikter kan inte modellera 16 distinkta distributioner samtidigt. Varje batch från en strukturellt annorlunda källa producerar en annan gradientriktning. Källbyten varenda 7-42 steg svängde gradientmagnituderna vilt; modellen hoppade mellan attraktorer snabbare än den kunde bilda representationer.
Vid steg 80K producerade v1: region region region region region region region. Hermes3-general teacher distillation rewards (medel 340-453) gjorde repetitiva liststrukturerade källor högst på cross-entropy, vilket banditen tolkade som 'dessa armar är lätta.' Banditen matade modellen mer av det som gjorde den degenererad.
Varför begränsning till 7 källor hjälper
1. Likhet i distributioner. Alla 7 uppvärmningskällor producerar text av liknande form (turstruktur eller narrativ). Gradientriktningar över batcher förblir ungefär alignade.
2. Sammanhang först. Modellen lär sig ordfrekvens, syntaktiska mönster & turstruktur innan den stöter på definitionslistor, kod eller git-meddelanden.
3. Stabil läroplan. Bandit-belöningssignaler från 7 chatt/prosa-källor håller sig inom ett jämförbart intervall; UCB1-urval blir inte kapat av en enskild anomaliskt belönande källa.
När Fas B Aktiveras
Vid steg 20K har modellen producerat ~40-50 prover (ett per 100 steg), visar sammanhängande engelska i proverna, & har byggt stabila bigram- & trigram-fördelningar. Nu kan den ta upp ordbokens > define X / < X is...-mönster, repo-dokumentens kodblock & git-commitrubriker utan att förlora chattstrukturen under.
Diagnostisera v1:s Misslyckande
v3 Polish sätter curriculum_warmup_steps = 0
En Annan Startpunkt
v3 polish-pivoten vid steg 112,619 återupptog träningen från step_112600.bin med curriculum_warmup_steps satt till 0. Vid första anblicken ser detta ut som en motsägelse: om warmup hjälpte v2, varför inaktivera det för polish-fasen?
För att Modellen Redan Lärde Sig Kohärens
Fas A ger tid åt en nyligen initialiserad modell att lära sig ordfrekvens, vändningsstruktur och stycke koherens. Vid steg 112K har modellen redan gjort allt det. Provgranskningar vid 112K visade koherenta konversationsvändningar, haiku, Q&A och dialog. Den ursprungliga syftet med uppvärmning (skydda en skör ny modell från gradientkaos) gäller inte längre.
Polish omviktar, startar inte om
Polish är en läroplansstörning, inte en ny körning. Samma 200K-mål, samma arkitektur, samma optimizer-tillstånd, samma förlusthistorik. Vad som ändras: källtak och -golv omviktas för att gynna konversation framför kunskapsarmar. Med modellen redan koherent är varje aktiv källa rättmätigt spel från steg 112 619 och framåt.
Sammanfattningstabell
| Fas | curriculum_warmup_steps | Varför |
|---|---|---|
| v1 | (saknas) | Alla 16 källor från steg 0 -> kollaps |
| v2 (steg 0-200K) | 20,000 | Skydda nyligen initialiserade vikter från gradientkaos |
| v3 bas (steg 0-112K) | 20,000 | Samma skydd som v2 |
| v3 polish (steg 112K-200K) | 0 | Modellen är redan sammanhängande; inget skört-init-läge att skydda |