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“.