Continu batchen
Continue batchverwerking is een serveertechniek waarmee verzoeken van een actieve batch token voor token worden toegevoegd en verwijderd, in plaats van te wachten tot een hele vaste batch is voltooid.
Overzicht
It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.
Diepe duik
GPU's zijn het snelst wanneer ze veel verzoeken tegelijk in een batch verwerken. De naïeve aanpak, statische batching, groepeert een vaste reeks verzoeken, voert ze allemaal uit en start vervolgens de volgende batch. Het probleem: de uitvoer van taalmodellen varieert enorm in lengte, dus korte verzoeken eindigen vroeg en hun slots blijven inactief terwijl de batch op de langste wacht, waardoor GPU-cycli worden verspild en nieuwkomers worden vertraagd. Continue batching (ook wel batching tijdens de vlucht of iteratieniveau genoemd, gepopulariseerd door het Orca-artikel en gebruikt in vLLM, TensorRT-LLM en TGI) werkt met de granulariteit van een enkele decoderingsstap. Nadat elk token is gegenereerd, verlaten voltooide reeksen de batch en worden nieuw binnengekomen verzoeken onmiddellijk ingevoerd. Hierdoor blijft de batch vol en blijft de GPU verzadigd, waardoor de doorvoer vaak meerdere keren wordt verhoogd met een lagere latentie voor wachtende gebruikers.
Technisch inzicht
De belangrijkste verschuiving is van het batchen van hele verzoeken naar het batchen van individuele iteraties. Bij elke decodeerstap bouwt de planner de actieve set op: hij voert één voorwaartse pass uit over alle reeksen tijdens de vlucht, zendt elk één token uit, verwijdert alle tokens die een token aan het einde van de reeks of een lengtelimiet bereiken, en laat verzoeken in de wachtrij toe om de vrijgekomen slots te vullen. Door dit te combineren met het flexibele KV-geheugen van PagedAttention is het invoegen en verwijderen van reeksen halverwege de vlucht goedkoop, omdat de cache van elke reeks in onafhankelijke blokken leeft.
Strategische impact
Cost and budget
Architectuurbeslissingen bepalen jarenlang de prestaties en bedrijfskosten.
Clearer decisions
Technisch onderwijs helpt teams bij het kiezen van de juiste stapel, niet alleen de nieuwste.
Quality control
Betere technische keuzes verminderen het aantal betrouwbaarheidsincidenten in de productie.
De toekomst van continu batchen
Continu batchen is nu standaard bij productie-LLM-bediening. Toekomstig werk verfijnt de planner: het scheiden van de rekenintensieve prefill-fase van de lichtere decodeerfase (disaggregatie), chunked prefill om te voorkomen dat de decodering vastloopt, prioriteits- en eerlijkheidsbeleid voor gemengde werklasten, en nauwere koppeling met speculatieve decodering zodat meerdere concepttokens per stap worden gevalideerd. Het doel is het maximale aantal tokens per seconde per GPU te persen, terwijl de latentie van individuele reacties laag en voorspelbaar blijft.
Implementatie in de echte wereld
Een chat-API die nieuw binnengekomen gebruikersberichten onmiddellijk toestaat in de lopende batch, in plaats van ze in de wachtrij te plaatsen voor de volgende batch
Een kort voltooid antwoord halverwege de batch verwijderen en het slot opvullen, zodat de GPU nooit stilstaat bij het wachten op een lange generatie
Het combineren van continue batching met vLLM's PagedAttention om sequenties goedkoop in te voegen en te verwijderen bij elke decodeerstap
Een service voor het voltooien van codes die hoge tokens per seconde ondersteunt onder bursty verkeer van variabele lengte door de batch vol te houden
Risico's en vangrails
Het optimaliseren van één benchmark kan bredere systeemzwakheden verbergen.
Infrastructuur- en onderhoudskosten worden vaak onderschat.
De lacunes op het gebied van beveiliging en waarneembaarheid kunnen groter worden naarmate systemen complexer worden.
Implementatie routekaart
Definieer latentie-, kwaliteits- en kostendoelen vóór implementatie.
Benchmark onder realistische belasting- en gegevensomstandigheden.
Instrumentbewaking op fouten, drift en gebruikersimpact.
Bereid rollback- en incidentresponspaden voor voordat u gaat schalen.
Blijf verkennen
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Continuous Batching quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Kubernetes voor ML-workloads
Frequently asked questions
What is Continuous Batching?
Continue batchverwerking is een serveertechniek waarmee verzoeken van een actieve batch token voor token worden toegevoegd en verwijderd, in plaats van te wachten tot een hele vaste batch is voltooid. Het houdt de GPU constant bezig en vergroot sterk het aantal gebruikers dat een AI-model tegelijk kan bedienen.
Wat is de belangrijkste zwakte van statische (vaste) batchverwerking voor LLM-service?
Omdat de uitvoerlengte varieert, blijven voltooide reeksen inactief totdat de langzaamste is voltooid, waardoor GPU-cycli worden verspild en nieuwe verzoeken worden vertraagd.
Met welke granulariteit worden door continue batching verzoeken toegevoegd en verwijderd?
Continue batchverwerking (iteratieniveau) werkt de actieve set bij na elke afzonderlijke decodeerstap, zodat deze token per token werkt in plaats van per hele aanvraag.
Wat gebeurt er met het slot als een reeks halverwege de batch eindigt onder continu batchen?
Voltooide reeksen worden verwijderd en wachtende verzoeken worden onmiddellijk ingevoerd, waardoor de batch vol blijft en de GPU bezig blijft.
Welke techniek past op natuurlijke wijze bij continu batchen om het invoegen/verwijderen van sequenties goedkoop te maken?
PagedAttention slaat de KV-cache van elke reeks op in onafhankelijke blokken, zodat het toevoegen of verwijderen van een reeks halverwege de vlucht het geheugen van anderen niet verstoort.
Welk onderzoeksartikel wordt gewoonlijk gecrediteerd voor het populariseren van (continue) batching op iteratieniveau?
Het Orca-artikel introduceerde planning op iteratieniveau en het idee werd overgenomen door systemen als vLLM, TGI en TensorRT-LLM.