خطوات الاستخدام
أدخل حجم الدفعة الصغيرة (microBatch): هذا هو عدد العينات التي يتم معالجتها في كل تمريرة أمامية واحدة. عادةً ما يكون هذا الرقم صغيرًا بسبب قيود ذاكرة GPU (مثل 2، 4، 8، 16). تأكد من إدخال قيمة صحيحة موجبة.
أدخل عدد خطوات التراكم (accumulationSteps): هو عدد مرات تجميع التدرجات قبل تحديث الأوزان. على سبيل المثال، إذا أدخلت 4، فسيتم تجميع التدرجات من 4 دفعات صغيرة قبل تطبيق تحديث الوزن. هذا يحاكي استخدام دفعة أكبر دون زيادة استهلاك الذاكرة.
انقر على زر 'احسب'. ستقوم الآلة الحاسبة بضرب المقدارين: حجم الدفعة الفعال = microBatch × accumulationSteps. هذه القيمة تمثل العدد الفعلي للعينات التي تساهم في كل تحديث للوزن.
تفسير النتيجة: حجم الدفعة الفعال هو حجم الدفعة الافتراضي الذي يحاكيه التراكم. على سبيل المثال، إذا كان microBatch=8 وaccumulationSteps=4، فإن حجم الدفعة الفعال = 32. هذا يعني أن كل تحديث للوزن يستخدم تدرجًا متوسطًا من 32 عينة، مما يحسن استقرار التدريب ويقلل الضوضاء.
أمثلة محلولة
تطبيقات عملية على حجم الدفعة الفعال بخطوات الحل كاملة.
الحل
للحصول على حجم دفعة فعال = 64 مع microBatch = 4، نحتاج إلى accumulationSteps = 64 / 4 = 16. هذا يعني تجميع التدرجات من 16 دفعة صغيرة (4 عينات لكل منها) قبل تحديث الأوزان. وبالتالي، كل تحديث يعتمد على 64 عينة. هذه التقنية تسمح بتدريب نماذج كبيرة بفعالية دون تجاوز حدود الذاكرة.
الحل
حجم الدفعة الفعال = 16 × 5 = 80. هذا يعني أن كل تحديث للوزن يجمع معلومات من 80 صورة. في تدريب ResNet-50، استخدام حجم دفعة فعال 80 غالبًا ما يكون مناسبًا: فهو يوفر توازنًا بين السرعة والاستقرار. مع أحجام دفعة أكبر (مثل 256) قد يتطلب الأمر ضبط معدل التعلم أو استخدام تقنيات مثل warmup. هنا، التراكم يسمح بمحاكاة دفعة متوسطة الحجم دون زيادة استهلاك الذاكرة.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة حجم الدفعة الفعال.
دفعة مصغّرة 4 مع 16 خطوة تراكم: حجم فعال 64
- حجم الدفعة المصغرة
- 4
- خطوات التراكم
- 16
16 × 5 = 80 صورة لكل تحديث وزن
- حجم الدفعة المصغرة
- 16
- خطوات التراكم
- 5
المثال الموثق في الخطوة 4: 8 مع 4 خطوات = 32
- حجم الدفعة المصغرة
- 8
- خطوات التراكم
- 4