Het geheugengebruik van attention kan groter worden dan dat van de modelparameters, omdat gewichten onveranderd blijven terwijl tokenafhankelijke caches, activaties en werkruimten meegroeien met de context en gelijktijdigheid.
Een gequantiseerd model past mogelijk ruimschoots in het RAM of VRAM van een homeserver, maar lange prompts, meerdere gebruikers in het huishouden, multimodale invoer of grote batches kunnen toch geheugenproblemen veroorzaken. Het modelbestand beschrijft permanente gewichten, niet de volledige werkset tijdens inferentie. Attention creëert verzoekspecifieke status voor elke bewaarde token en kan tijdelijke buffers vereisen waarvan de piek afhankelijk is van de runtime. In de onderstaande secties wordt het vaste geheugengebruik van parameters onderscheiden van sequentieafhankelijk geheugengebruik, en wordt aangegeven wanneer dat laatste de werkelijke capaciteitsbeperking wordt.
Modelparameters vormen na het laden een vaste basis
Modelgewichten nemen een voorspelbare hoeveelheid geheugen in beslag zodra het aantal parameters en de numerieke indeling bekend zijn. Een model met vier-bitsparameters gebruikt minder opslagruimte dan een acht-bits- of floatingpointversie, al voegen runtime-metagegevens en schalingsfactoren enige overhead toe.
De Transformer-architectuur gebruikt dezelfde geleerde parameters voor een korte en een lange prompt. De hoeveelheid geheugen voor parameters verdubbelt niet alleen omdat de gebruiker meer context toevoegt.
Deze vaste basis maakt de bestandsgrootte van een model nuttig voor een eerste controle of het model past. Het is geen volledige schatting van het piekgeheugen tijdens inferentie.
Volledige attention kan tussenwerk met kwadratische sequentiegroei creëren
Conventionele self-attention vergelijkt tokenposities met elkaar. Als een implementatie grote matrices met attention-scores en waarschijnlijkheden in het geheugen opslaat, groeien de afmetingen daarvan kwadratisch met de sequentielengte.
FlashAttention benoemt kwadratisch attentiongeheugen als een belangrijk probleem bij lange sequenties en voorkomt dat de volledige matrix wordt opgeslagen door de berekening in tegels uit te voeren.
Moderne geoptimaliseerde inferentiekernels gebruiken daardoor mogelijk veel minder tijdelijk geheugen dan de naïeve formule suggereert. De onderliggende attentionberekening wordt nog steeds zwaarder bij langere sequenties, maar de implementatie bepaalt of de volledige matrix met kwadratische sequentiegrootte in het apparaatgeheugen verschijnt.
De piek van de werkruimte kan ook veranderen door de kernelversie, batchvorm, headdimensie en de vraag of de runtime terugvalt op een minder efficiënt attentionpad.
De KV-cache voegt permanente status toe voor elke bewaarde token
Autoregressieve decodering slaat keys en values van eerdere tokens op, zodat het model niet voor elke volgende token de volledige prefix opnieuw hoeft te berekenen.
PagedAttention beschouwt groei van de KV-cache als een belangrijke beperking van het geheugen voor serving. De capaciteit groeit mee met het aantal bewaarde tokens, cacheproducerende lagen, key-value-dimensies, precisie en actieve sequenties.
In tegenstelling tot een tijdelijke attentionmatrix moet deze status gedurende het volledige actieve gesprek beschikbaar blijven. Een lange context kan daardoor geheugen blijven verbruiken, zelfs wanneer het model telkens maar één nieuwe token genereert.
De uitleg van ZimaSpace over geheugenruimte voor AI onderscheidt modelopslag van de extra capaciteit die nodig is voor context en gelijktijdige gebruikers.
Gelijktijdige verzoeken vermenigvuldigen de dynamische attentionstatus
Meerdere gebruikers kunnen één kopie van de modelgewichten delen, maar hun privéprompts, gegenereerde tokens en KV-cachevertakkingen blijven normaal gesproken gescheiden.
vAttention gebruikt dynamische fysieke geheugentoewijzing, omdat de lengte van verzoeken en het moment waarop ze worden voltooid niet bekend zijn wanneer het serveren begint.
Een server waarop één gesprek van 32.000 tokens past, kan mogelijk niet vier van zulke gesprekken tegelijk verwerken. De batchgrootte en het aantal gebruikers vermenigvuldigen de tokenafhankelijke status, ook al blijft het totale aantal modelparameters gelijk.
Prefixdeling kan duplicatie verminderen wanneer verzoeken een identieke gecachte prefix hebben, maar uiteenlopende gesprekken binnen een huishouden vereisen nog steeds een onafhankelijke vervolgstatus.
Activaties en runtime-reserveringen verhogen de piek verder
Prompt-prefill, multimodale projectie, speculatieve decodering, grafiekvastlegging, tijdelijke tensorkonversie en bibliotheekwerkruimten kunnen geheugen toewijzen boven op de gewichten en de KV-cache.
FlashAttention-2 merkt op dat attention een knelpunt bij lange sequenties blijft, zelfs wanneer betere kernels grote opgeslagen tussenresultaten verwijderen.
Geheugentoewijzers met caching in frameworks kunnen vrijgegeven blokken vasthouden voor hergebruik. Daardoor kunnen apparaathulpmiddelen na afloop van één piekverzoek nog steeds een grote procesvoetafdruk tonen. Die reservering verschilt van actief tensorgeheugen, maar beperkt nog steeds een ander proces.
Het hoogste waargenomen geheugengebruik kan daarom tijdens prefill of het wisselen van modellen optreden, in plaats van tijdens stabiele decodering van één token per keer.
Attentionoptimalisaties verschuiven de grens, maar verwijderen die niet
Flash attention vermindert tijdelijke IO en matrixopslag, paged allocation vermindert KV-fragmentatie, een lagere cacheprecisie vermindert het aantal bytes per token en grouped-query attention gebruikt minder key-value-heads.
Grouped-query attention vermindert het geheugen voor key-value-heads en behoudt daarbij meer capaciteit dan één multi-query-head.
Schuivende vensters, cache-eviction, offloading en retrieval kunnen de attentionstatus begrenzen of verplaatsen, maar veranderen elk de latentie, de beschikbare context of het gedrag van antwoorden.
Benchmark de volledige beoogde werklast: modelprecisie, werkelijke promptlengte, uitvoerlimiet, batchgrootte, gebruikers, beeldtokens en andere lokale diensten. Het attentiongeheugen is groter geworden dan het parametergheugen wanneer het verminderen van de tokenstatus of de gelijktijdigheid de stabiliteit herstelt zonder de modelgewichten te wijzigen.
Veelgestelde vragen
Is het attentiongeheugen altijd groter dan het geheugen voor modelgewichten?
Nee. Bij korte prompts voor één gebruiker vormen de gewichten vaak de grootste component. De attentionstatus wordt pas dominant wanneer context, batching of gelijktijdigheid een modelspecifieke en runtimeafhankelijke drempel overschrijdt.
Verwijdert FlashAttention het geheugen voor de KV-cache?
Nee. Het vermindert de attentionberekening en het tijdelijke geheugentransport. Voor autoregressief serveren zijn bewaarde key- en value-statussen nog steeds nodig, tenzij de runtime deze opnieuw berekent, verwijdert of offloadt.
Kan systeem-RAM een tekort aan attentiongeheugen oplossen?
Het kan CPU-inferentie of offloading ondersteunen in compatibele runtimes, maar het verplaatsen van actieve status via een tragere verbinding kan de latentie verhogen en de uitvoersnelheid verlagen.
Tech & AI HUB
Meer om te lezen

Waarom worden voorspellingen voor slimme woningen minder nauwkeurig nadat routines door seizoensveranderingen zijn gewijzigd?
Seizoensgebonden routines veranderen de relatie tussen tijd, sensoren, aanwezigheid en gewenste acties, waardoor een model dat op oudere gewoonten is getraind verouderd raakt.

Waarom mist een thuis-NVR korte gebeurtenissen wanneer objecttracking is ingeschakeld?
Tracking heeft voldoende detecties nodig om een traject te starten en te bevestigen. Daardoor kan een object kortstondig verdwijnen voordat de NVR een geldig...

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.

