PRZEWODNIK techniczny

Ciągłe dozowanie

Ciągłe przetwarzanie wsadowe aktualizuje aktywny zestaw żądań pomiędzy iteracjami generowania, zamiast wstrzymywać jedną stałą partię do czasu zakończenia każdego żądania.

Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~2 min

Na tej stronie2 minuty czytania
  1. Przegląd
  2. Głębokie nurkowanie
  3. Implementacja w świecie rzeczywistym
  4. Przyszłość ciągłego dozowania
  5. Wdrażanie tego w praktykę
  6. Odkrywaj dalej
  7. Często zadawane pytania

Przegląd

It can improve serving utilization, while capacity limits and scheduling policy still govern latency.

Głębokie nurkowanie

GPUs are fastest when they process many requests together in a batch. The naive approach, static batching, groups a fixed set of requests, runs them all to completion, then starts the next batch. The problem: language model outputs vary wildly in length, so short requests finish early and their slots sit idle while the batch waits for the longest one, wasting GPU cycles and delaying new arrivals. Continuous batching (also called in-flight or iteration-level batching, popularized by the Orca paper and used in vLLM, TensorRT-LLM, and TGI) operates at the granularity of a single decoding step. After each token is generated, finished sequences exit the batch and queued requests can be admitted when the scheduler has capacity. Iteration-level admission can improve utilization and reduce avoidable waiting compared with fixed batches; the measured effect depends on request lengths, capacity, and scheduling.

Implementacja w świecie rzeczywistym

Interfejs API czatu, który natychmiast przyjmuje nowo otrzymane wiadomości użytkowników do działającej partii, zamiast umieszczać je w kolejce do następnej partii

Eksmitowanie krótkiej, zakończonej odpowiedzi w połowie partii i zapełnianie jej gniazda, aby procesor graficzny nigdy nie pozostawał bezczynny w oczekiwaniu na długą generację

Łączenie ciągłego przetwarzania wsadowego z funkcją PagedAttention vLLM w celu taniego wstawiania i usuwania sekwencji na każdym etapie dekodowania

Usługa uzupełniania kodu utrzymująca wysoką liczbę tokenów na sekundę w przypadku intensywnego ruchu o zmiennej długości, dzięki utrzymywaniu pełnej partii

Przyszłość ciągłego dozowania

Serving teams balance throughput with time to first token and time between generated tokens. Long prefill work can delay decoding unless the scheduler splits or otherwise manages it. Capacity budgets, request priorities, and fairness policies determine which work is admitted. Continuous batching can be combined with paged caches, chunked prefill, and speculative decoding, but each combination should be measured on the actual traffic and hardware.

Wdrażanie tego w praktykę

Dlaczego to ma znaczenie

  • Koszt i budżet. Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.
  • Jaśniejsze decyzje. Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.
  • Kontrola jakości. Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.

Uważaj na

  • Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.
  • Koszty infrastruktury i utrzymania są często niedoszacowane.
  • W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.

Kolejne kroki

  1. Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.
  2. Test porównawczy w realistycznych warunkach obciążenia i danych.
  3. Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.
  4. Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.

Odkrywaj dalej

Darmowy newsletter

Otrzymuj codzienne podsumowanie AI

Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.

Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.

Sprawdź się

Take the Continuous Batching quiz

Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.

Rozpocznij quiz

Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę

Często zadawane pytania

Co to jest ciągłe dozowanie?

Continuous batching updates the active request set between generation iterations instead of holding one fixed batch until every request finishes. It can improve serving utilization, while capacity limits and scheduling policy still govern latency.

Jaka jest główna słabość statycznego (stałego) dozowania w przypadku obsługi LLM?

Ponieważ długości wyjściowe są różne, ukończone sekwencje pozostają bezczynne do czasu zakończenia najwolniejszej, marnując cykle procesora graficznego i opóźniając nowe żądania.

Z jaką szczegółowością ciągłe przetwarzanie wsadowe dodaje i usuwa żądania?

Ciągłe (na poziomie iteracji) przetwarzanie wsadowe aktualizuje aktywny zestaw po każdym pojedynczym kroku dekodowania, więc działa token po tokenie, a nie na całe żądanie.

A continuous-batching request finishes and frees capacity. What can the scheduler do next?

Iteration-level scheduling can refill available capacity subject to memory, token, and other limits.

Która technika łączy się naturalnie z ciągłym dozowaniem, aby sekwencje wstawiania/usuwania były tanie?

PagedAttention przechowuje pamięć podręczną KV każdej sekwencji w niezależnych blokach, więc dodanie lub usunięcie sekwencji w trakcie transmisji nie zakłóca pamięci innych osób.

Jakiemu artykułowi badawczemu powszechnie przypisuje się spopularyzowanie (ciągłego) przetwarzania wsadowego na poziomie iteracji?

W artykule Orca wprowadzono planowanie na poziomie iteracji, a pomysł został przyjęty w obsługujących systemach takich jak vLLM, TGI i TensorRT-LLM.