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:
- Fouriereho reprezentácia: vstupné čísla sú zakódované ako frekvencie — číslo
aje reprezentované hodnotamisin(ωa)acos(ωa)pre vybrané frekvencieω. - Sčítanie na kruhu: model efektívne vykonáva aritmetiku na kruhovej priamke — „hodinový algoritmus", kde súčet zodpovedá rotácii uhla.
- Čí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:
- L2 norma váh klesá — model „upratuje" po memorovacej fáze; pri slingshot mechanizme hľadáme moment po vrchole normy.
- Gradient variance klesá — optimalizátor konverguje na stálejšiu oblasť.
- 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.