Statik vs. Continuous Batching
hourglass_empty Statik Batching
Tüm istekler aynı uzunlukta tamamlanana kadar bekler. Kısa istekler GPU'yu boşta tutar. Throughput düşer.
bolt Continuous Batching
Her decoding adımında yeni istekler eklenir. GPU sürekli aktif. 10-20× throughput artışı sağlanabilir.
call_split Prefill/Decode Ayrımı
Prompt işleme (prefill) ve token üretimi (decode) ayrı aşamalar olarak planlanır; kaynak çakışması önlenir.
play_circle Çalışma Prensibi
Sunucu, gelen her isteği bir çalışma kuyruğuna alır. Her decoding iterasyonunda scheduler; mevcut GPU kapasitesine göre yeni istekleri aktif batch'e ekler ve tamamlanan istekleri kaldırır. KV cache, PagedAttention gibi tekniklerle dinamik olarak tahsis edilir. Bu sayede farklı uzunluklardaki onlarca istek paralel ilerler; hiçbiri diğerinin bitmesini beklemez.
quiz Sık Sorulan Sorular
- check_circle Hangi kütüphaneler destekler?: vLLM, TensorRT-LLM, SGLang, Hugging Face TGI ve Triton Inference Server continuous batching'i üretime hazır şekilde destekler.
- check_circle PagedAttention ile ilişkisi?: PagedAttention, KV cache'i sanal sayfa tablosu gibi yönetir; continuous batching'de farklı uzunluktaki istekler arası bellek parçalanmasını önler. İkisi birbirini tamamlar.
- check_circle Ne zaman kritik?: Çok sayıda eş zamanlı kullanıcı, değişken uzunlukta yanıtlar ve yüksek GPU kullanım hedefi olan API servisleri için vazgeçilmezdir.