← Nieuwste papers
💬 NLP

Regression Language Models for Code

Oorspronkelijke auteurs: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

Gepubliceerd 2026-05-28
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorme bibliotheek hebt met computerprogramma's geschreven in tientallen verschillende talen (zoals Python, C++ of zelfs gespecialiseerde talen voor grafische kaarten). Meestal moet je het programma daadwerkelijk uitvoeren op een computer om te weten hoeveel geheugen het zal verbruiken, hoe lang het zal duren om te draaien, of hoe nauwkeurig een neurale netwerken zal zijn. Dit is traag, duur en soms onmogelijk als je de hardware nog niet hebt gebouwd.

Lange tijd probeerden experts speciale "kristallen bollen" te bouwen om deze cijfers te voorspellen zonder de code uit te voeren. Maar deze kristallen bollen waren als op maat gemaakte gereedschappen: om het geheugen voor Python te voorspellen, had je één gereedschap nodig; om de snelheid voor een grafische kaart te voorspellen, had je een volledig ander gereedschap nodig. Ze vereisten dat mensen handmatig door de code graven, specifieke commando's tellen en de code omzetten in complexe diagrammen en grafieken, enkel om ze in een rekenmachine te voeden. Als de code iets veranderde, ging het gereedschap vaak stuk.

De nieuwe "Universele Vertaler" voor Code

Dit artikel introduceert een nieuw type AI genaamd een Regression Language Model (RLM). Denk hierbij niet aan een rekenmachine, maar aan een super-vertaler die zowel "Computercode" als "Cijfers" spreekt.

Hier is hoe het werkt, met eenvoudige analogieën:

1. Het "Bevroren Brein" en de "Creatieve Schrijver"

Het model is opgebouwd als een team van twee delen:

  • Het Bevroren Brein (Encoder): Dit deel is een vooraf getrainde AI (gebaseerd op een model genaamd T5Gemma) die al miljoenen boeken en regels code heeft gelezen. Het begrijpt de structuur van zinnen en code perfect. De onderzoekers "bevriezen" dit deel, wat betekent dat ze er niets nieuws in hebben geleerd. Het fungeert gewoon als een slimme lezer die begrijpt wat de code zegt.
  • De Creatieve Schrijver (Decoder): Dit is het deel dat ze daadwerkelijk hebben getraind. In plaats van een verhaal te schrijven, is de taak van deze schrijver om naar de code te kijken die het "Brein" heeft gelezen en een getal te schrijven als het volgende woord in een zin.

De Analogie: Stel je voor dat je een recept leest (de code). Een normale AI zou proberen de ingrediëntenlijst te raden. Deze nieuwe AI kijkt naar het recept en zegt: "Gebaseerd op deze tekst is het volgende woord '500' (calorieën)." Het behandelt de voorspelling van een getal (zoals geheugengebruik of snelheid) precies hetzelfde als het voltooien van een zin.

2. Één Gereedschap voor Alles

De grootste doorbraak is dat deze enkele "Universele Vertaler" alles tegelijk kan aanpakken.

  • Het kan Python-code lezen en raden hoeveel geheugen het gebruikt.
  • Het kan C++-code lezen en raden hoe lang het duurt om te draaien.
  • Het kan een Neuraal Netwerk-ontwerp lezen (geschreven in een formaat genaamd ONNX) en raden hoe nauwkeurig het zal zijn of hoe snel het draait op een specifieke chip.

Vroeger had je voor elk van deze taken een andere "expert" nodig. Dit model is als een Zwitsers zakmes dat kan schakelen tussen het zijn van een geheugenexpert, een snelheidsexpert en een nauwkeurigheidsexpert, gewoon door naar de tekst te kijken.

3. Hoe het "Telt" zonder Wiskunde

Een van de slimme trucs is hoe het model getallen uitvoert. In plaats van complexe wiskunde te doen om "72,5" uit te geven, breekt het het getal op in kleine stukjes, zoals een digitaal slot.

  • Het zegt niet "72,5".
  • Het zegt: "Plusteken... 7... 2... komma... 5."
  • De Analogie: Stel je voor dat je een kind leert tellen. In plaats van hen te vragen "50 + 25" op te lossen, vraag je hen om het antwoord cijfer voor cijfer te schrijven: "5... 0... plus... 2... 5... is gelijk aan... 7... 2... 5." Dit maakt het veel gemakkelijker voor de AI om enorme getallen (zoals miljoenen bytes) of kleine getallen te hanteren zonder in de war te raken.

4. Waarom het Beter is dan de Oude Manier

  • Geen Handarbeid: Oude methoden vereisten dat mensen handmatig functies ontwierpen (zoals "tel het aantal lussen"). Dit model leest de ruwe tekst direct, net zoals een mens een boek leest.
  • Beter in Rangschikken: Het artikel toont aan dat als je dit model 10 verschillende versies van dezelfde code geeft, het zeer goed is in het sorteren van "snelste" naar "langzaamste" of "kleinste geheugen" naar "grootste geheugen". Het is als een rechter die naar 10 hardlopers kan kijken en direct weet wie zal winnen, zelfs zonder stopwatch.
  • Kosten: De onderzoekers ontdekten dat het gebruik van dit model veel goedkoper is dan het gebruik van gigantische, algemene AI-chatbots (zoals GPT-5) om de cijfers te raden. De chatbots zijn als het gebruik van een sloopkogel om een notenkraker te kraken; ze zijn duur en vaak verkeerd. Dit model is een gespecialiseerd, lichtgewicht gereedschap dat het werk voor een paar centen doet.

Wat Ze Eigenlijk Bewezen

Het artikel testte dit op:

  • CodeNet: Een enorme dataset met miljoenen codefragmenten in 37 verschillende talen. Het model voorspelde succesvol het geheugengebruik voor al deze talen.
  • APPS: Een reeks programmeeruitdagingen. Het model kon naar een oplossing kijken en het geheugengebruik voorspellen met zeer hoge nauwkeurigheid (beter dan 90% correlatie met de werkelijkheid).
  • Neurale Netwerken: Het voorspelde de snelheid en nauwkeurigheid van AI-ontwerpen beter dan de eerdere state-of-the-art methoden die complexe grafische diagrammen gebruikten.

Samenvattend:
Het artikel beweert dat we geen complexe, op maat gemaakte gereedschappen hoeven te bouwen om te voorspellen hoe code presteert. In plaats daarvan kunnen we code behandelen als een verhaal en getallen als het volgende woord in dat verhaal. Door een enkele, geünificeerde AI hierin te trainen, kunnen we geheugen, snelheid en nauwkeurigheid voorspellen voor bijna elke programmeertaal of AI-ontwerp, simpelweg door de tekst te lezen. Het verandert een moeilijk wiskundig probleem in een simpel "wat komt er nu?"-spel.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →