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. Do roku 2026 sa výskum rozšíril na väčšie modely, LLM-y, reinforcement learning aj praktické odporúčania pre produkčný tréning.


Slovo „grok" pochádza zo sci-fi románu Cudzinec v cudzej zemi Roberta A. Heinleina a znamená „pochopiť niečo úplne, do špiku". Presne to model spraví — len s veľkým oneskorením.


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.

Grokking nie je len akademická kuriozita — je to laboratórny model pre otázku, ktorá sa týka každého tréningu veľkých sietí: kedy model skutočne pochopil pravidlo a kedy len reprodukuje vzory z dát?


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.

Experiment bol zreplikovaný na mnohých ďalších úlohách: permutácie, porovnávanie čísel, jednoduché grafy a logické obvody. Vo všetkých prípadoch platí rovnaký vzorec — memorovanie predchádza pochopenie.


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).
  • Efektívnosť kódovania: generalizačný obvod vyžaduje menej parametrov na uloženie rovnakej informácie. Optimalizátor ho preto uprednostní, len mu trvá dlhšie, kým ho „postaví".

Slingshot mechanizmus

Jeden z pozoruhodnejších detailov odhalený v rokoch 2023–2024: pri tréningu s Adam optimalizátorom norma váh počas memorovacej fázy exponenciálne rastie, potom rýchlo a dramaticky klesne — tvar krivky pripomína prašok. Práve tento „odraz" (slingshot) predchádza grokunutie a je spoľahlivým interným signálom, že sa generalizácia blíži.

SGD s momentum v porovnaní s Adamom grokuje spoľahlivejšie bez špeciálneho naladenia weight decay, pretože nemá adaptívny learning rate, ktorý by memorovanie stabilizoval do lokálneho minima. V praxi to znamená, že voľba optimalizátora výrazne ovplyvňuje, či a kedy grokking nastane.

Dôležitý detail: grokking nastáva práve preto, že memorovanie a generalizácia sú konkurenčné stratégie a nie kroky na jednej ceste. Model neupravuje svoju pamäť — buduje paralelne nový obvod a ten starý postupne odstraňuje.


4. Mechanistická interpretovateľnosť: čo je vnútri

Výskum Neela Nandu a kolegov (DeepMind, 2023) priniesol jeden z najpresvedčivejších pohľadov dovnútra grokkingu. Na modeli trénovanom na (a + b) mod p identifikovali konkrétny algoritmus, ktorý model po grokunutí používa:

  1. Fouriereho reprezentácia: vstupné čísla sú zakódované ako frekvencie — číslo a je reprezentované hodnotami sin(ωa) a cos(ωa) pre vybrané frekvencie ω.
  2. Sčítanie na kruhu: model efektívne vykonáva aritmetiku na kruhovej priamke — „hodinový algoritmus", kde súčet zodpovedá rotácii uhla.
  3. Čítanie výsledku: výstupná vrstva dekóduje výslednú frekvenciu späť na číslo.

Toto je pozoruhodné: model objavil niečo blízke matematickej štruktúre problému bez toho, aby mu bolo povedané, čo má hľadať. A táto štruktúra sa objavila až po grokunutí — pred ním model fungoval inak.

Pred grokunutím:  [lookup table] → priame mapovanie vstup → výstup
Po grokunutí:     [Fourier encode] → [rotate on circle] → [decode] → výstup

Rozšírenia z rokov 2024–2025

Nadväzujúce práce rozšírili tento nález aj za modulárnu aritmetiku:

  • Permutácie a skupinová teória: modely trénované na skladaní permutácií objavia po grokunutí štruktúry zodpovedajúce reprezentáciám symetrickej grupy — bez akejkoľvek explicitnej informácie o algebre.
  • Jednoduché grafy: pri úlohách na grafoch sa po grokunutí objavujú obvody zodpovedajúce efektívnym grafovým algoritmom (BFS-like prehľadávanie), nie brute-force tabuľky.
  • Neural collapse analógia: tesne pred grokunutím sa aktivácie poslednej vrstvy zhlukujú — správanie podobné neural collapse fenoménu, kde sa triedy „zbalia" do geometricky čistých štruktúr.

Tento nález je dôvodom, prečo sa grokking stal štandardnou benchmarkovou úlohou pre mechanistickú interpretovateľnosť: je dostatočne jednoduchý na to, aby bol úplne analyzovateľný, a dostatočne netriviálny na to, aby ukazoval niečo zaujímavé.


5. Úloha weight decay a optimalizátora

Weight decay (L2 penalizácia veľkosti váh) je v príbehu grokkingu kľúčový. Zjednodušená 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.

Weight decay Správanie modelu
0 (žiadna) Trvalý overfitting, grokking nenastane
Príliš malá Grokking oneskorený o desiatky tisíc krokov
Optimálna Grokking nastane v rozumnom čase
Príliš veľká Model sa nedoučí ani tréningové dáta (underfitting)

Okrem weight decay majú vplyv aj: learning rate schedule (pomalší pokles pomáha), veľkosť datasetu (väčší dataset skracuje čas do grokunutia), kapacita modelu (prebytočná kapacita oneskoruje generalizáciu) a voľba optimalizátora (Adam vs. SGD — pozri Slingshot mechanizmus vyššie).


6. Indikátory pokroku: predpovedanie grokkingu bez čakania

Jeden z prakticky najužitočnejších výsledkov výskumu po roku 2022 je práca na tzv. progress measures (Barak et al., 2022 a nadväzujúci výskum). Namiesto čakania na skok v test accuracy možno sledovať interné veličiny, ktoré predpovedajú, že grokking príde.

Tri prakticky sledovateľné signály:

  1. L2 norma váh klesá — model „upratuje" po memorovacej fáze; pri slingshot mechanizme hľadáme moment po vrchole normy.
  2. Gradient variance klesá — optimalizátor konverguje na stálejšiu oblasť.
  3. Logit entropy na testovacích príkladoch klesá — model si začína byť istejší aj na nevidených príkladoch, aj keď accuracy ešte neskočila.

Sledovanie týchto metrík umožňuje predpovedať grokking niekoľko tisíc krokov dopredu a rozlíšiť situáciu „grokking príde čoskoro" od situácie „model zaseknutý navždy".

Praktická implementácia monitoringu (2025–2026)

Moderné MLOps nástroje (Weights & Biases, MLflow) umožňujú tieto signály sledovať automaticky. Odporúčaná sada metrík pre každý tréningový run:

# príklad logovania progress measures (PyTorch + W&B)
l2_norm = sum(p.norm(2).item() for p in model.parameters())
grad_var = sum(p.grad.var().item() for p in model.parameters() if p.grad is not None)

wandb.log({
    "train/accuracy": train_acc,
    "val/accuracy":   val_acc,
    "diagnostics/l2_norm":  l2_norm,
    "diagnostics/grad_var": grad_var,
    # logit entropy loguješ z výstupu modelu na val sete
})

Ak L2 norma klesá a logit entropy na validačnom sete klesá, ale val accuracy ešte nestúpla — grokking pravdepodobne príde a tréning má zmysel pokračovať.


7. Urýchlenie grokkingu: praktické techniky

Dlhý tréning nie je jediná cesta. Výskum z rokov 2024–2026 identifikoval niekoľko prístupov, ktoré skracujú čas do grokunutia bez kompromisov v kvalite generalizácie:

Technika Efekt Poznámka
Vyšší weight decay Výrazné skrátenie Pozor na underfitting
Augmentácia dát Skrátenie + robustnosť Najspoľahlivejší prístup
Lepšia inicializácia (Kaiming/Xavier) Mierny prínos Zadarmo, vždy použiť
Curriculum learning Skrátenie pri zložitých úlohách Závisí od štruktúry problému
Zníženie learning rate skôr Spomaľuje memorovanie Trade-off s celkovou rýchlosťou
Dropout v memorovacej fáze Priamo bráni memorovaniu Opatrne — môže zhoršiť train

Kľúčový insight: najspoľahlivejšou skratkou je viac dát (pokrytie pravidla). Ak dataset pokrýva pravidlo dostatočne, memorovanie sa stáva menej výhodnou stratégiou a grokking príde skôr. Toto je zároveň jedným z dôvodov, prečo veľké LLM-y grokujú rýchlejšie na mnohých úlohách — ich tréningový dataset je natoľko veľký, že lookup tabuľky nie sú efektívne ani v krátkom horizonte.


8. Grokking pri väčších modeloch, LLM-och a reinforcement learningu

Pôvodný výskum pracoval s malými transformermi (2–4 vrstvy) na syntetických dátach. Otázka pre roky 2023–2026: nastáva grokking aj v prípade veľkých modelov?

Veľké modely a LLM-y

  • Grokking-like správanie bolo pozorované v LLM-och pri few-shot in-context learning: model dlho nevie úlohu riešiť, a po určitom prahu počtu príkladov v kontexte accuracy náhle stúpne.
  • Pri fine-tuningu LLM-ov na špecializované domény (medicína, právo, kód) sa občas objavuje oneskorená generalizácia — model najprv reprodukuje tréningové príklady a až neskôr začne riešiť variácie správne.
  • Scaling laws pre grokking: čas do grokunutia škáluje polynomiálne s veľkosťou datasetu a inverzne s veľkosťou modelu. Väčší model na rovnakých dátach grokuje rýchlejšie, čo čiastočne vysvetľuje, prečo sa emergentné schopnosti objavujú pri škálovaní.

Reinforcement learning

Grokking sa objavuje aj mimo supervizovaného učenia:

  • Policy generalizácia: pri RL agentoch trénovaných na zjednodušených prostrediach sa policy najprv „naučí" konkrétne sekvencie pohybov (memorovanie), a až po dlhšom tréningu príde schopnosť riešiť nové variácie prostredia.
  • RLHF a reward hacking: modely trénované cez RLHF prechádzajú fázami, kde najprv „hackujú" reward model (ekvivalent memorovania), a neskôr — ak tréning pokračuje s vhodnou regularizáciou — príde skutočná alignment s intenciou odmeny.
  • Sparse reward problém: v prostrediach s riedkymi odmenami je grokking-like oneskorenie obzvlášť výrazné; progress measures analogické tým zo supervizovaného učenia pomáhajú odlíšiť „zaseknutého agenta" od „agenta tesne pred prielomom".

Ungrokking

Ungrokking — opačný fenomén, kde model po ďalšom tréningu stratí generalizáciu a vráti sa k memorovaniu — bol zdokumentovaný pri continual learning (sekvenčnom doučovaní). Nastáva, keď nové tréningové dáta sú dostatočne odlišné od pôvodných, že generalizačný obvod sa stane menej výhodným než nová lookup tabuľka.

Dôležitá výhrada: pri veľkých modeloch je oveľa ťažšie izolovať grokking od iných efektov (distribučného posunu, zmien v dátach, interakcie vrstiev). Malé syntetické úlohy zostávajú čistejším laboratórnym prostredím.


9. Súvislosť so škálovaním, emergenciou a dvojitým zostupom

Grokking patrí do širšej rodiny javov, kde výkon neurónových sietí nie je monotónny:

  • Emergentné vlastnosti: schopnosť sa „objaví" skokovo pri škálovaní modelu alebo datasetu — rovnaká logika ako pri grokunutí, len na inej osi.
  • Dvojitý zostup (double descent): test error najprv klesá, pri určitej kapacite modelu stúpne (overfitting), a potom pri ďalšom škálovaní opäť klesne. Grokking je analogický jav na časovej osi tréningu.
  • Fázy tréningu transformerov: výskum ukazuje, že veľké modely nemajú hladkú krivku učenia — prechádzajú fázami, kde sa rôzne schopnosti objavujú nelineárne.

Spoločný motív vo všetkých týchto javoch: jedna metrika v jednom okamihu môže výrazne podceniť to, čo sa v modeli reálne deje pod povrchom.


10. 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.
  • Skoková zmena váh: pri analýze normy váh sa grokking prejaví ako fáza rýchlejšej zmeny (slingshot), po ktorej nasleduje stabilizácia.

11. Ako sa to meria a rieši

  • Sledovanie train vs. val v čase: bez priebehu v čase grokking neuvidíš.
  • Sledovanie progress measures: L2 norma váh, gradient variance, logit entropy — tieto signály predpovedajú grokking skôr než accuracy skok.
  • Experimenty s regularizáciou: weight decay, kontrola kapacity modelu, stabilnejší tréning (learning rate schedule, batch size).
  • Kedy čakať: úloha má jednoduché pravidlo, train sa stabilne zlepšuje bez kolapsu, L2 norma klesá, slingshot skok prešiel.
  • Kedy nečakať: val metriky dlhodobo stagnujú bez trendu, progress measures neukazujú pokrok, úloha nemá zjavnú generalizovateľnú štruktúru.
  • Rýchlejšia cesta než „dlhý tréning": lepšie dáta (viac pokrytia pravidla), augmentácia, vyšší weight decay — a až potom dlhý tréning ako posledná páka.

12. 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 — a teda aj metódy, ako takéto obvody identifikovať vo väčších modeloch.
  • Tréningové rozhodnutia v praxi: fine-tuning LLM-ov, kde oneskorená generalizácia môže byť mätúca bez znalosti tohto fenoménu.
  • Alignment výskum: grokking-like správanie pri RLHF má priame implikácie pre bezpečnosť — model, ktorý „hackuje" reward funkciu, môže neskôr skutočne generalizovať na nechcené správanie.
  • Riziko: čakať na grokking „naslepo" je drahé — nie vždy príde a nie vždy je to správna stratégia.

13. 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 accuracy
Čo to spúšťa Dlhý tréning + regularizácia (najmä weight decay)
Ako to predpovedať Sledovať L2 normu, slingshot moment, logit entropy
Prečo to riešiť Aby si neukončil tréning tesne pred „pochopením"
Kde sa objavuje Algoritmické úlohy, fine-tuning, in-context learning, RL
Čo je vnútri Fourierove frekvencie, „hodinový algoritmus" (mod. aritmetika)
Ako urýchliť Viac dát, augmentácia, vyšší weight decay
Súvisiace javy Emergencia, dvojitý zostup, ungrokking, neural collapse

Chronológia výskumu

Rok Míľnik
2022 Power et al. (OpenAI) — prvý systematický opis, modulárna aritmetika
2022 Barak et al. — progress measures, predpovedanie grokkingu
2023 Nanda et al. (DeepMind) — mechanistická analýza, Fourierove obvody
2023 Slingshot mechanizmus — identifikácia dynamiky normy váh pri Adam optimalizátore
2023–2024 Rozšírenie na in-context learning a LLM fine-tuning
2024 Ungrokking, continual learning, grokking pri permutáciách a grafoch
2024–2025 Grokking pri reinforcement learning a RLHF; scaling laws pre čas grokkingu
2025–2026 Integrácia progress measures do MLOps toolchain; praktické odporúčania pre produkčný tréning

Zhrnutie

  • Grokking je fenomén, kde model dlho vyzerá preučený a až neskôr začne skutočne generalizovať — pomenovaný po slovnom výraze pre „úplné pochopenie".
  • Spúšťa ho kombinácia dlhého tréningu a regularizácie (najmä weight decay) — generalizácia nie je zadarmo.
  • Slingshot mechanizmus ukazuje, že norma váh pred grokunutím dramaticky stúpne a potom klesne — tento vzor je prediktívnym signálom.
  • Mechanistická interpretovateľnosť odhalila, čo sa deje vnútri: model si po grokunutí vybuduje elegantný algoritmický obvod (Fourierove frekvencie pre modulárnu aritmetiku, skupinové reprezentácie pre permutácie) namiesto pôvodnej lookup tabuľky.
  • Progress measures (L2 norma, gradient variance, logit entropy) umožňujú predpovedať grokking bez čakania na accuracy skok.
  • Jav bol pozorovaný aj pri väčších modeloch, LLM-och a reinforcement learningu, hoci v menej čistej forme. Scaling laws naznačujú, že väčšie modely grokujú rýchlejšie.
  • Pre prax je kľúčové nemýliť si dobrý tréningový výkon s pochopením pravidla, merať viaceré signály v čase a vedieť, kedy je výhodnejšie investovať do lepších dát namiesto dlhšieho tréningu.