الدرس 9: Batching — كيف نرفع الـ throughput
تشغيل صورة واحدة في كل مرة يهدر الـ GPU: آلاف النوى فيه تبقى فارغة تقريبًا. الـ batching هو أقوى أداة منفردة لرفع الـ throughput — تكدّس مدخلات كثيرة في batch واحد، وإطلاق kernel واحد يملأ الـ GPU. في هذا الدرس نرى كيف يضاعف الـ throughput، وما ثمنه في الـ latency والذاكرة.
تشغيل عنصر واحد في كل مرة يشبه إرسال حافلة فارغة براكب واحد مرارًا وتكرارًا. الـ batching هو ملء الحافلة قبل أن تنطلق — الرحلة نفسها، لكن بركاب أكثر بكثير.
- Batch
- مجموعة من المدخلات تُشغَّل معًا في إطلاق kernel واحد. بُعد الـ batch هو البُعد الأول في الـ tensor.
- استغلال الـ GPU
- مقدار ما يكون فعليًا مشغولًا من نوى الـ GPU. batch صغير = استغلال منخفض؛ batch كبير يملؤها.