Meganeura: Portable GPU Training and Inference through Vulkan and Metal
Meganeura demonstreert dat een compacte, native compiler die gebruikmaakt van Vulkan en Metal effectief zowel de trainings- als de inferentiefase kan overspannen over diverse consumenten-GPU's, waarbij competitieve prestaties wordt behaald en aanzienlijk snellere compilatietijden worden gerealiseerd vergeleken met PyTorch, terwijl kerneldekking en scheduling worden geïdentificeerd als de primaire resterende knelpunten.
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 superintelligent robotbrein hebt dat leert om katten te herkennen, een auto te besturen of verhalen te schrijven. Meestal is er een grote, rommelige splitsing in hoe dit brein werkt. Eerst gaat het naar een enorm, airconditioned datacenter om te leren (training), met zware gereedschappen die alleen grote bedrijven bezitten. Daarna, om het daadwerkelijk te gebruiken op je telefoon of in een speeltje, moet je het verkleinen, vertalen naar een nieuwe taal, en hopen dat het nog steeds werkt. Het is alsof je een enorme taart bakt in een professionele keuken, en dan probeert het recept in een piepklein lunchtrommeltje voor een picknick te passen, hopend dat de taart niet uit elkaar valt.
Dit artikel bevindt zich in de wereld van de informatica, specifiek in "machine learning" (computers leren van data) en "graphics programming" (computersets vertellen hoe ze plaatjes moeten tekenen). Het kernidee hier is dat dezelfde computerchips die je videogames en telefoonschermen aansturen, ongelooflijk krachtig zijn in wiskunde. Het artikel stelt een simpele vraag: kunnen we de rommelige vertaalstap overslaan? Kunnen we hetzelfde "recept" gebruiken om het robotbrein te trainen en het vervolgens uit te voeren op jouw apparaat, zonder dat er een enorm datacenter of een Python-computerprogramma tussen zit? Als we dat zouden kunnen, zou dit betekenen dat jouw apparaten nieuwe trucjes kunnen leren precies waar je bent, direct, zonder data terug te hoeven sturen naar een server.
De onderzoekers hebben een nieuwe tool gebouwd genaamd Meganeura om dit te testen. Zie Meganeura als een universele vertaler en een meesterkok in één. In plaats van de gebruikelijke zware tools (zoals PyTorch, wat de standaard "keuken" is voor het trainen van AI), gebruikt Meganeura de standaardtalen die game-engines al spreken: Vulkan en Metal. Dit zijn de talen die grafische kaarten gebruiken om 3D-werelden te renderen. Het team wilde zien of ze één enkel programma konden schrijven dat zowel kan leren (trainen) als uitvoeren (inferentie) op bijna elke moderne computerchip, van krachtige gamingkaarten tot de kleine chips in je telefoon of laptop.
Ze hebben Meganeura getest tegen de industriestandaard PyTorch op vijf verschillende soorten apparaten: krachtige NVIDIA- en AMD-grafische kaarten, een AMD-chip ingebouwd in een laptop, een Intel-grafische chip en Apple's silicon. Ze voerden vijf verschillende AI-taken uit, variërend van het herkennen van afbeeldingen tot het begrijpen van spraak.
Het goede nieuws:
Meganeura werkt! In veel gevallen was het net zo snel, en soms zelfs sneller, dan de zware standaardtools. Op AMD-apparaten was het vaak sneller dan de concurrentie. Zo trainde Meganeura bepaalde modellen op een AMD-grafische kaart bijvoorbeeld tot wel 1,3 keer sneller dan de standaardtool. Op de Apple M3-chip was het competitief, hoewel soms iets langzamer. Het beste deel? Meganeura is piepklein. Het hele programma is slechts 13 MiB (ongeveer de grootte van een paar foto's van hoge kwaliteit), terwijl de standaardtools gigabytes aan software vereisen om te installeren. Het compileert nieuwe taken in seconden (0,1 tot 2,4 seconden) in plaats van minuten.
Het "het hangt ervan af"-nieuws:
Het is niet overal een perfecte overwinning. Op NVIDIA-kaarten en Apple-chips was Meganeura soms langzamer, vooral bij complexe taken zoals het trainen van deep learning-modellen. De onderzoekers ontdekten dat het snelheidsverschil niet kwam doordat de grafische talen (Vulkan/Metal) zwak waren, maar omdat de "keuken" van Meganeura niet over elke gespecialiseerde tool (kernels) beschikte die de grote bedrijven in jaren tijd hebben opgebouwd. Bijvoorbeeld, op NVIDIA-kaarten waren de traagste onderdelen specifieke wiskundige operaties voor convolutie (een type beeldverwerking), waarbij Meganeura in sommige versnelde modi ongeveer 4,6 keer langzamer was.
De "echte wereld" test:
Om te bewijzen dat het geen laboratoriumtruc was, bouwden ze een echte app genaamd DinoVision voor een VR-headset (Meta Quest 3). Ze trainden een decoder op een computer, sloegen het "brein" op, en draaiden het vervolgens direct op de headset met behulp van Meganeura. Het werkte perfect en deelde dezelfde graphics queue als de game-rendering. Dit bewees dat je kunt trainen en implementeren op hetzelfde apparaat zonder een aparte server nodig te hebben.
De adder onder het gras:
De onderzoekers waren zeer zorgvuldig. Ze vonden twee specifieke gevallen waarin de resultaten niet exact overeenkwamen met de standaardtool. Ze vermoeden dat de standaardtool in die specifieke gevallen de fout bevat, maar ze konden daar niet 100% zeker van zijn zonder een derde mening. Ze merkten ook op dat Meganeura nog niet klaar is om de enorme tools voor datacenters te vervangen voor grootschalige, gedistribueerde training; het is ontworpen voor kleinere, draagbare toepassingen waar je alles in één net pakketje wilt hebben.
De kern van het verhaal:
Meganeura laat zien dat je geen massaal, gespecialiseerd datacenter nodig hebt om AI op je apparaat te trainen en uit te voeren. Door de grafische talen te gebruiken die je games al aansturen, kun je een klein, draagbaar systeem creëren dat leert en draait op bijna elke moderne chip. Hoewel het nog niet in elk scenario de snelste is, bewijst het dat een "train-and-deploy" stack mogelijk is, wat de deur opent naar apparaten die kunnen leren en zich kunnen aanpassen, gewoon in je broekzak.
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.