tag vLLM

Continuous Batching (Sürekli Toplu İşlem)

Bu sayfada vLLM (Continuous Batching (Sürekli Toplu İşlem)) etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

Continuous Batching (Sürekli Toplu İşlem), LLM çıkarım sunucularında gelen istekleri statik batch'ler yerine sürekli, iterasyon bazlı dinamik gruplar hâlinde işleyen bir zamanlama tekniğidir. Geleneksel statik batching'de tüm istekler aynı uzunluğa tamamlanana kadar GPU boşta bekler; bu durum GPU kullanım oranını ciddi biçimde düşürür. Continuous batching ise her decoding adımında yeni isteklerin batch'e eklenmesine ve tamamlananların batch'ten çıkarılmasına olanak tanır. Tekniğin akademik temeli, Yu ve arkadaşlarının 2022'de yayımladığı "Orca: A Distributed Serving System for Transformer-Based Generative Models" çalışmasına dayanır. Bu makalede "iteration-level scheduling" adıyla tanımlanan yöntem, statik batch'e kıyasla 2-23× throughput artışı sağladığını kanıtladı. Pratik uygulamada ise 2023'te vLLM'nin PagedAttention ile birleştirdiği bu teknik, LLM servis altyapısında kalıcı bir standart hâline geldi. Teknik açıdan continuous batching; ön-doldurma (prefill) ve kod-çözme (decode) aşamalarının ayrılması, iterasyon düzeyinde zamanlama, verimli KV cache yönetimi ve öncelik kuyrukları bileşenlerine dayanır. Prefill aşamasında tüm prompt tokenleri bir kez işlenir; decode aşamasında her adımda tek token üretilir. Farklı isteklerin decode adımları eşzamanlı yürütüldüğünde GPU boşta kalmadan çalışmayı sürdürür; bu da KV cache alanının verimli kullanılmasını zorunlu kılar. Bellek yönetimi bu tekniğin kritik bir bileşenidir. PagedAttention, KV cache belleğini sanal sayfa tablosu modeline göre yönetir ve farklı uzunluktaki isteklerin yarattığı parçalanmayı önler. Çeşitli isteklerin KV state'leri aynı fiziksel GPU belleğinde örtüşmeden barındırılabilir; bu da sistemin eş zamanlı istek kapasitesini doğrudan artırır. Üretim ortamlarında continuous batching'i destekleyen başlıca framework'ler şunlardır: vLLM (PagedAttention ile), NVIDIA TensorRT-LLM, Hugging Face TGI (Text Generation Inference), SGLang (yapısal üretim için optimize) ve DeepSpeed-MII. GPU kapasitesi sabitken bu teknik, değişken uzunluktaki çok kullanıcılı API trafiğinde gecikme kararlılığını koruyarak saniyede işlenen token sayısını 10-20× artırabilmektedir. RAG pipeline'ları, ajansal AI sistemleri ve bulut LLM API'leri için temel bir altyapı bileşeni konumuna gelmiştir.

dynamic_feed

Continuous Batching (Sürekli Toplu İşlem)

Continuous Batching (Sürekli Toplu İşlem), LLM çıkarım sunucularında gelen istekleri statik batch'ler yerine sürekli, iterasyon bazlı dinamik gruplar hâlinde işleyen bir zamanlama tekniğidir. Geleneksel statik batching'de tüm istekler aynı uzunluğa tamamlanana kadar GPU boşta bekler; bu durum GPU kullanım oranını ciddi biçimde düşürür. Continuous batching ise her decoding adımında yeni isteklerin batch'e eklenmesine ve tamamlananların batch'ten çıkarılmasına olanak tanır. Tekniğin akademik temeli, Yu ve arkadaşlarının 2022'de yayımladığı "Orca: A Distributed Serving System for Transformer-Based Generative Models" çalışmasına dayanır. Bu makalede "iteration-level scheduling" adıyla tanımlanan yöntem, statik batch'e kıyasla 2-23× throughput artışı sağladığını kanıtladı. Pratik uygulamada ise 2023'te vLLM'nin PagedAttention ile birleştirdiği bu teknik, LLM servis altyapısında kalıcı bir standart hâline geldi. Teknik açıdan continuous batching; ön-doldurma (prefill) ve kod-çözme (decode) aşamalarının ayrılması, iterasyon düzeyinde zamanlama, verimli KV cache yönetimi ve öncelik kuyrukları bileşenlerine dayanır. Prefill aşamasında tüm prompt tokenleri bir kez işlenir; decode aşamasında her adımda tek token üretilir. Farklı isteklerin decode adımları eşzamanlı yürütüldüğünde GPU boşta kalmadan çalışmayı sürdürür; bu da KV cache alanının verimli kullanılmasını zorunlu kılar. Bellek yönetimi bu tekniğin kritik bir bileşenidir. PagedAttention, KV cache belleğini sanal sayfa tablosu modeline göre yönetir ve farklı uzunluktaki isteklerin yarattığı parçalanmayı önler. Çeşitli isteklerin KV state'leri aynı fiziksel GPU belleğinde örtüşmeden barındırılabilir; bu da sistemin eş zamanlı istek kapasitesini doğrudan artırır. Üretim ortamlarında continuous batching'i destekleyen başlıca framework'ler şunlardır: vLLM (PagedAttention ile), NVIDIA TensorRT-LLM, Hugging Face TGI (Text Generation Inference), SGLang (yapısal üretim için optimize) ve DeepSpeed-MII. GPU kapasitesi sabitken bu teknik, değişken uzunluktaki çok kullanıcılı API trafiğinde gecikme kararlılığını koruyarak saniyede işlenen token sayısını 10-20× artırabilmektedir. RAG pipeline'ları, ajansal AI sistemleri ve bulut LLM API'leri için temel bir altyapı bileşeni konumuna gelmiştir.

arrow_forward
fast_forward

Speculative Decoding (Spekülatif Kod Çözme)

Speculative Decoding (Spekülatif Kod Çözme), büyük dil modellerinin (LLM) otoregresif çıkarım hızını artırmak için tasarlanmış lossless bir optimizasyon tekniğidir. Klasik otoregresif çıkarımda her token, hedef modelin (target model) tek bir ileri geçişini (forward pass) gerektirir; bu süreç GPU'nun hesap kapasitesini tam verimde kullanmaz ve bellek bant genişliği darboğazına yol açar. Speculative decoding bu sorunu iki model mimarisiyle çözer: küçük, hızlı bir taslak model (draft model) ve büyük, kaliteli bir hedef model. Her adımda taslak model γ token önerir (genellikle γ = 4–8). Hedef model bu γ tokeni tek bir toplu ileri geçişte paralel olarak doğrular; yani γ+1 token için gereken hesaplama maliyeti, tek token üretme maliyetiyle yaklaşık eşittir. Spekülatif örnekleme (speculative sampling) kuralı, her tokenin hedef modelin olasılık dağılımıyla uyumluluk olasılığına göre kabul veya reddedilmesini belirler. İlk ret noktasından itibaren hedef modelin kendi tahminleri devreye girer. Bu prosedür, hedef modelin doğrudan örneklemesiyle istatistiksel olarak özdeş bir çıktı dağılımı üretir; dolayısıyla lossless bir hızlanmadır. Gerçek uygulamalarda hız kazanımı, taslak modelin kabul oranına (acceptance rate) bağlıdır. Kod tamamlama ve formüllü metinler gibi düşük entropili çıktılarda kabul oranı %80–90'a ulaşabilir ve 2×–4× duvar saati hızlanması gözlemlenir. Buna karşın yüksek entropi gerektiren yaratıcı metinlerde kazanım azalır. Tekniğin çeşitli biçimleri geliştirilmiştir. Medusa, hedef modele ek taslak başları (heads) ekleyerek ayrı bir draft modeline olan ihtiyacı ortadan kaldırır. EAGLE ve EAGLE-2, gizli katman aktivasyonlarından beslenen tek katmanlı ağ yapısıyla çok yüksek kabul oranları elde eder. Self-speculative yöntemler ise hedef modelin erken çıkış katmanlarını taslak olarak kullanır; bu sayede ikinci bir modele gerek kalmaz. Üretim ortamında Google Gemini, Anthropic Claude, vLLM ve SGLang speculative decoding'i aktif biçimde kullanmaktadır. Gerçek zamanlı sohbet asistanları ve anlık kod tamamlama araçları, düşük gecikme gereksinimi nedeniyle bu teknikten en fazla kazanım elde eden uygulama alanlarıdır.

arrow_forward