KernelEvolve: Scaling Agentic Kernel Coding for Heterogeneous AI Accelerators at Meta
KernelEvolve is een agentisch framework dat de generatie en optimalisatie van hoogperformante kernels voor diverse deep learning recommendation-modellen over heterogene AI-accelerators automatiseert, wat de ontwikkeltijd aanzienlijk verkort terwijl de correctheid wordt gewaarborgd en substantiële prestatiewinsten worden behaald ten opzichte van bestaande baselines.
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
Het Grote Probleem: De "Vertalings"-nachtmerrie
Stel je voor dat Meta een massaal mondiaal advertentiesysteem beheert. Om jou de perfecte advertentie te tonen, moet dit systeem miljarden keren per dag complexe berekeningen uitvoeren. Deze berekeningen worden gedaan door gespecialiseerde computerchips die AI-accelerators worden genoemd (zoals NVIDIA GPU's, AMD GPU's en Meta's eigen aangepaste chips genaamd MTIA).
Er is echter een groot probleem: Deze chips spreken verschillende talen.
- Een NVIDIA-chip spreekt "CUDA".
- Een AMD-chip spreekt "ROCm".
- Meta's aangepaste chip spreekt een uniek dialect van "Triton".
Bovendien zijn de "woorden" (wiskundige operaties) die nodig zijn voor advertenties ongelooflijk divers. Sommige zijn standaard wiskunde (zoals vermenigvuldiging), maar veel zijn vreemde, aangepaste taken specifiek voor advertenties, zoals het sorteren van gebruikersgeschiedenis of het hashen van gegevens.
De Oude Manier:
Om de advertenties snel te laten draaien, moesten menselijke ingenieurs handmatig een specifieke "vertaling" (een kernel) schrijven voor elke enkele wiskundige taak op elke enkele chipsoort.
- De Analogie: Stel je voor dat je een chef-kok bent die een maaltijd probeert te serveren aan 1.000 gasten, maar elke gast spreekt een andere taal en heeft een ander dieet. Je moet handmatig een uniek recept schrijven en het in een andere taal vertalen voor elke enkele gast. Als je één vertaling mist, krijgt die gast geen eten. Als je het menu wilt veranderen (het AI-model wilt updaten), moet je alle 1.000 recepten opnieuw vanaf nul herschrijven. Dit duurt weken, is foutgevoelig en is ongelooflijk duur.
De Oplossing: KernelEvolve (De "Super-Vertaler" Robot)
Het paper introduceert KernelEvolve, een AI-agentsysteem dat dit hele proces automatiseert. In plaats van dat mensen de code schrijven, fungeert KernelEvolve als een onvermoeibare, superintelligente robotchef die direct elke taal kan leren en het perfecte recept voor elke gast kan schrijven.
Zo werkt het, stap voor stap:
1. De "Tree Search" (Veel paden proberen)
Wanneer KernelEvolve een wiskundig probleem moet oplossen, gokt het niet zomaar één keer. Het gebruikt een Tree Search.
- De Analogie: Stel je voor dat je probeert de snelste route door een enorme doolhof te vinden. Een mens probeert misschien één pad, loopt vast en geeft op. KernelEvolve is als een zwerm mieren. Het stuurt tegelijkertijd duizenden "ontdekkers" uit. Sommigen gaan links, anderen gaan rechts. Als een ontdekker tegen een muur aanloopt (een codefout), stopt deze. Als een ontdekker een afkorting vindt (een snellere manier om de wiskunde uit te voeren), markeert het die route als "goed" en stuurt het meer mieren die kant op.
- Het blijft dit doen, leert van elke doodlopende weg en elk succes, totdat het de absoluut beste route heeft gevonden.
2. De "Memory Library" (Leren van het verleden)
KernelEvolve heeft een enorme, georganiseerde bibliotheek met aantekeningen die een Persistent Knowledge Base wordt genoemd.
- De Analogie: Als je probeert een lekkende kraan te repareren, raad je niet alleen maar wat; je zoekt een handleiding op. KernelEvolve doet dit ook, maar de handleiding is enorm. Het bevat specifieke instructies voor elk type chip (NVIDIA, AMD, MTIA).
- De Magie: Zelfs voor Meta's aangepaste chip (MTIA), die zo nieuw is dat nog nooit een AI hem heeft gezien, heeft KernelEvolve een speciale "instructiehandleiding" in zijn bibliotheek geïnjecteerd. Het leest deze aantekeningen, leert de unieke eigenschappen van de chip kennen en schrijft code die specifiek voor deze chip is. Hierdoor kan het werken op hardware die niet voorkomt in de trainingsdata van het publieke internet.
3. De "Self-Correcting Loop" (Zichzelf corrigeren)
Zodra de robot een stuk code heeft geschreven, vertrouwt hij er niet blind op. Het voert een Self-Correction Loop uit.
- De Analogie: De robot schrijft een recept, kookt het gerecht en proeft het vervolgens.
- Smaaktest (Correctheid): Smaakt het zoals het origineel? (Komt de wiskunde overeen met het verwachte resultaat?)
- Snelheidstest (Prestaties): Heb je het sneller gekookt dan de oude manier?
- De Fix: Als het gerecht te zout is (te traag) of verkeerd smaakt (fout in de wiskunde), analyseert de robot waarom. Het bekijkt de "keukenlogs" (profiling data) om te zien of het fornuis te heet stond of dat de ingrediënten verkeerd zijn gemengd. Vervolgens herschrijft het het recept en probeert het opnieuw.
- Het herhaalt deze cyclus honderden keren voor een enkele taak, waarbij het de code verfijnt totdat deze perfect is.
4. De "Remote Kitchen" (FaaS)
Om deze recepten te testen, heeft de robot de daadwerkelijke dure chips nodig.
- De Analogie: De robot (het brein) leeft op een standaard kantoorcomputer. De chips (de ovens) bevinden zich in een aparte, hightech keuken. In plaats van dat de robot naar de keuken loopt, wacht op de oven en weer terugloopt, stuurt het het recept naar een Remote Kitchen Service (FaaS). De remote keuken kookt het gerecht en stuurt de resultaten direct terug. Hierdoor kan de robot duizenden recepten tegelijkertijd testen zonder vast te lopen terwijl hij op een oven wacht.
De Resultaten: Waarom het ertoe doet
Het paper beweert dat KernelEvolve een gamechanger is om drie redenen:
- Snelheid: Het heeft de tijd om deze gespecialiseerde codes te maken verminderd van weken naar uren.
- Prestaties: De code die het schrijft is ongelooflijk snel. In tests maakte het de AI 1,2 tot 17 keer sneller dan de standaard, door mensen geschreven code.
- Voorbeeld: Voor een specifieke taak van gegevenssortering was het 9,8 keer sneller. Voor een specifieke wiskundige operatie op Meta's aangepaste chip was het 17 keer sneller.
- Betrouwbaarheid: Het slaagde voor 100% van de correctheidstests. Het maakte de zaken niet alleen sneller; het zorgde er ook voor dat de wiskunde elke keer weer klopte.
Samenvatting
KernelEvolve is een AI-systeem dat de saaie, moeilijke en dure taak automatiseert om computercode te vertalen voor verschillende soorten AI-chips. Door een "probeer-en-leer"-strategie (Tree Search), een enorme bibliotheek met hardwareregels (Knowledge Base) en een zelfcorrigerende lus te gebruiken, kan het binnen uren in plaats van weken hoogwaardige code genereren voor Meta's advertentiesysteem, waardoor het hele systeem sneller en goedkoper wordt om te draaien.
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.