Mechanistic interpretability — grunderna
Kunna inspektera aktiveringar och attention-huvuden, hitta kretsar för enkla beteenden och verifiera med interventioner.
Förkunskaper
Intuition
Mekanistisk interpretability försöker förstå vad nätverket beräknar — inte bara att det fungerar. Verktygen:
- Residualströmmen: i en transformer läser och skriver varje lager till samma vektor per token. Man kan läsa av den efter varje lager.
- Logit lens: projicera residualströmmen efter lager ℓ genom utmatrisen → vilken token «tror» modellen på halvvägs? Ofta syns svaret växa fram lager för lager.
- Attention-mönster: vissa huvuden gör tydliga saker: «föregående token», «kopiera från tidigare förekomst» (induktionshuvuden — grunden för in-context learning).
- Prober: träna en linjär klassificerare på aktiveringar för att se om en egenskap (t.ex. «detta är ett verb») är linjärt läsbar.
Men: observation ≠ mekanism. Att ett huvud tittar på subjektet bevisar inte att det används. Därför: intervention — ändra aktiveringen och se om utdata ändras som hypotesen förutsäger. Det är nästa nod.
Kod
# Med TransformerLens (Nanda) på GPT-2 small
from transformer_lens import HookedTransformer
import torch
m = HookedTransformer.from_pretrained("gpt2-small")
text = "When Mary and John went to the store, John gave a drink to"
toks = m.to_tokens(text)
logits, cache = m.run_with_cache(toks)
print(m.to_string(logits[0, -1].argmax())) # ' Mary'
# logit lens: vad tror modellen efter varje lager?
for l in range(m.cfg.n_layers):
resid = cache[f"blocks.{l}.hook_resid_post"][0, -1]
top = m.unembed(m.ln_final(resid[None, None]))[0, 0].argmax()
print(l, repr(m.to_string(top)))
# attention-mönster för huvud (9, 9) — känt «name mover» i IOI-kretsen
attn = cache["blocks.9.attn.hook_pattern"][0, 9] # (T, T)
print(attn[-1].topk(3)) # sista token tittar på ' Mary'?
# linjär probe: är «token är ett namn» läsbart i lager 6?
# X = cache["blocks.6.hook_resid_post"][0]; y = etiketter; LogisticRegression().fit(X, y)
Forskning
Fältet bygger på Elhage m.fl. (2021) A Mathematical Framework for Transformer Circuits: attention-huvuden som läs/skriv-operationer på residualströmmen, QK-kretsen (var man tittar) och OV-kretsen (vad som kopieras). Olsson m.fl. (2022) visade induktionshuvuden och deras koppling till in-context learning. Wang m.fl. (2022) kartlade IOI-kretsen i GPT-2 small (26 huvuden i sju roller) med aktiveringspatchning. Superposition (Elhage 2022) förklarar varför enskilda neuroner är polysemantiska, och sparse autoencoders (Bricken 2023, Templeton 2024) används för att hitta tolkbara «features» i stora modeller. Öppna frågor: skalning av metoderna, hur mycket av beteendet som förklaras av funna kretsar, och om tolkningar är faithful (kausalt korrekta) eller bara plausibla.
Behärskning innebär
- Inspekterar aktiveringar, residualström och attention-huvuden i en liten transformer
- Använder logit lens och attention-mönster för hypoteser
- Verifierar hypoteser med interventioner, inte bara observation
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Elhage m.fl. — A Mathematical Framework for Transformer Circuits (Anthropic) — fri läsning
- arXiv — In-context Learning and Induction Heads — arXiv (öppen åtkomst; licens per artikel)
- TransformerLens (MIT) — MIT