GHID tehnic

Dozare continuă

Lotul continuu este o tehnică de servire care adaugă și elimină solicitări dintr-un lot care rulează simbol cu indicativ, în loc să aștepte ca un întreg lot fix să se termine.

2 minute de lecturăUltima actualizare

Prezentare generală

It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.

Scufundare în profunzime

GPU-urile sunt cele mai rapide atunci când procesează multe solicitări împreună într-un lot. Abordarea naivă, lotizarea statică, grupează un set fix de solicitări, le rulează pe toate până la finalizare, apoi începe următorul lot. Problema: ieșirile modelului de limbă variază foarte mult în lungime, așa că cererile scurte se termină mai devreme și sloturile lor rămân inactive în timp ce lotul îl așteaptă pe cel mai lung, irosind ciclurile GPU și întârziind noile sosiri. Loturile continue (numite și loturi în zbor sau la nivel de iterație, popularizate de hârtia Orca și utilizate în vLLM, TensorRT-LLM și TGI) operează la granularitatea unui singur pas de decodare. După ce fiecare jeton este generat, secvențele terminate ies din lot și cererile proaspăt sosite sunt introduse imediat. Acest lucru menține lotul plin și GPU-ul saturat, crescând adesea de mai multe ori debitul, cu o latență mai mică pentru utilizatorii în așteptare.

Perspectivă tehnică

Schimbarea cheie este de la lotizarea cererilor întregi la lotizarea iterațiilor individuale. La fiecare pas de decodificare, planificatorul construiește setul activ: rulează o trecere înainte peste toate secvențele în timpul zborului, emite câte un jeton fiecare, evacuează orice jeton de final de secvență sau limita de lungime și admite cererile puse în coadă pentru a umple spațiile eliberate. Asocierea acesteia cu memoria KV flexibilă a PagedAttention face ca inserarea și eliminarea secvențelor să fie ieftine în timpul zborului, deoarece memoria cache a fiecărei secvențe trăiește în blocuri independente.

Impact strategic

Cost și buget

Deciziile de arhitectură generează performanța și costurile de operare de ani de zile.

Decizii mai clare

Educația tehnică ajută echipele să aleagă stiva potrivită, nu doar cea mai nouă.

Controlul calității

Opțiuni de inginerie mai bune reduc incidentele de fiabilitate în producție.

Viitorul loturilor continue

Dotarea continuă este acum standard în servirea LLM de producție. Lucrările viitoare rafinează planificatorul: separarea fazei de pre-completare grea de calcul de faza de decodare mai ușoară (dezagregare), precompletarea în bucăți pentru a evita blocarea decodării, politicile de prioritate și echitate pentru sarcini mixte și o cuplare mai strânsă cu decodificarea speculativă, astfel încât mai multe jetoane de schiță să fie validate pe pas. Scopul este strângerea maximă de jetoane pe secundă per GPU, menținând în același timp latența de răspuns individual scăzută și previzibilă.

Implementare în lumea reală

Un API de chat care admite imediat mesajele utilizatorului nou sosite în lotul care rulează, în loc să le pună în coadă pentru următorul lot

Evacuarea unui răspuns scurt finalizat la mijlocul lotului și umplerea slotului acestuia, astfel încât GPU-ul să nu stea niciodată inactiv așteptând o generație lungă

Combinând loturile continue cu PagedAttention de la vLLM pentru a introduce și elimina secvențe ieftin la fiecare pas de decodificare

Un serviciu de completare a codului care susține jetoane mari pe secundă în condiții de trafic intens, de lungime variabilă, menținând lotul plin

Riscuri și balustrade

Optimizarea unui punct de referință poate ascunde slăbiciunile mai largi ale sistemului.

Costurile de infrastructură și întreținere sunt adesea subestimate.

Lacunele de securitate și observabilitate pot crește pe măsură ce sistemele devin mai complexe.

Foaia de parcurs de implementare

1

Definiți obiectivele de latență, calitate și cost înainte de implementare.

2

Benchmark în condiții realiste de încărcare și date.

3

Monitorizarea instrumentelor pentru erori, deriva și impactul utilizatorului.

4

Pregătiți căile de retragere și răspuns la incident înainte de scalare.

Continuați să explorați

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.

Quiz Start

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Următorul ghid

Kubernetes pentru încărcături de lucru ML

Întrebări frecvente

What is Continuous Batching?

Lotul continuu este o tehnică de servire care adaugă și elimină solicitări dintr-un lot care rulează simbol cu indicativ, în loc să aștepte ca un întreg lot fix să se termine. Menține GPU-ul ocupat în mod constant și crește semnificativ numărul de utilizatori pe care un model AI poate servi simultan.

Care este principala slăbiciune a loturilor statice (fixe) pentru servirea LLM?

Deoarece lungimile de ieșire variază, secvențele terminate rămân inactive până când cea mai lentă se finalizează, irosind ciclurile GPU și întârziind noile solicitări.

La ce grad de granularitate adaugă și elimină solicitările în loturi continue?

Loturile continue (la nivel de iterație) actualizează setul activ după fiecare pas de decodare, astfel încât funcționează token-cu-token, mai degrabă decât pe întreaga solicitare.

Când o secvență se termină la mijlocul lotului în loturi continuă, ce se întâmplă cu slotul său?

Secvențele terminate sunt evacuate și cererile de așteptare sunt introduse imediat, păstrând lotul plin și GPU-ul ocupat.

Ce tehnică se asociază în mod natural cu dotarea continuă pentru a face inserarea/eliminarea secvențelor ieftine?

PagedAttention stochează memoria cache KV a fiecărei secvențe în blocuri independente, astfel încât adăugarea sau eliminarea unei secvențe în timpul zborului nu deranjează memoria celorlalți.

Ce lucrare de cercetare este în mod obișnuit creditată cu popularizarea loturilor (continue) la nivel de iterație?

Lucrarea Orca a introdus programarea la nivel de iterație, iar ideea a fost adoptată de sisteme precum vLLM, TGI și TensorRT-LLM.