Ontwikkelaar bouwt een complete processor in de gewichten van een AI-taalmodel
Ontwikkelaar Divyansh Agrawal bouwde een complete processor in de gewichten van het taalmodel Qwen 3.5. Het model rekent daardoor in zijn tests bijna foutloos, zonder hulpmiddel van buitenaf. Het is nog een langzaam experiment, maar alles staat openbaar online.
Taalmodellen zijn goed in taal, maar minder goed in exact rekenen. Wie zo'n model twee grote getallen laat vermenigvuldigen, krijgt vaak een antwoord dat er bijna goed uitziet. Daarom laten AI-bedrijven hun modellen voor zulk werk meestal een los hulpmiddel aanroepen, zoals een stukje Python-code dat buiten het model draait.
Ontwikkelaar Divyansh Agrawal koos een andere weg: hij bouwde een complete computerprocessor in het model zelf. Zijn project, genaamd Qwenputer, is een aangepaste versie van Qwen 3.5 4B, een klein open taalmodel van het Chinese bedrijf Alibaba. Agrawal beschreef het op 22 oktober op zijn blog en zette de code en de modellen online.
Een processor van getallen
Een taalmodel bestaat uit lagen met miljarden getallen: de gewichten. Normaal leert een model die getallen tijdens de training. Agrawal deed het anders. Een zelfgeschreven compiler, een programma dat een ontwerp omzet in iets wat een machine kan uitvoeren, rekent elk gewicht van de processor precies uit. Er komt dus geen training aan te pas.
De processor zit in 11 extra lagen, die vóór de 32 lagen van Qwen zelf staan. De eigen gewichten van Qwen blijven onveranderd. Het is een zogenoemde RISC-V-processor: een open ontwerp voor processors dat iedereen vrij mag gebruiken. Deze versie werkt met getallen van 32 bits en kan onder meer vermenigvuldigen en delen.
Een processor heeft ook werkgeheugen nodig. Daarvoor gebruikt Agrawal een bijzonder onderdeel van Qwen 3.5. Een deel van de lagen houdt een soort kladblok bij dat even groot blijft, hoe lang het gesprek ook wordt. Door de instellingen van die lagen precies goed te kiezen, kan de processor op elke regel van dat kladblok een getal schrijven en het later foutloos teruglezen. Daar staan het programma, de gegevens en de tussenstanden van de processor.
Het model rekent zelf
Krijgt Qwen een rekensom, dan geeft het de opdracht door aan de processor, op dezelfde manier waarop het normaal een hulpmiddel zou aanroepen. Maar er draait niets buiten het model: de processorlagen voeren het programma uit en het model schrijft zelf het antwoord op. Een klein startprogramma, RvChat, zet de software van de processor in het geheugen.
Volgens Agrawal doorstaat de processor de officiële testreeks voor RISC-V-processors en geeft hij dezelfde uitkomsten als qemu, een veelgebruikt programma dat zo'n processor nabootst. Hij liet de processor 18 miljoen instructies achter elkaar uitvoeren zonder één fout. Gewone teksten schrijft het model nog vrijwel precies zoals het origineel.
Op een reeks van 40 rekensommen met grote gehele getallen had het gewone Qwen-model 75 procent goed. Qwenputer haalde 97,5 procent, evenveel als Qwen met een echte Python-omgeving als hulpmiddel. Bij het vermenigvuldigen van grote getallen steeg de score van 55 naar 97,5 procent. De processor kan ook programma's uitvoeren die in de programmeertalen C en MicroPython zijn geschreven.
Een geheugen dat blijft
Agrawal maakte ook een proefversie met een eenvoudig bestandssysteem in het model. Dat kan tot 512 bestanden bewaren, samen zo'n 53.000 tokens tekst (een token is een woord of een stukje van een woord). Wie dat geheugen aan het eind van een gesprek opslaat, kan er in een volgend gesprek mee verder.
Bij 30 vragen over feiten die in een later gesprek waren veranderd, had deze versie 90 procent goed. Met een los Python-hulpmiddel was dat 83 procent, en het gewone model zonder hulp had 3 procent goed.
Nog langzaam en groot
Het is een experiment. Elke instructie van de processor kost het model een paar extra tokens, dus grote berekeningen duren seconden in plaats van milliseconden. Het modelbestand is met 18,8 gigabyte ongeveer twee keer zo groot als het origineel, vooral door lege opvulling, en past op één videokaart met 24 gigabyte geheugen. Het startprogramma RvChat is nog nodig: het model werkt nog niet op de gewone manier waarop je een taalmodel start.
Alle resultaten komen van Agrawal zelf. Omdat de code op GitHub en de modellen op Hugging Face en ModelScope vrij beschikbaar zijn, kunnen andere onderzoekers ze nu narekenen. Agrawal werkt zelf aan een snellere processor en aan een manier om Python-code direct in het model uit te voeren.
Wat betekent dit voor de weg naar de singulariteit?
Qwenputer laat zien dat de gewichten van een taalmodel niet alleen aangeleerde patronen kunnen bevatten, maar ook een stuk rekenwerk dat elke keer precies en controleerbaar hetzelfde antwoord geeft. Zo krijgt het model de rekenmachine niet naast zich, maar in zich.
Agrawal noemt ook vervolgonderzoek dat met veiligheid te maken heeft. Uitgerekende onderdelen kunnen binnen een model dienen als controle die het model zelf niet kan aanpassen. Tegelijk onderzoekt hij hoe een model zijn redenering in zo'n intern kladblok zou kunnen verbergen voor wie meekijkt. Wie dat goed begrijpt, kan er betere controles voor bouwen. Zo helpt dit experiment om AI-modellen preciezer te maken en beter te begrijpen wat er binnenin gebeurt.