Model se natrénoval a co v něm vlastně vzniklo? Miliardy čísel, ve kterých nikdo nic nenaprogramoval. Obor, který se to snaží rozluštit, se jmenuje mechanistická interpretabilita a je to nejzajímavější část celého výzkumu: hledá konkrétní mechanismy uvnitř sítě, ne jen statistiky o jejím chování. Tahle kapitola shrne, co se zatím ví.
Residual stream jako sběrnice
Nejužitečnější představa: reprezentace tokenu je sběrnice, do které jednotlivé komponenty zapisují a ze které čtou (viz anatomie modelu).
vstup ──►[ residual stream ]──►[ residual stream ]──► … ──► výstup
▲ │ ▲ │
attention FFN attention FFN
zapíše zapíše přečte zapíše
Vrstvy tedy nepracují po sobě jako výrobní linka, ale spíš jako skupina odborníků, kteří si předávají poznámky v jednom sešitě. Některé komponenty spolu komunikují napřímo přes vrstvy, jedna něco zapíše ve vrstvě 5 a jiná si to přečte ve vrstvě 20.
Induction heads: první rozluštěný mechanismus
Nejlépe popsaný objev v celém oboru. Jde o dvojici attention hlav, které společně provádějí jednoduchý, ale mocný trik: „už jsem tenhle vzor viděl, tak ho zopakuj“.
kontext: … Novák pracuje v Brně … Novák pracuje v
↑
induction head: „naposledy po ‚Novák pracuje v‘ následovalo ‚Brně‘“ → predikuj „Brně“
Mechanismus má dva kroky: jedna hlava k tokenu připojí informaci „co bylo přede mnou“, druhá pak najde dřívější výskyt téhož a zkopíruje, co po něm následovalo.
Proč je to tak důležité: tyhle hlavy se objevují náhle, ve fázovém přechodu během tréninku a přesně v ten moment model získá schopnost učit se z příkladů v promptu. Je to nejsilnější známé propojení mezi konkrétním mechanismem uvnitř a schopností navenek. Podrobněji v učení v kontextu.
Superpozice: proč neuron neznamená jednu věc
Zdálo by se logické, že každý neuron kóduje jeden pojem. Skutečnost je jiná: model potřebuje reprezentovat mnohem víc konceptů, než má rozměrů. Řeší to tak, že je uloží jako téměř kolmé směry ve sdíleném prostoru.
1 000 rozměrů, ale 100 000 konceptů
→ každý koncept je směr, ne neuron
→ jeden neuron se rozsvítí u „čínštiny“, „DNA“ i „právních textů“
Tomu se říká polysémantické neurony a je to hlavní překážka porozumění: nemůžeš se dívat na jednotlivé neurony a čekat srozumitelný význam. Funguje to proto, že v prostoru o mnoha rozměrech se dá naskládat obrovské množství skoro nekorelovaných směrů a protože aktivních konceptů je v každém okamžiku jen málo, rušení je únosné.
Sparse autoencoders: rozklad na rysy
Nápad, jak superpozici rozplést: natrénuj malou pomocnou síť, která aktivace rozloží na mnoho řídkých rysů (features), z tisíce rozměrů udělá třeba sto tisíc směrů, z nichž je v každém okamžiku aktivních jen pár.
Takové rysy jsou pak často překvapivě srozumitelné: rys pro „text v uvozovkách“, „odkaz na právní paragraf“, „kód v Pythonu uvnitř řetězce“, „lichotivý tón“. A co je zásadní, dají se aktivně měnit: zesílení nebo potlačení rysu prokazatelně změní chování modelu.
To otevírá cestu k něčemu, co dnes neumíme: auditovat, proč model udělal, co udělal, a cíleně zasáhnout, aniž bys ho přetrénoval.
Další nástroje oboru
- Activation patching. Vezmi aktivaci z jednoho průchodu a vlož ji do jiného. Když se výsledek změní, našel jsi místo, kde ta informace „bydlí“.
- Probing. Natrénuj jednoduchý klasifikátor nad vnitřními aktivacemi. Když z nich jde přečíst třeba „tohle tvrzení je nepravdivé“, znamená to, že model tu informaci má, i když ji v odpovědi nepoužije.
- Circuit analysis. Popsat konkrétní podsíť, která řeší konkrétní úlohu (například dokončení nepřímého objektu ve větě), a ověřit to zásahy.
Proč to není jen akademie
- Bezpečnost. Probing naznačuje, že modely někdy „vědí“, že jejich tvrzení je pochybné. Kdybychom to uměli spolehlivě číst, máme detektor halucinací nezávislý na sebehodnocení modelu.
- Řízení chování bez fine-tuningu, zesílení či potlačení rysu je levné a vratné.
- Audit. U regulovaných oblastí bude jednou potřeba doložit, na základě čeho model rozhodl.
- Realistická očekávání. Interpretabilita zatím zvládá dílčí mechanismy, ne celý model. Kdo tvrdí, že ví, „proč“ model odpověděl konkrétně takhle, buď zjednodušuje, nebo lže.
Cvičení
- Co je induction head a proč se považuje za nejlépe doložené vysvětlení učení v kontextu?
- Jeden neuron se aktivuje u francouzštiny, u chemických vzorců a u HTML tagů. Je rozbitý?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Dvojice hlav, která najde předchozí výskyt aktuálního tokenu a zkopíruje to, co po něm následovalo. Dělá tedy přesně to, co potřebuješ k pokračování ve vzoru: „A pak B, teď zas A, takže nejspíš B“. Považuje se za dobře doložené proto, že se dá v modelu najít, popsat mechanicky a hlavně že se objevuje náhle ve stejném okamžiku tréninku, kdy modelu skokově vyroste schopnost učit se z příkladů v promptu.
- Není, je to superpozice. Model má víc rysů, které chce reprezentovat, než má neuronů, takže je ukládá jako téměř kolmé směry ve sdíleném prostoru. Jeden neuron pak vypadá nesouvisle, protože se podílí na několika rysech naráz. Právě proto se pro interpretaci používají sparse autoencoders: rozloží aktivace na větší počet rysů, z nichž každý už bývá pro člověka čitelný.
Shrnutí
- Residual stream je sběrnice, do níž komponenty zapisují a ze které čtou napříč vrstvami.
- Induction heads jsou rozluštěný mechanismus kopírování vzoru a vysvětlují učení z příkladů.
- Superpozice znamená, že koncepty jsou směry, ne neurony; proto jsou neurony polysémantické.
- Sparse autoencoders rozkládají aktivace na srozumitelné rysy, které jde i cíleně měnit.
Co dělá induction head a proč je jeho objev tak důležitý?
Najde dřívější výskyt aktuálního vzoru v kontextu a zkopíruje, co po něm následovalo, tedy mechanismus „už jsem to viděl, pokračuj stejně“. Důležitý je proto, že se tyhle hlavy objevují v náhlém fázovém přechodu tréninku a přesně tehdy model získá schopnost učit se z příkladů v promptu.
Proč se nedá pochopit model tak, že se podíváš, co dělá jednotlivý neuron?
Kvůli superpozici: model reprezentuje mnohem víc konceptů, než má rozměrů, takže je ukládá jako téměř kolmé směry ve sdíleném prostoru. Jeden neuron se pak aktivuje u nesouvisejících věcí, je polysémantický a sám o sobě nic srozumitelného neznamená.
K čemu slouží sparse autoencoders v interpretabilitě?
Rozkládají vnitřní aktivace na velké množství řídkých rysů, z nichž je v každém okamžiku aktivních jen pár. Takové rysy bývají srozumitelné (například „text v uvozovkách“ nebo „lichotivý tón“) a dají se cíleně zesílit či potlačit, což mění chování modelu bez přetrénování.
