Kernel Forge: An Agent Harness for LLM-based Generation and Optimization of CUDA Kernels
Kernel Forge is een open-source, end-to-end agentic harness die Large Language Models en Monte Carlo Tree Search gebruikt om automatisch CUDA-kernels te genereren en te optimaliseren voor diverse PyTorch-workloads, waarbij significante versnellingen worden behaald ten opzichte van PyTorch eager mode terwijl een grafische interface wordt geboden voor inspectie en debugging.
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 videogame op je computer probeert te draaien. Soms loopt het spel soepel, maar op andere momenten hapert of lagt het. Dit gebeurt omdat de computer miljoenen kleine wiskundige berekeningen per seconde moet uitvoeren om de beelden te tekenen en de fysica te verwerken. In de wereld van kunstmatige intelligentie (AI) zijn deze berekeningen zelfs nog intensiever. Om een AI te laten "denken", vertrouwt het op speciale, razendsnelle instructies die kernels worden genoemd. Denk aan een kernel als een specifiek, super-efficiënt recept dat een chef gebruikt om groenten te snijden. Als de chef een bot mes en een trage methode gebruikt, komt het hele diner te laat. Als hij een scherp, gespecialiseerd mes gebruikt, is het eten direct klaar.
Jarenlang was het schrijven van deze "recepten" voor AI alsof je een roman probeert te schrijven in een taal die je nauwelijks spreekt. Het vereist hooggeschoolde experts om complexe instructies handmatig te coderen voor computerchips (GPU's) om ze sneller te laten draaien. Maar nu hebben we een nieuw soort helper: Large Language Models (LLM's). Je kent ze misschien als de slimme chatbots die verhalen kunnen schrijven of wiskundige problemen kunnen oplossen. Wetenschappers leren deze chatbots nu om de "recepten" (kernels) voor AI te schrijven, in de hoop dat ze dit sneller en beter kunnen dan mensen. Er is echter een addertje onder het gras: alleen omdat een chatbot een recept schrijft dat er op papier goed uitziet, betekent dit niet dat het de maaltijd in een echte keuken ook daadwerkelijk sneller bereidt.
Dit is waar een nieuw project genaamd Kernel Forge om de hoek komt kijken. Onderzoekers van de University of Michigan hebben een slim systeem gebouwd dat niet alleen een chatbot vraagt om code te schrijven; het fungeert als een fulltime coach, een kwaliteitsinspecteur en een projectmanager in één. Ze wilden zien of AI daadwerkelijk de taak kan overnemen om deze recepten te optimaliseren voor echte AI-modellen, en niet alleen voor nep, verzonnen testgevallen.
Het Probleen: De "Geïsoleerde" Valstrik
Stel je voor dat je een robot traint om te rennen. Als je hem alleen test op een perfect vlak, leeg parcours, kan hij eruitzien als een wereldklasse sprinter. Maar zodewegs je hem op een hobbelige, drukke stadsstraat zet, kan hij struikelen en vallen. Dit is precies wat er gebeurde met eerdere pogingen om AI te gebruiken om GPU-kernels te schrijven. De meeste tools testten de AI door hem willekeurige, verzonnen wiskundige problemen op een leeg parcours te geven. Ze genereerden een stuk code, testten het in isolatie en zeiden: "Kijk hoe snel dit is!"
Maar in de echte wereld zijn AI-modellen als drukke steden. De "recepten" (kernels) moeten werken met specifieke vormen van data, specifieke hoeveelheden geheugen, en ze moeten goed samenwerken met de andere recepten die er direct naast staan. Een recept dat snel is op een willekeurige test, kan traag zijn of zelfs kapot gaan wanneer het wordt gebruikt binnen een echt AI-model, zoals de modellen die afbeeldingen genereren of met je chatten. Eerdere tools lieten het vaak aan menselijke ontwikkelaars over om uit te zoeken hoe ze deze nieuwe, door AI geschreven recepten weer in de complexe machine moesten passen, wat tijdrovend en foutgevoelig was.
De Oplossing: Kernel Forge
De onderzoekers creëerden Kernel Forge, een open-source tool die fungeert als een brug tussen de AI-schrijver en de echte wereld. In plaats van de AI te vragen te gokken, kijkt Kernel Forge eerst naar een echt AI-model (zoals een model dat gezichten herkent of verhalen schrijft) terwijl dit op een computer draait. Het maakt aantekeningen over precies welke "recepten" worden gebruikt, hoe groot de data is, en hoe lang ze nodig hebben om te draaien.
Zodra het deze real-world data heeft, geeft het de taak door aan een AI-agent (een slimme bot aangedreven door een large language model). Maar dit is geen eenmalige actie. Het systeem gebruikt een slimme strategie genaamd Monte Carlo Tree Search. Stel je een detective voor die een mysterie oplost. In plaats van alleen maar op één vermoeden te vertrouwen, probeert de detective veel verschillende paden. Als één pad tot een doodlopende weg leidt, geeft hij niet op, maar gaat hij terug en probeert hij een andere invalshoek. Op dezelfde manier schrijft Kernel Forge niet slechts één versie van een recept en hoopt het op het beste. Het genereert vele versies, test ze, en als er één traag is, probeert het deze te repareren of probeert het een compleet andere aanpak. Het houdt een "stamboom" bij van alle pogingen en onthoudt welke zelfs als ze niet perfect waren, veelbelovend waren.
De Resultaten: Snelle Winsten, Maar Niet Overal
Het team heeft Kernel Forge getest op vier verschillende soorten AI-modellen: één voor het herkennen van afbeeldingen (ResNet-50), één voor het genereren van kunst (Stable Diffusion 3.5 Medium), en twee voor chatten en redeneren (Gemma 4 en Qwen 3.5). Ze voerden deze tests uit op een krachtige computer met een NVIDIA GB10 GPU.
Dit is wat ze vonden:
- Het werkt, maar het is kieskeurig: Het systeem heeft succesvol nieuwe, snellere recepten gegenereerd voor veel onderdelen van de AI. In sommige gevallen was de door AI geschreven code aanzienlijk sneller dan de standaardcode die de computer normaal gesproken gebruikt. Bijvoorbeeld, in de beeldgenerator was de nieuwe code voor "group normalization" 1,70 keer sneller. In de chatbot Gemma 4 was de nieuwe code voor "softmax" (een wiskundige stap die wordt gebruikt om beslissingen te nemen) een enorme 2,83 keer sneller.
- Het "beveiligde" vangnet: Het systeem is zeer voorzichtig. Het heeft een "bewaker" die elk nieuw recept controleert. Als het nieuwe door AI geschreven recept trager is of een fout maakt, schakelt het systeem onmiddellelijk terug naar de originele, betrouwbare code. Het dwingt nooit een slecht recept op aan de gebruiker. Dit betekent dat zelfs als de AI probeert een deel van de code te optimaliseren en faalt, de computer niet crasht of vertraagt; hij gebruikt gewoon de oude, veilige methode.
- De "Grote Spelers" zijn moeilijk te verslaan: De onderzoekers merkten iets interessants op. De onderdelen van de AI die de meeste tijd in beslag nemen (de "grote spelers"), worden vaak al afgehandeld door zeer volwassen, door experts geschreven code van bedrijven zoals NVIDIA. De AI had moeite om deze experts te verslaan. Bijvoorbeeld, in de beeldgenerator was de "lineaire" operatie (die meer dan 50% van de tijd in beslag neemt) zelfs trager toen de AI probeerde deze te herschrijven. Het systeem besloot verstandig genoeg om bij de originele code te blijven voor dat onderdeel.
- Kleine winsten tellen op: De grootste snelheidswinsten vonden plaats op kleinere, minder kritieke onderdelen van de code. Hoewel de AI de experts niet kon verslaan op de grootste taken, vond het slimme manieren om de kleinere taken met 1,5 tot 2,8 keer te versnellen.
De Kosten van Nieuwsgierigheid
De onderzoekers keken ook naar wat dit "denken" kostte. Ze gebruikten een krachtig AI-model om de code te genereren, en elke keer dat de AI een regel code schreef of een resultaat controleerde, kostte dat een klein beetje geld (gebaseerd op API-gebruik). Ze ontdekten dat naarmate ze de AI meer en meer variaties lieten proberen (tot wel 50 rondes van proberen en verbeteren), de kosten toenamen. Echter, de extra snelheid die ze kregen kwam niet altijd overeen met het extra geld dat werd uitgegeven. Dit suggereert dat hoewel AI geweldige afkortingen kan vinden, we slim moeten zijn over wanneer we stoppen met zoeken, vooral als het deel van de code dat we proberen te repareren niet erg belangrijk is voor de algehele snelheid.
De Kern van het Verhaal
Kernel Forge laat zien dat we een nieuw tijdperk binnengaan waarin AI kan helpen bij het schrijven van de low-level code die andere AI sneller laat draaien. Het is geen toverstaf die alles direct oplost; het kan de wereldwijnde menselijke experts op de grootste taken nog niet gemakkelijk verslaan. Maar het is een krachtig hulpmiddel dat verborgen snelheidsboosts kan vinden in de kleinere details, terwijl het het systeem veilig en stabiel houdt.
De onderzoekers hebben hun tool als open-source uitgebracht, wat betekent dat iedereen het kan gebruiken om te proberen de eigen AI-modellen sneller te maken. Ze hebben bewezen dat door de creativiteit van AI te combineren met de veiligheid van real-world testen, we kunnen beginnen met het optimaliseren van de motoren van onze digitale wereld zonder dat daar een PhD in computerwetenschappen voor nodig is. Het is een stap naar een toekomst waarin onze computers niet alleen slimmer, maar ook veel efficiënter zijn.
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.