الدرس 10: Dynamic Batching والـ Serving — تجميع الطلبات في الوقت الفعلي
في بيئة الإنتاج لا تصل الطلبات في batch مرتّب — بل تتقاطر واحدًا تلو الآخر من مستخدمين مختلفين. إذا شغّلت كل طلب بمفرده ينهار الـ throughput. الحل في خوادم الـ inference مثل Triton هو dynamic batching: الانتظار نافذة زمنية ضئيلة، وتجميع الطلبات التي وصلت، وتشغيلها معًا. في هذا الدرس نفهم التوازن بين
المصعد الذي ينطلق فورًا براكب واحد يهدر الرحلات. الـ dynamic batching هو الانتظار بضع ثوانٍ حتى يدخل مزيد من الناس — دون إفراط، كي لا ينزعج أحد — ثم الانطلاق بمصعد ممتلئ.
- Dynamic batching
- يجمع الخادم الطلبات المنفصلة التي تصل خلال نافذة قصيرة في batch واحد، حتى حدٍّ للحجم أو للوقت.
- Max queue delay
- المدة التي يكون الخادم مستعدًا لانتظارها لتجميع batch قبل التشغيل. تضبط التوازن بين الـ latency والـ throughput.
- Model instances
- عدة نسخ من النموذج تعمل بالتوازي على الـ GPU نفسه لخدمة الطلبات بشكل متزامن.