Continuous Batching
تعلم كيف يعمل التجميع المستمر (continuous batching) على تحسين إنتاجية GPU وتقليل زمن الانتقال. اكتشف كيفية استخدام Ultralytics YOLO26 لزيادة الكفاءة في مهام تعلم الآلة الإنتاجية.
التجميع المستمر هو تقنية متقدمة لجدولة وتحسين الاستنتاج تُستخدم في تعلم الآلة (ML) لزيادة استخدام الأجهزة والإنتاجية إلى أقصى حد. في التجميع الساكن التقليدي، ينتظر محرك الاستنتاج عدداً محدداً مسبقاً من الطلبات للتراكم قبل معالجتها في وقت واحد. غالباً ما يؤدي هذا إلى عدم الكفاءة لأن النظام يجب أن ينتظر انتهاء أطول طلب تشغيلي في المجموعة قبل تحرير الموارد. يحل التجميع المستمر، المعروف أيضاً بالتجميع الديناميكي أو تجميع مستوى التكرار، هذه المشكلة عن طريق إدخال طلبات جديدة في مجموعة الحوسبة بمجرد اكتمال طلب نشط، مما يقلل بشكل كبير من وقت الخمول على GPUs ويحسن الكفاءة العامة.
Link to this sectionالتمييز بين المفاهيم ذات الصلة#
لفهم كيفية معالجة البيانات بشكل أفضل أثناء نشر النموذج، من المفيد التمييز بين التجميع المستمر والمصطلحات الأخرى ذات الصلة في المسرد:
- حجم الدفعة (Batch Size): يشير هذا إلى العدد الثابت من العينات التي تتم معالجتها في وقت واحد أثناء التدريب أو الاستنتاج. تعتمد سير عمل معالجة الدفعات التقليدية على أحجام ثابتة، بينما يسمح التجميع المستمر لحجم الدفعة الفعال بالتقلب ديناميكياً بناءً على حركة المرور الواردة.
- الاستنتاج في الوقت الفعلي (Real-Time Inference): يركز هذا المفهوم على تقليل زمن انتقال الاستنتاج للتنبؤات الفورية، حيث يعالج المدخلات الفردية فور وصولها. يسد التجميع المستمر الفجوة بين التجميع الساكن عالي الإنتاجية والاستنتاج في الوقت الفعلي منخفض زمن الانتقال من خلال الحفاظ على إنتاجية عالية دون إجبار الطلبات السريعة على انتظار الطلبات الأبطأ.
Link to this sectionتطبيقات العالم الحقيقي#
يعد التجميع المستمر أمراً بالغ الأهمية لأنظمة الإنتاج التي تتعامل مع كميات كبيرة من الطلبات غير المتوقعة. إليك مثالان ملموسان على تطبيقه:
-
توليد النصوص عالي الإنتاجية: عند تقديم نماذج لغوية كبيرة (LLMs)، يستغرق توليد الردود لمستخدمين مختلفين أوقاتاً متفاوتة اعتماداً على طول المخرجات. يمكن للأطر التي تستفيد من التجميع المستمر - مثل vLLM على Ray Serve - بث الرموز التي تم توليدها حديثاً بشكل مستمر واستبدال المحادثات المنتهية بطلبات جديدة على الفور. هذه الطريقة، التي شاع استخدامها في الأصل من خلال أبحاث حول جدولة مستوى التكرار، تحسن بشكل كبير إنتاجية توليد النصوص.
-
تحليلات الفيديو غير المتزامنة: في مهام فهم الفيديو، مثل تتبع المركبات عبر شبكة كاميرات المرور في المدينة، تصل الإطارات بفواصل زمنية مختلفة. يسمح التجميع المستمر لنماذج تتبع الكائنات بمعالجة إطارات الفيديو الواردة ديناميكياً في المللي ثانية التي تتوفر فيها الموارد، مما يؤدي إلى تحسين خطوط أنابيب تسريع الأجهزة للوحات معلومات المدن الذكية.
Link to this sectionالمعالجة المستمرة في مهام الرؤية#
عند إدارة ممارسات نشر النماذج ذات الحركة المرورية العالية، يمكن أن تحاكي استنتاجات البث التكراري فوائد التجميع الديناميكي من خلال ضمان تحرير الذاكرة تدريجياً بدلاً من حظرها. يوضح مثال Python التالي كيفية استخدام نمط المولد مع واجهة برمجة تطبيقات تنبؤ النموذج للتعامل مع دفق مستمر من الصور بكفاءة.
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.")تتطلب إدارة جدولة الموارد على مستوى النظام توازناً بين السرعة الخام والتكلفة التشغيلية. تعتمد الفرق التي تنشر نماذج ضخمة من رؤية الكمبيوتر (CV) والنماذج اللغوية بشكل متزايد على أطر عمل خدمة متقدمة لإدارة هذه المجموعات الديناميكية. بالنسبة لفرق المؤسسات التي تتطلع إلى تبسيط بنيتها التحتية، توفر منصة Ultralytics أدوات قوية لتدريب ومراقبة وتصدير النماذج إلى بيئات إنتاج عالية التحسين.






