AI & computing › Generatieve AI & synthetische media
Software-truc versnelt AI-taalmodellen op macOS-virtuele machines tot 16 keer
Het bedrijf achter het opensource-project Cua heeft een softwarelaag ontwikkeld die AI-taalmodellen in virtuele macOS-machines tot 16 keer sneller laat draaien. De truc: de virtuele grafische chip liegt minder tegen de software die er gebruik van maakt.
Wie op een Mac met Apple Silicon een virtuele machine (VM) draait, krijgt daarbinnen toegang tot een virtuele versie van de grafische chip (GPU). Die virtuele GPU meldt zich standaard met een erg voorzichtig profiel: ze claimt minder krachtig te zijn dan de fysieke chip in werkelijkheid is. Softwaremakers ontdekten dat dit grote gevolgen heeft voor AI-toepassingen. Het populaire programma llama.cpp, waarmee ontwikkelaars taalmodellen lokaal laten draaien, kiest op basis van die zelfrapportage voor trage rekenpaden — ook al zou de GPU sneller kunnen.
Waarom virtuele Macs zichzelf afremmen
Apple's virtualisatietechnologie zorgt ervoor dat een virtuele Mac niet rechtstreeks bij de fysieke GPU kan, maar via een tussenlaag werkt die het hostsysteem onder controle houdt. Dat heet paravirtualisatie en verschilt van de aanpak op Windows- en Linux-machines, waar een VM soms wél rechtstreeks — via zogeheten GPU-passthrough — bij fysieke hardware kan. Het probleem zit in de manier waarop de virtuele Apple-GPU zichzelf voorstelt aan software: ze meldt een ouder chipfamilie-niveau en een kleiner werkgeheugen dan de fysieke chip daadwerkelijk heeft. Applicaties als llama.cpp vertrouwen op die zelfrapportage om te bepalen welke reken-instructies ze gebruiken, en kiezen daardoor onnodig voor trage code.
Een kleine tussenlaag met groot effect
De onderzoekers van Cua bouwden een compacte compatibiliteitslaag die alleen voor het programma dat AI-berekeningen uitvoert, de antwoorden op die capaciteitsvragen aanpast. De virtuele GPU claimt daardoor een nieuwere chipfamilie te zijn en meldt een verdubbeld werkgeheugen. Dat is genoeg om llama.cpp over te laten schakelen naar snellere rekenmethoden, waaronder speciale instructies voor matrixberekeningen die AI-modellen zwaar gebruiken.
De resultaten zijn fors. Op een Mac met een M1 Ultra-chip verwerkte het kleine taalmodel TinyLlama binnenkomende tekst 11 keer sneller en genereerde het nieuwe tekst 16 keer sneller dan in de ongewijzigde virtuele machine. Daarmee kwam de VM tot 98 procent van de snelheid van dezelfde Mac zonder virtualisatie. Bij het grotere en realistischere Gemma 4-model van Google, met 12 miljard parameters, was de versnelling eveneens groot: ruim 7 keer sneller tekstverwerking en bijna 15 keer sneller tekstgeneratie, tot 99,6 procent van de snelheid zonder VM.
Wat dit betekent voor ontwikkelaars
De onderzoekers benadrukken dat het geen echte GPU-passthrough is: de fysieke chip wordt niet rechtstreeks aan de VM gekoppeld, en er verandert niets aan de virtualisatiekern zelf. Alleen de zelfrapportage van de virtuele GPU wordt bijgesteld voor het proces dat er gebruik van maakt. De broncode, testscripts en meetgegevens zijn openbaar gemaakt, zodat andere ontwikkelaars het resultaat kunnen controleren en uitzoeken bij welke Apple-chips, macOS-versies en taken de truc ook werkt. Voor bedrijven en ontwikkelaars die AI-modellen willen testen of draaien in geïsoleerde, virtuele omgevingen — bijvoorbeeld voor veiligheid of reproduceerbaarheid — betekent dit dat ze niet langer een fors prestatieverlies hoeven te accepteren.
Achtergrond & begrippen
Wat betekent dit voor de toekomst? Steeds meer bedrijven draaien AI-modellen liever lokaal of in afgeschermde virtuele omgevingen, bijvoorbeeld om gevoelige data niet naar externe clouddiensten te sturen. Dit onderzoek laat zien dat virtualisatie niet per se een groot prestatieverlies hoeft te betekenen, wat lokale AI op Apple-hardware praktischer maakt voor ontwikkelaars en bedrijven.
- Virtuele machine (VM)
- Een softwarematige nabootsing van een computer die binnen een ander besturingssysteem draait, vaak gebruikt om software geïsoleerd te testen of uit te voeren.
- GPU (grafische chip)
- De chip die oorspronkelijk voor beeldweergave werd ontworpen, maar tegenwoordig ook de zware rekenwerklast van AI-modellen verwerkt.
- llama.cpp
- Een populair opensource-programma waarmee taalmodellen efficiënt op gewone computers, zonder dure servers, kunnen draaien.
- Paravirtualisatie
- Een vorm van virtualisatie waarbij het hostsysteem de controle over de hardware behoudt en de virtuele machine via een speciale, virtualisatiebewuste tussenlaag werkt in plaats van rechtstreeks bij de hardware te kunnen.
- GPU-passthrough
- Een techniek waarbij een virtuele machine rechtstreekse, exclusieve toegang tot een fysieke grafische chip krijgt, zonder tussenkomst van het hostsysteem.
- Compatibiliteitslaag (shim)
- Een kleine stuk software dat tussen een applicatie en een systeem-interface wordt geplaatst om antwoorden of gedrag aan te passen, zonder de onderliggende systemen te wijzigen.
Bronnen
Dit artikel is met behulp van AI geschreven op basis van bovenstaande bronnen en is geen letterlijke vertaling. Zo werkt onze redactie.