Wat gebeurt er wanneer lokale AI-services concurreren om acceleratorgeheugen?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Wanneer lokale AI-diensten concurreren om acceleratorgeheugen, vermindert elke runtime de capaciteit die beschikbaar is voor andere modellen, aanvragen, caches en tijdelijke tensors.

Een thuisserver kan chat, embeddings, beeldgeneratie, spraakherkenning, tekst-naar-spraak, visiedetectie en camera-analyses uitvoeren via afzonderlijke containers of processen. Hun dashboards kunnen inactief lijken, terwijl modelgewichten en allocatorpools aanwezig blijven op dezelfde GPU, NPU of accelerator met gedeeld geheugen. Een nieuwe aanvraag heeft vervolgens ruimte nodig voor promptstatus, activaties en uitvoerbuffers die niet zichtbaar waren in de statische geheugenvoetafdruk van het model. In de onderstaande secties wordt uitgelegd hoe afzonderlijke diensten de nominale accelerat capaciteit omzetten in toelatingsfouten en instabiele latentie.

Elke dienst brengt meer mee dan alleen modelgewichten

Een geladen model neemt parametergeheugen in beslag, maar actieve inferentie heeft ook runtimebibliotheken, uitvoeringscontexten, tijdelijke werkruimten, invoerbuffers, activaties en aanvraagspecifieke status nodig.

Onderzoek naar het aanbieden van grote taalmodellen identificeert KV-cachegeheugen als een belangrijke beperking voor gelijktijdigheid, omdat het groeit met het aantal actieve reeksen en de contextlengte. Een model dat inactief past, kan falen wanneer meerdere lange aanvragen actief worden.

Vision-, diffusie-, spraak- en embeddingdiensten gebruiken verschillende patronen voor tijdelijk geheugen. Hun piektoewijzingen kunnen elkaar overlappen, zelfs wanneer het gemiddelde gebruik laag blijft.

Afzonderlijke processen dupliceren context en runtime-overhead

Elke AI-functie in een eigen container uitvoeren verbetert de operationele scheiding, maar afzonderlijke processen kunnen afzonderlijke acceleratorcontexten, bibliotheken, allocatorpools en kopieën van gedeelde modelcomponenten creëren.

Systemen voor het aanbieden van meerdere modellen onderzoeken multi-model serving, omdat een naïeve plaatsing van één dienst per model zowel geheugen als rekenkracht verspilt. Gecoördineerde colocatie kan capaciteit effectiever delen dan onafhankelijke runtimes die elk aannemen dat zij het apparaat volledig beheren.

Twee diensten die dezelfde tokenizer, vision-encoder of hetzelfde taalmodel gebruiken, delen niet automatisch één fysieke kopie. Delen vereist ondersteuning in de runtime en compatibele procesgrenzen.

De duplicatiekosten zijn het duidelijkst bij kleine accelerators, waar enkele honderden megabytes aan context- en bibliotheekoverhead kunnen bepalen of een ander model kan starten.

Gereserveerde pools kunnen geheugen voor andere runtimes verbergen

Frameworks houden vaak vrijgekomen blokken vast, zodat latere aanvragen dure apparaattoewijzingen en synchronisatie kunnen vermijden. De dienst rapporteert minder actief toegewezen geheugen, maar een ander proces kan de gereserveerde fysieke ruimte nog steeds niet gebruiken.

Systemen zoals statistische multiplexing beschouwen plaatsing en piekpatronen als een mondiaal probleem, in plaats van elk modelserver toe te staan reserves aan te leggen voor zijn eigen worstcasescenario. Onafhankelijke lokale diensten hebben dat globale overzicht niet, tenzij een orchestrator dit afdwingt.

Dit verklaart waarom een accelerator een laag rekengebruik kan tonen en toch een nieuw model weigert. De capaciteit wordt ingenomen door gewichten, gereserveerde blokken of gefragmenteerde vrije gebieden, en niet door actieve kernels.

-15% OFF
Single board computer zimaboard2

Concurrentie verandert de latentie voordat er een OOM-fout ontstaat

Een runtime kan bij weinig geheugen de batchgrootte verlagen, minder gelijktijdige reeksen toelaten, verwijderde status opnieuw berekenen, lagen naar CPU-RAM verplaatsen of een ander model uitladen.

Aegaeon gebruikt planning op tokenniveau om meerdere modellen te coördineren bij veranderende vraag. Een thuisserver zonder vergelijkbare coördinatie maakt het tekort vaak zichtbaar als trage eerste tokens, onderbrekingen, modelwissels of onvoorspelbare wachtrijen.

Het artikel van ZimaSpace over gelijktijdig gebruik door gezinnen laat dezelfde grens op aanvraagniveau zien: actieve gesprekken concurreren om geheugen en aandacht van de planner, zelfs wanneer tests met één gebruiker snel aanvoelen.

Een out-of-memory-uitzondering is slechts de uiteindelijke foutmodus. Instabiele latentie en een lagere doorvoer ontstaan vaak eerder.

Het verwijderen van modellen ruilt directe respons in voor capaciteit

Het uitladen van een inactief model maakt een groot aaneengesloten gebied vrij voor een andere dienst. De volgende aanvraag aan de uitgeladen dienst moet de gewichten opnieuw laden en de runtime-status opnieuw opbouwen, waardoor geheugendruk verandert in een vertraging bij een koude start.

WarmServe onderzoekt plaatsing die rekening houdt met uitzetting, omdat frequent wisselen de tijd tot het eerste token verslechtert. Elk model warm houden is alleen sneller wanneer de accelerator genoeg geheugen heeft voor de gecombineerde aanwezige en actieve status.

Voor een thuisserver hangt het juiste beleid af van de werklast. Spraakbediening kan permanent in het geheugen blijven, terwijl incidentele beeldgeneratie een nieuwe lading kan accepteren.

Eén resourcebeheerder kan echte capaciteitsgrenzen afdwingen

Coördineer diensten waar mogelijk via één inferentieserver, of wijs expliciete geheugenlimieten per dienst toe, evenals zichtbaarheid van apparaten, regels voor modelresidentie, limieten voor gelijktijdigheid en prioriteiten.

Recent onderzoek naar geheugenballonvorming laat zien waarom statische toewijzing capaciteit verspilt wanneer modelpopulariteit en aanvraagbelasting veranderen. Dynamisch delen kan het gebruik verbeteren, maar vereist één systeem dat alle concurrerende werklasten observeert.

Meet per dienst de gewichten, het gereserveerde geheugen, actieve toewijzingen, de KV-cache, gelijktijdigheid van aanvragen, contextlengte, batchgrootte en frequentie van modelwissels. Een globaal apparaattotaal zonder toewijzing per dienst kan de botsing niet verklaren.

Bescherm diensten die gevoelig zijn voor latentie als eerste, plan embeddings en indexering in onderhoudsvensters en laat niet-toegewezen speelruimte over voor tijdelijke pieken. Het doel is niet om elke byte in rust te vullen, maar om de beoogde dienstenmix stabiel te houden bij gelijktijdige vraag.

Veelgestelde vragen

Waarom is het acceleratorgeheugen vol terwijl het GPU-gebruik laag is?

Het rekengebruik meet actieve uitvoering, terwijl modelgewichten, contexten, caches en gereserveerde allocatorblokken tussen aanvragen door geheugen kunnen bezetten.

Kunnen containers automatisch GPU-geheugenlimieten afdwingen?

Niet betrouwbaar voor elke runtime. Toewijzing van apparaten en procesisolatie garanderen niet dat meerdere frameworks hun interne reserveringen op elkaar afstemmen.

Is één gedeelde inferentieserver altijd beter?

Nee. Zo'n server kan duplicatie verminderen en de planning verbeteren, maar service-isolatie, compatibiliteit tussen frameworks, beveiliging, foutherstel en modelondersteuning kunnen afzonderlijke runtimes rechtvaardigen.

Tech & AI HUB

Meer om te lezen

Waarom veranderen AI-fotolabels na een modelupgrade?
Aug 08, 2026

Waarom veranderen AI-fotolabels na een modelupgrade?

Een modelupgrade verandert de representatie en rangschikking die worden gebruikt om labels toe te wijzen, waardoor dezelfde foto verschillende semantische of betrouwbaarheidsgrenzen kan overschrijden.

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.