في التعلّم الآلي، خاصة عند تدريب نماذج التعلّم العميق، يشير حجم الدُفعات إلى عدد أمثلة التدريب التي تتم معالجتها في تكرار واحد. إن تدريب نماذج كبيرة على مجموعات بيانات ضخمة، وهو أمر شائع في مجالات مثل الرؤية الحاسوبية، غالبًا ما يجعل معالجة مجموعة البيانات بأكملها دفعة واحدة غير ممكنة حسابيًا بسبب قيود الذاكرة. بدلاً من ذلك، يتم تقسيم البيانات إلى مجموعات أو "دفعات" أصغر يمكن التحكم فيها. يتم تحديث المعلمات الداخلية للنموذج بعد معالجة كل دفعة، مما يجعل عملية التدريب أكثر كفاءة وقابلية للتطوير.
أهمية حجم الدفعة
حجم الدُفعات هو معيار مفرط بالغ الأهمية يؤثر بشكل كبير على ديناميكيات التدريب، واستخدام الموارد، وفي نهاية المطاف، أداء النموذج النهائي. وتشمل آثاره ما يلي:
- سرعة التدريب: يمكن أن تستفيد أحجام الدفعات الأكبر من إمكانيات المعالجة المتوازية للأجهزة مثل وحدات معالجة الرسومات بشكل أكثر فعالية، مما يقلل من الوقت اللازم لإكمال حلقة واحدة (تمرير كامل لبيانات التدريب). ويرجع ذلك إلى تحسين استخدام الأجهزة وتقليل تحديثات المعلمات في كل دورة تدريبية. تعرف على المزيد حول مفاهيم الحوسبة المتوازية.
- استخدام الذاكرة: يؤثر حجم الدُفعات بشكل مباشر على حجم الذاكرةCPU ذاكرة الوصول العشوائيCPU أو ذاكرة الوصول العشوائي GPU ) المطلوبة. تحتاج الدفعات الأكبر إلى ذاكرة أكبر لتخزين البيانات والتنشيطات والتدرجات أثناء التدريب. تعد تقنيات تحسين استخدام الذاكرة أمرًا بالغ الأهمية عند العمل مع أحجام دفعات كبيرة أو أجهزة محدودة.
- تعميم النموذج: يؤثر اختيار حجم الدفعة على عملية التحسين وتعميم النموذج. تُدخل الدفعات الأصغر حجمًا مزيدًا من الضوضاء في تقدير التدرج المستخدم في خوارزميات مثل "نزول التدرج العشوائي" (SGD). يمكن أن يعمل هذا التشويش في بعض الأحيان كشكل من أشكال التنظيم، مما يساعد النموذج على الهروب من الحدود الدنيا المحلية الحادة وربما يحسن قدرته على التعميم على البيانات غير المرئية، وبالتالي تقليل الإفراط في التخصيص. على العكس من ذلك، توفر الدفعات الأكبر تقديرًا أكثر دقة لتدرج مجموعة البيانات الإجمالية، ولكنها قد تتقارب إلى حد أدنى أكثر حدة، مما قد يعيق التعميم في بعض الأحيان، كما نوقش في بحث مثل"حول التدريب على دفعات كبيرة للتعلم العميق".
- تفاعل معدل التعلم: غالبًا ما يتفاعل حجم الدفعة مع معدل التعلم. بشكل عام، تسمح أحجام الدُفعات الأكبر بمعدلات تعلّم أعلى وغالبًا ما تستفيد منها. يمكن للمُحسِّنات مثل Adam المساعدة في إدارة هذه التفاعلات.
اختيار حجم الدفعة المناسبة
يتضمن اختيار الحجم الأمثل للدُفعات تحقيق التوازن بين الكفاءة الحسابية وقيود الذاكرة وتعميم النموذج. لا يوجد حجم "أفضل" عالمي للدفعات؛ إذ يعتمد ذلك بشكل كبير على مجموعة البيانات المحددة (مثل مجموعة بيانات COCO)، وبنية النموذج (مثل تلك المستخدمة في Ultralytics YOLO)، وموارد الأجهزة المتاحة. غالبًا ما تندرج الخيارات الشائعة ضمن قوى العدد 2 (على سبيل المثال، 16، 32، 64، 128) بسبب تحسينات محاذاة الذاكرة للأجهزة. عادةً ما تكون هناك حاجة إلى التجريب وتقنيات مثل ضبط المعلمة الفائقة. أطر مثل PyTorch و TensorFlow مرونة في تحديد أحجام الدفعات.
حجم الدفعة مقابل المصطلحات الأخرى ذات الصلة
من المهم التمييز بين حجم الدفعة والمفاهيم ذات الصلة:
- التكرار/الخطوة: تحديث واحد لمعلمات النموذج بناءً على معالجة دفعة واحدة من البيانات. يتضمن ذلك تمريرًا أماميًا، وحساب الخسارة، وتمريرًا عكسيًا (التكاثر العكسي).
- الفترة الزمنية: تمريرة واحدة كاملة عبر مجموعة بيانات التدريب بأكملها. إذا كانت مجموعة البيانات تحتوي على 1000 عينة وحجم الدُفعة 100، فإن الحلقة الواحدة تتكون من 10 تكرارات (1000 / 100 = 10).
- نزول التدرج على دفعات صغيرة: نهج التدريب الأكثر شيوعًا، حيث يكون حجم الدفعة أكبر من 1 ولكن أقل من الحجم الكلي لمجموعة البيانات. وهذا يتناقض مع أسلوب " نزول التدرج الدفعي " (باستخدام مجموعة البيانات بأكملها، وحجم الدفعة = N) وأسلوب " نزول التدرج العشوائي " (باستخدام عينة واحدة، وحجم الدفعة = 1). يشير مصطلح "حجم الدُفعة" عادةً إلى الحجم المستخدم في نزول التدرج الدفعي المصغر. تعرف على المزيد حول متغيرات نزول التدرج.
التطبيقات الواقعية
- اكتشاف الأجسام: عند تدريب Ultralytics YOLOلمهمة اكتشاف الكائنات، يحدد حجم الدفعة عدد الصور التي تتم معالجتها في وقت واحد. قد يتطلب تدريب YOLO11 على مجموعة بيانات كبيرة مثل ImageNet تعديل حجم الدُفعة بناءً على ذاكرة GPU . يمكن أن يؤدي حجم الدفعة الأكبر (على سبيل المثال، 64) إلى تسريع التدريب لكل دورة تدريبية على وحدات معالجة الرسومات المتطورة، بينما قد تكون الأحجام الأصغر (على سبيل المثال، 16) ضرورية على الأجهزة ذات الذاكرة الأقل أو قد تحسن التعميم. يمكن لمنصات مثل Ultralytics HUB المساعدة في إدارة وتتبع هذه التجارب التدريبية.
- معالجة اللغة الطبيعية (NLP): يتضمن تدريب النماذج اللغوية الكبيرة مثل BERT معالجة تسلسلات من النصوص. ويؤثر حجم الدُفعات على عدد التسلسلات التي تتم معالجتها معًا. وبالنظر إلى أن التسلسلات يمكن أن تختلف في الطول وأن النماذج كبيرة، فإن استخدام الذاكرة يمثل مصدر قلق كبير. غالبًا ما تُستخدم تقنيات مثل تراكم التدرج (معالجة دفعات صغيرة أصغر بالتتابع قبل تحديث المعلمات) لمحاكاة أحجام دفعات أكبر عندما تكون الذاكرة محدودة. استكشاف المفاهيم في دورات البرمجة اللغوية العصبية.
يعد فهم حجم الدفعة واختياره بعناية أمرًا أساسيًا لتدريب نماذج التعلم العميق بفعالية. لمزيد من الدراسة، يمكنك النظر في موارد مثل تخصص التعلّم العميق أو استكشاف تقنيات مثل تطبيع الدُفعات التي يمكن أن تقلل أحيانًا من الحساسية لحجم الدُفعات.