Continuous Batching
Sürekli gruplamanın GPU iş hacmini nasıl optimize ettiğini ve gecikmeyi nasıl azalttığını öğren. Üretimsel ML görevlerinde verimliliği en üst düzeye çıkarmak için Ultralytics YOLO26'yı nasıl kullanacağını keşfet.
Continuous batching, donanım kullanımını ve veri çıkış hızını en üst düzeye çıkarmak için machine learning (ML) alanında kullanılan gelişmiş bir zamanlama ve çıkarım optimizasyon tekniğidir. Geleneksel statik batching'de, bir inference engine, istekleri aynı anda işlemeye başlamadan önce önceden belirlenmiş sayıda isteğin birikmesini bekler. Bu durum genellikle verimsizliklere yol açar çünkü sistem, kaynakları serbest bırakmadan önce batch içerisindeki en uzun süren isteğin bitmesini beklemek zorundadır. Dinamik veya iterasyon düzeyinde batching olarak da bilinen continuous batching, etkin bir istek tamamlanır tamamlanmaz hesaplama batch'ine yeni istekler dahil ederek bu sorunu çözer; böylece GPUs üzerindeki boşa geçen süreyi önemli ölçüde azaltır ve genel verimliliği artırır.
İlgili Kavramları Ayırt Etme#
Verilerin model dağıtımı sırasında nasıl işlendiğini daha iyi anlamak için, sürekli gruplamayı sözlükteki diğer ilgili terimlerden ayırmak faydalıdır:
- Batch Size: Bu terim, eğitim veya çıkarım sırasında aynı anda işlenen sabit örnek sayısını ifade eder. Geleneksel batch processing workflows statik boyutlara dayanırken, continuous batching gelen trafiğe bağlı olarak etkili batch boyutunun dinamik bir şekilde dalgalanmasına olanak tanır.
- Real-Time Inference: Bu kavram, tekil girdileri geldikleri anda işleyerek anlık tahminler için inference latency değerini en aza indirmeye odaklanır. Continuous batching, hızlı isteklerin daha yavaş olanları beklemek zorunda kalmamasını sağlayarak yüksek verimlilik sunar ve yüksek verimli statik batching ile düşük gecikmeli gerçek zamanlı çıkarım arasındaki boşluğu doldurur.
Gerçek Dünya Uygulamaları#
Sürekli gruplama, tahmin edilemeyen yüksek hacimli istekleri yöneten üretim sistemleri için kritiktir. İşte uygulamasına dair iki somut örnek:
-
High-Throughput Text Generation: Large Language Models (LLMs) sunulurken, farklı kullanıcılar için yanıt üretmek çıktı uzunluğuna bağlı olarak değişen süreler alır. Ray Serve üzerinde vLLM gibi continuous batching'den yararlanan çerçeveler, yeni oluşturulan token'ları sürekli olarak akıtabilir ve biten konuşmaları hemen yeni istemlerle değiştirebilir. Aslen research on iteration-level scheduling çalışmalarıyla popülerleşen bu yöntem, metin üretim verimliliğini büyük ölçüde artırır.
-
Asynchronous Video Analytics: Bir şehrin trafik kamerası ağındaki araçları takip etmek gibi video understanding görevlerinde, kareler farklı aralıklarla gelir. Continuous batching, object tracking modellerinin gelen video karelerini kaynaklar serbest kalır kalmaz milisaniyeler içinde dinamik olarak işlemesine olanak tanır ve akıllı şehir panoları için hardware acceleration işlem hatlarını optimize eder.
Görüntü İşleme Görevlerinde Sürekli İşleme#
Yüksek trafikli model deployment practices süreçlerini yönetirken, çıkarımları yinelemeli olarak akıtmak, belleğin bloke edilmek yerine kademeli olarak serbest bırakılmasını sağlayarak dinamik batching'in avantajlarını simüle edebilir. Aşağıdaki Python örneği, sürekli bir görüntü akışını verimli bir şekilde ele almak için model prediction API ile oluşturucu (generator) deseninin nasıl kullanılacağını gösterir.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)
# Process each result as soon as it completes
for result in results:
print(f"Detected {len(result.boxes)} objects in this frame.")Sistem düzeyinde resource scheduling yönetimi, ham hız ile operasyonel maliyet arasında bir denge kurulmasını gerektirir. Büyük ölçekli computer vision (CV) ve dil modelleri dağıtan ekipler, bu dinamik batch'leri yönetmek için gelişmiş sunucu çerçevelerine giderek daha fazla güvenmektedir. Altyapılarını optimize etmek isteyen kurumsal ekipler için Ultralytics Platform, modelleri eğitmek, izlemek ve son derece optimize edilmiş üretim ortamlarına aktarmak için güçlü araçlar sunar.






