Attention-visualisering viser hvilke tidligere tokens en 600M-modell trekker fra
Eksponerer Isham Faizal attention-vektene i en modell på 600 millioner parametere, slik at du kan holde musepekeren over et generert token og se hvilke tidligere tokens det trakk informasjon fra.
«Da jeg begynte å implementere dette, tenkte jeg faktisk at det kanskje ikke ville være forståelig» — Isham Faizal, om visualiseringen
Det ble den likevel. Visualiseringen kjører i nettleseren som en React-app på Transformers.js, og lar deg trykke eller holde musepekeren over hvilket som helst generert token for å se de tidligere tokenene som påvirket det. Faizal er tydelig på hvor mye som er kastet bort underveis: opasiteten styres av attention-vekten skalert med størrelsen på value-vektoren, aggregert over alle attention-hoder og summert over alle lag, altså én tallverdi per tidligere token.
Mønstrene forklarer likevel noe konkret. I eksempelet «Office Move Summary» skiller kildedataene seg tydelig ut når du peker på adresser og datoer som er kopiert ordrett. Faizal knytter det til noe han selv fant uintuitivt ved språkmodeller. Siden modellen har tilgang til alle tidligere tokens, trenger den ikke gjenskape en sekvens fra en begrenset intern tilstand, men kan velge hvilke tokens den skal trekke fra, og feilsannsynligheten ved ordrett kopiering blir svært lav. I eksempelet «Debugging an Average Function» gjengir den lille modellen en hel JS-funksjon korrekt, med kun den tiltenkte endringen.
Selve jobben lå i å få tak i tallene. Transformers.js kjører .onnx-filer der beregningsgrafen og innlastingslogikken ligger i wasm, så bare de forhåndsdefinerte utdataene er tilgjengelige. Faizal skrev et lite skript som modifiserer onnx-filen akkurat nok til å eksponere de interne verdiene, og lastet den instrumenterte modellen opp til sitt eget Hugging Face-repo. Fordi modellen fortsatt er på flere hundre megabyte, er en rekke prompts forhåndsgenerert slik at siden viser noe umiddelbart.
Hva bør du gjøre?
- Se på tokens som er kopiert ordrett fra prompten først. Der er signalet sterkest og mønsteret lettest å lese.
- Vil du hente interne verdier ut av en Transformers.js-modell selv, må du modifisere onnx-filen og hoste den instrumenterte varianten, siden wasm-laget bare gir deg de forhåndsdefinerte utdataene.
- Husk at én tallverdi per token kaster bort mye informasjon. Bruk visualiseringen til å bygge intuisjon, ikke som bevis på hva modellen faktisk gjør internt.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.