Hoppa till innehållet
AI-grafen
G· Frontier Labinterpretability· ca 120 min· volatil — kontrolleras ofta· verifierad 2026-09-20

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

Alla källor och licenser