← Nieuwste papers
💬 NLP

SuperCoder: Assembly Program Superoptimization with Large Language Models

Dit artikel introduceert SuperCoder, een op grote taalmodellen gebaseerde aanpak voor assembly superoptimalisatie die, door de creatie van een nieuwe grootschalige benchmark en reinforcement learning fine-tuning, een correctheid van 95% en een versnelling van 1,46x ten opzichte van industrie-standaard compilers bereikt, waarmee de levensvatbaarheid van LLM's voor programma-prestatieoptimalisatie voorbij traditionele heuristieken wordt aangetoond.

Oorspronkelijke auteurs: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken

Gepubliceerd 2026-02-02
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken

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 recept hebt voor een taart die een wereldberoemde chef al tot in de perfectie heeft geperfectioneerd. De chef heeft elke ingrediënt afgemeten, de beste oventemperatuur gekozen en de baktijd tot op de seconde nauwkeurig afgestemd. Dit is jouw "geoptimaliseerde" code, gemaakt door een standaard computercompiler (zoals gcc -O3).

Stel je nu voor dat je een briljante maar onervaren leerling (een Large Language Model, of LLM) vraagt om naar dat perfecte recept te kijken en te zeggen: "Ik kan deze taart nog sneller maken."

Dit is precies waar het papier SuperCoder onderzoek naar doet. Hier is het verhaal van hun experiment, eenvoudig uitgelegd.

De Uitdaging: De Meesterchef Verslaan

Decennialang hebben computerwetenschappers geprobeerd programma's te schrijven die automatisch de snelste manier vinden om dingen te doen. Dit wordt Superoptimalisatie genoemd.

  • De Oude Manier: Eerdere pogingen waren als het proberen te optimaliseren van een enkele zin. Ze konden alleen kleine, eenvoudige taken aan zonder lussen (herhalende acties). Het was alsof je probeerde een broodje sneller te maken, maar je kon niet eens een tweede sneetje brood toevoegen.
  • Het Nieuwe Doel: De auteurs wilden zien of moderne AI een hele "maaltijd" (een complex programma met lussen en logica) kon optimaliseren die al bereid was door de beste professionele chefs (industriële compilers).

De Gereedschapskist: Een Massieve Nieuwe Speeltuin

Om dit te testen, konden de onderzoekers niet simpelweg de oude, kleine datasets gebruiken. Ze hadden een enorme sportschool nodig om hun AI te trainen.

  • De Dataset: Ze bouwden een bibliotheek van 8.072 assembly-programma's (de ruwe, lage-niveau instructies die computers daadwerkelijk uitvoeren).
  • De Schaal: Dit waren geen kleine fragmenten; ze bevatten gemiddeld 130 regels code en bevatten complexe lussen. Denk aan de overgang van het optimaliseren van één enkele Lego-steen naar het optimaliseren van een heel kasteel.
  • Het Veiligheidsnet: Ze creëerden duizenden "testgevallen" (zoals smaaktesten) om ervoor te zorgen dat als de AI het recept zou veranderen, de taart nog steeds exact hetzelfde smaakte, alleen sneller gebakken werd.

Het Experiment: De Leerling Trainen

Ze namen 23 verschillende AI-modellen en vroegen hen om de assembly-code te herschrijven om sneller te zijn.

  • De Initiële Resultaten: De meeste AI's waren slecht in dit werk. Ze schreven ofwel code die crashte (de taart viel uit elkaar), ofwel code die net zo traag was als het origineel.
  • De Sterprestatie: Eén model, Claude-opus-4, was de beste van de groep. Het slaagde erin om de code gemiddeld 1,43 keer sneller te maken, terwijl de code nog steeds correct functioneerde. Dat is alsof je een baktijd van 10 minuten terugbrengt naar 7 minuten zonder de taart te verpesten.

Het Geheime Ingrediënt: Reinforcement Learning

De onderzoekers realiseerden zich dat het simpelweg vragen aan de AI om "beter te doen" niet genoeg was. Ze moesten de AI trainen als een videogame-personage.

  • Het Beloningssysteem: Ze gebruikten een techniek genaamd Reinforcement Learning.
    • Als de AI code schreef die crashte of een foutief antwoord gaf, kreeg het nul punten.
    • Als de code werkte, kreeg het punten op basis van hoeveel sneller het was.
  • Het Resultaat: Ze namen een solide model (Qwen2.5-Coder-7B) en trainden dit met dit beloningssysteem.
    • Vóór de Training: Het was 61% van de tijd correct en slechts 10% sneller.
    • Na de Training (SuperCoder): Het was 95% van de tijd correct en gemiddeld 46% sneller.

Hoe Ze De Parel Polijstten

Zelfs na de training gebruikten ze twee slimme trucs om nog beter te worden:

  1. Best-of-N Sampling: In plaats van de AI om één antwoord te vragen, vroegen ze om 8 verschillende versies en kozen ze de absoluut beste uit. Dit verhoogde de snelheidswinst nog verder.
  2. Iteratieve Verfijning: Als de AI een fout maakte, lieten ze de foutmelding zien en vroegen ze: "Probeer het opnieuw, maar los dit specifieke probleem op." De AI gebruikte deze feedback om zichzelf te corrigeren, waardoor het bij elke poging slimmer werd.

Wat Veranderde de AI Eigenlijk?

Toen de onderzoekers keken naar hoe de AI de code sneller maakte, ontdekten ze dat het dingen deed zoals:

  • Loop Restructuring: Het herordenen van de stappen om efficiënter te zijn.
  • Instruction Selection: Het vervangen van een lange, trage instructie door een korte, gespecialiseerde CPU-truc (zoals het gebruiken van een geheime afkorting).
  • Verwijderen van 'Bloat': Het weghalen van veiligheidscontroles of complexe wiskunde die de compiler had behouden, maar die voor die specifieke taak niet strikt noodzakelijk waren.

De Kern van het Verhaal

Dit papier bewijst voor het eerst dat AI kan fungeren als een superoptimizer. Het kan code nemen die al geoptimaliseerd is door de beste menselijk ontworpen compilers ter wereld en manieren vinden om het nog sneller te maken, zonder het te breken.

Ze gokten niet alleen; ze bouwden een enorme testomgeving, trainden de AI met een strikt beloningssysteem en lieten zien dat AI, met de juiste training, de huidige "gouden standaard" van computeroptimalisatie kan overtreffen.

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 →