Grokking
Grokking je fenomén pri tréningu neurónových sietí, kde model najprv vyzerá, že sa učí len naspamäť (dobrý výkon na tréningu, slabý mimo neho), a až po dlhšom čase sa zrazu „prepne“ do režimu skutočného pochopenia a generalizácie. Jav prvýkrát systematicky opísali výskumníci OpenAI v roku 2022 na malých algoritmických úlohách a odvtedy je obľúbeným oknom do otázky, ako sa siete vlastne učia.
1. Definícia
- Jadro: oneskorená generalizácia — model má dlho nízky výkon na testovacích dátach, potom príde výrazný skok.
- Analógia: pri učení matematiky vieš dlho len postupy naspamäť, a potom zrazu uvidíš princíp a začneš riešiť aj nové príklady.
- Prečo to zaujíma AI komunitu: ukazuje, že „dobrý tréningový výsledok“ nemusí znamenať, že model pochopil pravidlá. Súvisí to s emergentnými vlastnosťami aj s inductive bias.
Slovo „grok“ pochádza zo sci-fi románu Cudzinec v cudzej zemi a znamená „pochopiť niečo úplne, do špiku“. Presne to model spraví — len s veľkým oneskorením.
2. Klasický experiment
Najznámejšie pozorovanie grokkingu je na modulárnej aritmetike: model sa učí napríklad (a + b) mod p. Dataset je malý a uzavretý, takže existuje jednoduché pravidlo, ktoré sa však dá aj „obísť“ memorovaním tabuľky.
Fáza 1 (0–1k krokov): train accuracy ↑ ~100 %, test accuracy ≈ náhoda
Fáza 2 (1k–10k krokov): train 100 %, test STÁLE nízky ← „len memoruje“
Fáza 3 (~10k+ krokov): test accuracy NÁHLE skočí na ~100 % ← grokking
Pointa: dlho to vyzerá ako totálny overfitting — a presne vtedy, keď by si tréning vzdal, sa objaví generalizácia.
3. Prečo k tomu dochádza
- Dve stratégie učenia: model najprv ide cestou memorovania (rýchla cesta k nízkej tréningovej chybe) a až neskôr prejde k jednoduchším pravidlám, ktoré lepšie generalizujú.
- Implicitná regularizácia: tréningové nastavenia (najmä weight decay) postupne tlačia model k „čistejším“, všeobecnejším riešeniam.
- Tréning za nulovú chybu: ak trénuješ dlho po tom, čo model už zvládol tréningové dáta, mení sa ako úlohu interne reprezentuje.
- Konkurencia dvoch obvodov: jedna interpretácia hovorí, že v sieti súperí „memorizačný obvod“ s „generalizačným obvodom“; regularizácia časom zvýhodní ten druhý, lebo je jednoduchší (menšie váhy).
4. Úloha weight decay
Weight decay (L2 penalizácia veľkosti váh) je v príbehu grokkingu kľúčový. Zjednoduchá predstava update kroku:
# klasický gradientný krok s weight decay
for p in model.parameters():
p.grad += weight_decay * p # penalizuj veľké váhy
p.data -= lr * p.grad
# bez weight decay: model často zostane navždy v „memorizačnej“ fáze
# s vhodným weight decay: po čase sa preklopí do generalizácie
Bez regularizácie grokking často nepríde vôbec — model navždy zostane preučený. To je silný dôkaz, že generalizácia nie je „zadarmo“, ale dôsledok konkrétneho inductive bias.
5. Hlavné prejavy v praxi
- Grafy accuracy/loss: dlhý čas train výborný, test/val slabý, potom náhly skok na val.
- Zmena typu chýb: z chaotických a nekonzistentných chýb na chyby, ktoré vyzerajú „systematicky“ (model už má pravidlo, len sa občas pomýli).
- Citlivosť na regularizáciu: malé zmeny v tréningu rozhodnú, či grokking príde alebo nie.
- Neintuitívne „kedy prestať“: klasický early stopping by tréning ukončil skôr, než by sa generalizácia objavila.
6. Súvislosť so škálovaním a emergenciou
Grokking je na malej, kontrolovanej úlohe to, čomu pri veľkých modeloch hovoríme emergentné vlastnosti: schopnosť sa „objaví“ skokovo. V oboch prípadoch platí, že jedna metrika v jednom okamihu môže výrazne podceniť to, čo sa v modeli reálne deje pod povrchom.
7. Prečo je to dôležité
- Nastavenie tréningu: ak chceš generalizáciu, môže byť chyba skončiť príliš skoro.
- Interpretácia výsledkov: nízky výkon na valide neznamená vždy zlú architektúru — môže to byť len fáza učenia.
- Mechanistická interpretovateľnosť: grokking dáva výskumníkom čistý laboratórny prípad, na ktorom vidno vznik algoritmu vnútri siete.
- Riziko: čakať na grokking „naslepo“ je drahé — nie vždy príde a nie vždy je to správna stratégia.
8. Ako sa to meria a rieši
- Sledovanie train vs. val v čase: bez priebehu v čase grokking neuvidíš.
- Experimenty s regularizáciou: weight decay, kontrola kapacity modelu, stabilnejší tréning (learning rate, batch).
- Kedy čakať: úloha má jednoduché pravidlo a train sa stabilne zlepšuje bez kolapsu.
- Kedy nečakať: val metriky dlhodobo stagnujú a chyby nemajú trend.
- Rýchlejšia cesta než „dlhý tréning“: lepšie dáta (viac pokrytia pravidla), augmentácia, a až potom dlhý tréning ako posledná páka.
9. Quick Reference
| Otázka | Odpoveď |
|---|---|
| Čo to je | oneskorený prechod z memorovania na generalizáciu |
| Ako to spoznáš | train super, val slabý, potom náhly skok val |
| Čo to spúšťa | dlhý tréning + regularizácia (najmä weight decay) |
| Prečo to riešiť | aby si neukončil tréning tesne pred „pochopením“ |
Zhrnutie
- Grokking je fenomén, kde model dlho vyzerá preučený a až neskôr začne skutočne generalizovať.
- Spúšťa ho kombinácia dlhého tréningu a regularizácie (najmä weight decay) — generalizácia nie je zadarmo.
- Pre prax je dôležité nemýliť si dobrý tréningový výkon s pochopením pravidla.
- Najlepšia obrana je dobré meranie v čase a rozumné nastavenia, nie len „trénovať dlhšie“.