Två Problem på Båda Sidor av Utbildning
Problem i Tidiga Steg: Nyttiga Vikter Kan Inte Ta Stora Steg
På steg 0 börjar varje vikt som ett litet slumpmässigt tal utdraget från en nära-nollfördelning. Aktiveringar hålls nära noll. Gradienterna bär nästan ingen information om en slutgiltig lösning. Använd en topphastighet för dessa gradienter och en modell hoppas långt ifrån initieringen i riktningar som inte kodar betydande struktur.
ANDREA-120M v1 gjorde detta fel. Ingen uppvärmning. Steg 1 använde lr = 0.0003 på nys initialiserade värden. Resultat: modellen landade i ett dåligt parameterbassäng inom några hundra steg. Förlustsiffror såg rimliga; prover producerade upprepningsslingor från steg 80K och återhämtning aldrig.
Sena Steg Problem: Stora Steg Kan Inte Poliera En Lösning
På steg 100K har en modell lärt sig grov struktur. Gradienterna bär nu finstruktursignal: vilka tokenvikter behöver en liten knuff, vilken uppmärksamhetsmatt behöver en lätt ombalansering. Att tillämpa en topphastighet på denna etapp överskrider varje finjustering, oscillerar kring ett optimum utan att sluta.
Två problem, motsatta ändar av utbildningen. En schema, två regioner: rama upp försiktigt, försämra smidigt ner.
Linjär Uppvärmning: De Första 2000 Stegen
Formeln
ANDREA-120M v2 använder linjär uppvärmning över 2000 steg:
lr(t) = lr_scheduled(t) * min(1, (t + 1) / warmup_steps)
där t är stegnummer (0-indexerat), warmup_steps = 2000, och lr_scheduled(t) är vad kosin-schemat skulle föreskriva utan uppvärmning.
Läs formeln:
- Vid t = 0: lr = lr_scheduled(0) min(1, 1/2000) = lr_scheduled(0) 0.0005. Litet första steg.
- Vid t = 1000: lr = lr_scheduled(1000) min(1, 1001/2000) = lr_scheduled(1000) 0.5. Hälften styrka.
- Vid t = 2000: lr = lr_scheduled(2000) min(1, 2001/2000) = lr_scheduled(2000) 1.0. Full styrka.
- Vid t > 2000: klammer håller multiplikatorn på 1, uppvärmning påverkar inte längre något, kosin-decimer tar över ensam.
Linjär uppvärmning från noll ger modellen 2000 steg för att bilda grova representationer innan AdamW och gradientklippning ser fullstyrka-uppdateringar. Vid steg 2000 har vikterna drifvat så pass mycket att topp-LR inte längre pressar dem in i ett dåligt bassin.
Beräkna LR under uppvärmning
Kosinaviktningsperiod efter uppvärmning
Kurvan
Efter uppvärmningen vid steg 2000 följer lärandeaccelerationshastigheten en kosinisk kurva från toppen ner till noll under de återstående stegen:
lr(t) = lr_min + (lr_peak - lr_min) 0,5 (1 + cos(pi * progress))
där progress = (t - warmup_steps) / (total_steps - warmup_steps). Vid progress = 0 (juster efter uppvärmning), cos(0) = 1, lr = topp. Vid progress = 1 (sista steget), cos(pi) = -1, lr = lr_min (vanligtvis 0 eller en liten golv).
Varför kosin, inte linjär eller exponentiell?
Kosinaviktningsperioden börjar långsamt (kroken är nästan flat nära toppen), accelererar genom mitten, och snabbar sedan igen nära noll. Tre fördelar:
1. Plateau nära toppen. De tidiga steg efter uppvärmningen får fortfarande nästan full lr, vilket låter modellen använda en lång sträcka med hög lärandeaccelerationshastighet för att bygga upp representationer.
2. Smidig övergång genom mitten. Ingen plötslig hoppning som AdamW måste absorbera.
3. Plateau nära noll. De sista stegen får en liten lr för finpolering, liknande simulerad återkylning.
ANDREA-120M tränas i 200K steg totalt; 198K av dessa är kosinaviktningsperioden efter den 2000-stegs uppvärmningen.
ANDREA-12M:s varma återstart vid steg 25K
Plateau
ANDREA-12M tränades i 60K steg med kosinabesläpning från lr = 0.0004 topp. Runt steg 22K stabiliserades förlusten på EMA ~2.4. Kosinabesläpningen hade sänkt lr till ~0.00015. Banditen fortsatte att mata med diversifierade data; modellen slutade förbättras.
Diagnos: lr hade minskat för mycket för att modellen skulle kunna komma loss från dess nuvarande bassäng. Hermes-data skulle snart tas in i kursplanen (steg 25K), vilket innebar 590K nya samtal. Modellen behövde energi för att absorbera den datachocken.
Omstarten
I steg 25K genomfördes en varm omstart: spika lr från 0.00015 (nedbant) upp till 0.0004 (ursprungliga topp), och sedan fortsätta med kosinabesläpning över de återstående stegen.
Loshchilov & Hutter (2017) kallade denna teknik "SGDR" (stokastisk gradientdescents med varma omstarter). Intuitionen: en hög lr ger tillräcklig kinetisk energi för att komma loss från en lokal bassäng och utforska grannbassängar; den efterföljande kosinabesläpningen återanknar i en bättre bassäng.
Uppkomsten. Förlustens EMA minskade från 2.40 till 2.10 under de följande 10K stegen efter omstarten. Modellen levererades i steg 43.6K med SMMA-förlust 2.0, vilket visade en koherens i frågestrukturerna mellan snabba.
ANDREA-120M v2 valde ATT inte använda varma omstarter: med 200K steg tillgängliga och en betydligt större parametraräkning resulterade i en smidig monotont minskning som gav stadigare konvergens. Omstart fungerar bäst när utbildningen är kort och en plateautimmar sammanfaller med en känd dataförskjutning.
Diagnos av v1:s Misslyckande
Schemaval i Praktiken
Angränsande Aktiviteter
Tre syskon länkas till LR-schemat:
- Aktivitet 10: AdamW. Uppvärmning ger AdamW:s bias-korrektion tid att stabilisera. Utan uppvärmning multiplicerar den 10-gångiga amplifikationen vid steg 1 det bullriga gradienterna; med uppvärmning multiplicerar multiplikatorn på riktigt signal.
- Aktivitet 12: Gradient klippning. Klippningen capar gradient L2-normen vid 1.0 INNAN AdamW. Uppvärmning dampar lr; klippning dampar g. Tillsammans håller de de tidiga stegen säkra även på chockförautsättande kurser.
- Aktivitet 22: Checkpointing. En varm återstart kräver att man laddar in optimizers tillstånd (m, v, stegräknare) från ett checkpoint, sedan förändra schemat mitt i loppet. ANDREA-12M:s återstart vid steg 25K demonstrerar detta; det tog två försök att få rätt den state-loading logiken.
Schema, optimizer & klippning bildar en stabilitets triangel. Fäll ett hörn, se ANDREA upprepa dess v1 kollaps.