Neurale netwerken begrijpen via spaarzame circuits
We hebben modellen getraind om in eenvoudigere, beter traceerbare stappen na te denken, zodat we beter kunnen begrijpen hoe ze werken.
Neurale netwerken sturen de actuele en meest geavanceerde AI-systemen aan, maar ze blijven moeilijk te begrijpen. We schrijven deze modellen niet met expliciete, stapsgewijze instructies. In plaats daarvan leren ze door miljarden interne verbindingen, of 'gewichten', aan te passen totdat ze een taak onder de knie hebben. We ontwerpen de regels voor training, maar niet het specifieke gedrag dat daaruit voortkomt, en het resultaat is een dicht netwerk van verbindingen dat geen mens gemakkelijk kan ontcijferen.
Nu AI-systemen steeds capabeler worden en in de echte wereld invloed hebben op beslissingen in de wetenschap, onderwijs en gezondheidszorg, is het essentieel te begrijpen hoe ze werken. Interpreteerbaarheid verwijst naar methoden die ons helpen begrijpen waarom een model een bepaald resultaat heeft geproduceerd. Er zijn veel manieren waarop we dit zouden kunnen bereiken.
Bijvoorbeeld, redeneermodellen worden aangemoedigd om hun werk uit te leggen op weg naar een definitief antwoord. De Chain of Thought-interpretatie maakt gebruik van deze verklaringen om het gedrag van het model te volgen. Dit is direct nuttig: de gedachteketens van de huidige redeneermodellen lijken informatief te zijn met betrekking tot zorgwekkend gedrag zoals misleiding. Het is echter een broze strategie om volledig op deze eigenschap te vertrouwen, en dit kan na verloop van tijd mislukken.
Aan de andere kant streeft mechanistische interpreteerbaarheid, waar dit artikel zich op richt, ernaar om de berekeningen van een model volledig te doorgronden. Tot nu toe is het minder direct bruikbaar gebleken, maar in principe zou het een completere verklaring kunnen bieden voor het gedrag van het model. Doordat mechanistische interpreteerbaarheid probeert het gedrag van modellen op het meest gedetailleerde niveau te verklaren, kan deze minder aannames doen en ons meer vertrouwen geven. Maar de weg van oppervlakkige details naar verklaringen van complex gedrag is veel langer en moeilijker.
Interpreteerbaarheid biedt ondersteuning voor verschillende belangrijke doelen, zoals beter toezicht mogelijk maken en vroegtijdige waarschuwingen geven voor onveilig of strategisch verkeerd afgestemd gedrag. Het vult ook onze andere veiligheidsinspanningen aan, zoals schaalbaar overzicht, training en red-teaming.
In dit artikel laten we zien dat we modellen vaak zo kunnen trainen dat ze gemakkelijker te interpreteren zijn. We zien ons werk als een veelbelovende aanvulling op de post-hoc analyse van dichte netwerken.
Dit is een zeer ambitieuze gok; er is een lange weg te gaan van ons werk naar het volledig begrijpen van het complexe gedrag van onze krachtigste modellen. Toch merken we dat voor eenvoudige gedragingen spaarzame modellen, getraind met onze methode, kleine en ontwarde circuits bevatten die zowel begrijpelijk als voldoende zijn om het gedrag uit te voeren. Dit suggereert dat er een begaanbare weg is naar de training van grotere systemen waarvan we de mechanismen kunnen begrijpen.
Eerder werk op het gebied van mechanistische interpreteerbaarheid begon met dichte, verwarde netwerken en probeerde deze te ontwarren. In deze netwerken is elk individueel neuron verbonden met duizenden andere neuronen. De meeste neuronen lijken veel verschillende functies uit te voeren, waardoor het schijnbaar onmogelijk is om ze te begrijpen.
Maar wat als we ontwarde neurale netwerken zouden trainen, met veel meer neuronen, maar waarbij elk neuron slechts enkele tientallen verbindingen heeft? Dan wordt het resulterende netwerk misschien eenvoudiger en makkelijker te begrijpen. Dit is de centrale gok die we nemen in ons onderzoekswerk.
Met dit principe in gedachten hebben we taalmodellen getraind met een architectuur die sterk lijkt op bestaande taalmodellen zoals GPT‑2, met één kleine aanpassing: we dwingen de overgrote meerderheid van de gewichten van het model nul te zijn. Dit beperkte het model om maar heel weinig van de mogelijke verbindingen tussen zijn neuronen te gebruiken. Dit is een eenvoudige verandering die volgens ons de interne berekeningen van het model aanzienlijk ontwart.
In normale dichte neurale netwerken is elk neuron verbonden met elk neuron in de volgende laag. In onze spaarzame modellen maakt elk neuron slechts verbinding met enkele neuronen in de volgende laag. We hopen dat dit de neuronen en het netwerk als geheel makkelijker te begrijpen maakt.
We willen meten in hoeverre de berekeningen van onze spaarzame modellen zijn ontward. We keken naar verschillende eenvoudige gedragingen van het model en controleerden of we de delen van het model die verantwoordelijk zijn voor elk gedrag konden isoleren, dit noemen we circuits.
We hebben een reeks eenvoudige algoritmische taken handmatig samengesteld. Voor elke taak hebben we het model teruggebracht tot het kleinste circuit dat de taak nog kan uitvoeren, en hebben we onderzocht hoe eenvoudig dat circuit is. (Zie ons paper(opent in een nieuw venster) voor meer details.) We ontdekten dat door grotere en spaarzamere modellen te trainen, we steeds capabelere modellen konden maken met steeds eenvoudigere circuits.
We zetten de interpreteerbaarheid af tegen de mogelijkheden van de modellen (linksonder is beter). Voor een vaste grootte van een spaarzaam model vermindert het verhogen van de spaarzaamheid — door meer gewichten op nul te zetten — de capaciteit, maar verhoogt het de interpreteerbaarheid. Het opschalen van de modelgrootte verschuift deze grens naar buiten, wat suggereert dat we grotere modellen kunnen bouwen die zowel krachtig als interpreteerbaar zijn.
Concreet gezegd: stel je een taak voor waarbij een model dat getraind is op Python-code een string moet aanvullen met het juiste type aanhalingsteken. In Python moet 'hello' eindigen met een enkel aanhalingsteken en "hello" moet eindigen met een dubbel aanhalingsteken. Het model kan dit oplossen door te onthouden welk aanhalingsteken de string heeft geopend en het aan het einde te reproduceren.
Onze meest interpreteerbare modellen lijken ontwarde circuits te bevatten die precies dat algoritme uitvoeren.

Voorbeeldcircuit in een spaarzame transformator dat voorspelt of een string moet eindigen met een enkel of dubbel aanhalingsteken. Dit circuit gebruikt slechts vijf residuele kanalen (verticale grijze lijnen), twee MLP-neuronen in laag 0, en één aandacht-querysleutelkanaal en één waardekanaal in laag 10. Het model (1) codeert enkele aanhalingstekens in één residueel kanaal en dubbele aanhalingstekens in een ander; (2) gebruikt een MLP-laag om dit om te zetten in één kanaal dat elke aanhaling detecteert en een ander dat classificeert tussen enkele en dubbele aanhalingstekens; (3) gebruikt een aandachtmechanisme om tussenliggende tokens te negeren, de vorige aanhaling te vinden en het type ervan naar het laatste token te kopiëren; en (4) voorspelt het bijpassende afsluitende aanhalingsteken.
In onze definitie zijn de exacte verbindingen die hierboven zijn weergegeven voldoende om de taak uit te voeren — als we de rest van het model verwijderen, werkt dit kleine circuit nog steeds. Ze zijn ook noodzakelijk – het verwijderen van deze paar randen zorgt ervoor dat het model faalt.
We hebben ook gekeken naar enkele meer ingewikkelde gedragingen. Onze circuits voor deze gedragingen (bijvoorbeeld de hieronder getoonde variabele binding) zijn moeilijker om volledig uit te leggen. Maar zelfs dan kunnen we nog steeds relatief eenvoudige gedeeltelijke verklaringen bereiken die voorspellend zijn voor het gedrag van het model.
Nog een voorbeeldcircuit, in minder detail. Om het type van een variabele genaamd current te bepalen, kopieert een aandachtsbewerking de naam van de variabele naar het set()-token wanneer deze is gedefinieerd, en een andere latere bewerking kopieert het type van het set()-token naar een volgend gebruik van de variabele, waardoor het model het juiste volgende token kan afleiden.
Dit werk is een vroege stap naar een groter doel: modelberekeningen begrijpelijker maken. Maar er is nog een lange weg te gaan. Onze spaarzame modellen zijn veel kleiner dan geavanceerde modellen, en grote delen van hun berekening blijven onverklaard.
Hierna hopen we onze technieken op te schalen naar grotere modellen en meer van het gedrag van de modellen te verklaren. Door circuitmotieven te benoemen die ten grondslag liggen aan complexere redeneringen in capabele spaarzame modellen, kunnen we een begrip ontwikkelen dat ons helpt om gerichter onderzoek te doen naar grensverleggende modellen.
Om de inefficiëntie van de training van spaarzame modellen te overwinnen, zien we twee wegen vooruit. Een daarvan is het extraheren van spaarzame circuits uit bestaande dichte modellen, in plaats van het helemaal opnieuw uitvoeren van training van spaarzame modellen. Dichte modellen zijn fundamenteel efficiënter te implementeren dan spaarzame modellen. Een andere weg is om efficiëntere technieken te ontwikkelen om modellen te trainen voor interpreteerbaarheid, wat mogelijk gemakkelijker in productie kan worden gebracht.
Onze bevindingen hier bieden weliswaar geen garantie dat deze aanpak zal worden uitgebreid naar meer capabele systemen, maar deze eerste resultaten zijn veelbelovend. Ons doel is om geleidelijk uit te breiden hoever we een model we betrouwbaar kunnen interpreteren en om tools te ontwikkelen die toekomstige systemen gemakkelijker maken om te analyseren, fouten op te lossen en te evalueren.
Auteurs
Leo Gao, Achyuta Rajaram, Jacob Coxon, Soham V. Govande, Bowen Baker, Dan Mossing


