Per-Node Performance and Memory Limits of LLM Inference on CPU-Only Edge Nodes
Dit artikel karakteriseert de prestatie- en geheugenbeperkingen van CPU-only LLM-inferentie op edge-nodes, waarbij wordt onthuld dat geheugenbandbreedte — en niet rekenkracht — de primaire flessenhals is en dat kwantisatie onverwacht het runtime-geheugengebruik verhoogt, wat een nieuw dimensioneringsmodel noodzakelijk maakt voor nauwkeurige inzetplanning.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://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
In het moderne digitale landschap hebben krachtige kunstmatige intelligentiesystemen, bekend als grote taalmodellen, de manier waarop computers menselijke taal begrijpen en genereren, getransformeerd. Deze systemen zijn gebouwd op enorme collecties gegevenspunten die parameters worden genoemd, die fungeren als de interne kennisbasis van het model. Een typisch model kan miljarden van deze parameters bevatten, wat een aanzienlijke hoeveelheid computergeheugen vereist om ze op te slaan. Jarenlang was het draaien van deze complexe systemen het domein van enorme datacenters uitgerust met gespecialiseerde, snelle grafische processoren. Echter, er is een groeiende beweging die deze intelligentie dichter naar de plek wil brengen waar mensen daadwerkelijk wonen en werken, door het te plaatsen op kleinere, lokale computers die edge nodes worden genoemd. Deze apparaten bevinden zich vaak in kantoren, huizen of afgelegen locaties waar internetverbindingen onbetrouwbaar zijn of waar privacyzorgen voorkomen dat gegevens het gebouw verlaten. De uitdaging voor ingenieurs is dat deze lokale apparaten meestal niet beschikken over de krachtige grafische processoren die in datacenters te vinden zijn, maar in plaats daarvan vertrouwen op standaard centrale verwerkingseenheden (CPU's), de algemene breinen van de meeste computers. De kritieke vraag is geweest of deze bescheiden, alledaagse machines daadwerkelijk het zware werk kunnen verrichten van het draaien van geavanceerde taalmodellen, en zo ja, hoeveel geheugen ze nodig hebben en hoe snel ze kunnen werken.
Een team van onderzoekers zette zich af om deze vragen te beantwoorden door de grenzen van een enkele, representatieve edge-computer te testen. Ze bouwden geen nieuwe software of vonden een snellere chip uit; in plaats daarvan traden ze op als zorgvuldige waarnemers, waarbij ze precies maten wat er gebeurt wanneer een standaardcomputer probeert drie verschillende groottes van taalmodellen te draaien. Ze testten modellen variërend van een compacte versie met 1,1 miljard parameters tot een robuustere versie met 7 miljard parameters. Voor elk model draaiden ze het systeem op drie verschillende precisieniveaus, wat kan worden beschouwd als de mate van detail die de computer gebruikt om zijn interne getallen op te slaan. De onderzoekers wilden zien of de gangbare praktijk van het verminderen van dit detail, bekend als kwantisatie, deze lokale machines zou helpen sneller te draaien en minder geheugen te gebruiken, net zoals dat in krachtige datacenters gebeurt.
De resultaten die zij aan het licht brachten, onthulden een verrassende realiteit die indruist tegen wat algemeen wordt geloofd over deze systemen. In de krachtige datacenters van de wereld is het verminderen van de precisie van een model een bewezen strategie die het geheugengebruik met de helft of meer vermindert en de prestaties versnelt. Op de lokale, alleen op de CPU draaiende computer die in deze studie werd getest, gebeurde precies het tegenovergestelde. Wanneer de onderzoekers de precisie verlaagden om ruimte te besparen, had de computer feitelijk aanzienlijk meer geheugen nodig om het model te draaien. Voor het grootste geteste model, dat theoretisch ongeveer 14 gigabyte aan geheugen zou moeten vereisen, eiste het systeem bijna 20 gigabyte wanneer de precisie werd verlaagd. Deze toename van ongeveer 48 procent kwam doordat de standaardprocessor van de computer de gecomprimeerde, laag-precisie getallen niet van nature kon begrijpen. In plaats van ze direct te verwerken, moest het systeem de gecomprimeerde gewichten in het geheugen houden terwijl het ze tegelijkertijd terug naar een standaardformaat converteerde voor elke enkele berekening. Dit creëerde een dubbele last waarbij de computer zowel de gecomprimeerde gewichten als de conversatiebuffers vasthield, terwijl de activaties en de attention-cache gedurende het hele proces in het standaardformaat bleven, wat effectief de geheugenbelasting verhoogde in plaats van deze te verlichten.
Buiten het geheugenprobleem identificeerde de studie precies wat de computer vertraagde. De onderzoekers ontdekten dat de processor op bijna 100 procent capaciteit werkte, maar nog steeds zeer weinig resultaten produceerde. Dit gaf aan dat de machine niet worstelde met de wiskunde zelf, maar in plaats daarvan wachtte tot gegevens vanuit het geheugen arriveerden. De flessenhals was de snelheid waarmee informatie van de geheugenchips naar de processor kon reizen, een limiet die bekend staat als geheugenbandbreedte. Omdat de computer constant op data moest wachten, kon hij slechts één verzoek tegelijk verwerken. Als een gebruiker probeerde twee vragen tegelijkertijd te stellen, zou het systeem niet in staat zijn om het werk tussen twee threads te verdelen; het zou simpelweg overweldigd raken. Het enkele verzoek verzadigde de machine, wat betekende dat om meerdere gebruikers te bedienen, een netwerk fysieke computers zou moeten toevoegen in plaats van te proberen meer werk uit een enkele computer te persen.
De prestatiedaling was zelfs nog dramatischer toen de onderzoekers naar de snelheid keken. Het meest capabele model, draaiend op zijn standaardprecisie, kon ongeveer 3,76 woorden per seconde genereren, wat traag maar bruikbaar is voor een gesprek. Echter, toen de onderzoekers de compressietechnieken toepasten die bedoeld waren om zaken sneller te maken, stortte de snelheid in. Het systeem vertraagde tot minder dan één woord per seconde, waardoor de interactie pijnlijk traag aanvoelde. In het meest extreme geval van compressie produceerde het systeem slechts één nieuw woord eens in de zestien seconden, wat het onbruikbaar maakte voor een realtime gesprek. Dit bevestigde dat de technieken die ontworpen zijn voor krachtige grafische kaarten niet alleen ineffectief waren op deze lokale machines, maar ook actief schadelijk waren, waarbij snelheid werd ingeruild voor een geheugenstraf die de machine niet kon dragen.
Om ingenieurs te helpen bij het plannen van deze realiteiten, ontwikkelden de onderzoekers een eenvoudige regel voor het schatten van hoeveel geheugen een lokale computer daadwerkelijk nodig zou hebben. Ze ontdekten dat de hoeveelheid vereist geheugen niet alleen een kwestie is van de grootte van de parameters van het model. In plaats daarvan hangt het totale geheugengebruik sterk af van het gekozen precisieniveau. Voor een standaard, ongecomprimeerd model is het benodigde geheugen ongeveer gelijk aan de grootte van de gewichten van het model. Maar voor gecomprimeerde modellen ontdekten de onderzoekers dat de geheugeneis naar ongeveer drie keer de gewichtsgrootte springt voor één niveau van compressie en bijna zes keer voor het diepste niveau. Dit betekent dat een ingenieur die van plan is een groot model op een lokaal apparaat te draaien, een machine moet voorzien met aanzienlijk meer geheugen dan de bestandsgrootte van het model suggereert. Een computer met 32 gigabyte aan geheugen kan wellicht een groot model draaien, maar dan zal er zeer weinig ruimte overblijven voor het besturingssysteem of andere taken, en kan hij zeker niet twee van dergelijke modellen tegelijkertijd draaien.
De studie concludeert dat hoewel het draaien van geavanceerde taalmodellen op lokale, alleen op de CPU draaiende apparaten mogelijk is, dit een volledige heroverweging vereist van hoe deze systemen worden ingezet. De strategieën die werken in de cloud, vertalen zich niet naar de edge. Ingenieurs kunnen niet simpelweg een model nemen dat geoptimaliseerd is voor een datacenter en verwachten dat het efficiënt draait op een lokale laptop of server. Ze moeten rekening houden met het feit dat deze machines beperkt worden door hoe snel ze gegevens kunnen verplaatsen, en niet door hoe snel ze kunnen rekenen. Ze moeten ook accepteren dat het comprimeren van het model om ruimte te besparen waarschijnlijk de snelheid zal verlagen en meer geheugen zal vereisen, in plaats van minder. Voor degenen die deze systemen moeten inzetten op plaatsen met privacyzorgen of een slechte internetverbinding, houdt de weg vooruit in dat men de juiste modelgrootte kiest voor het beschikbare geheugen en accepteert dat een enkele lokale computer slechts één persoon tegelijk kan bedienen. Het tijdperk van edge-intelligentie is gearriveerd, maar het vereist een andere set regels dan de datacenters die eraan voorafgingen.
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.