اختبار مرتبط بالدليل · متوسط المستوى
اختبار تراكم التدرج
يختبر مجموعات التدرج الصغيرة، حجم الدُفعة الفعلي، تحجيم الخسارة، توقيت المُحسّن، حدود التطبيع، وأخطاء إعادة الضبط المبكرة.
سؤال 1 من 8
ما الذي يتيح لك تراكم التدرج فعله في المقام الأول؟
معاينة كل سؤال8 أسئلة
تظهر الإجابات والتفسيرات أثناء إجراء الاختبار.
- ما الذي يتيح لك تراكم التدرج فعله في المقام الأول؟
- تدريب بدون أي GPU
- تخطي التمريرة الخلفية
- محاكاة حجم دفعة فعال أكبر على ذاكرة محدودة
- القضاء على محسن تماما
- مع خطوات تجميع حجم الدفعة الصغيرة 4 و8، يكون حجم الدفعة الفعال هو:
- 32
- 4
- 8
- 12
- With an accumulation factor N, when should optimizer.step() and zero_grad() occur?
- بعد كل دفعة صغيرة
- أبدا
- قبل التمريرة الأمامية
- Call optimizer.step() after N micro-batches, then clear gradients before the next accumulation window
- للحفاظ على معدل التعلم الفعال صحيحًا، تكون الخسارة لكل دفعة صغيرة عادةً:
- مضروبًا في ن
- مقسومًا على عدد خطوات التراكم N
- اضبط على الصفر
- تم استبداله بدقة
- ما هي طبقة التطبيع التي تقترن بشكل أكثر نظافة مع تراكم التدرج؟
- تسوية الطبقة أو المجموعة، لأنها لا تعتمد على إحصائيات الدُفعات
- تطبيع الدفعة، لأنه يحب دفعات صغيرة
- ولا ينفع معه التطبيع
- التسرب فقط
- التكلفة الرئيسية لاستخدام تراكم التدرج هي:
- يتم استخدام المزيد من ذاكرة GPU في الذروة
- فقدان جميع التدرجات
- وقت أطول لساعة الحائط لكل تحديث فعال
- عدم القدرة على استخدام محسن
- A training loop clears gradients after every micro-batch but steps the optimizer every fourth batch. What is lost?
- The model weights are deleted
- The earlier micro-batch contributions to the accumulated update
- The effective batch becomes four times larger
- The loss automatically becomes zero
- Why may four micro-batches with BatchNorm behave differently from one physical batch of the same total size?
- The optimizer cannot accept four backward passes
- Gradient addition is forbidden in BatchNorm
- The number of training examples changes
- BatchNorm uses statistics from each micro-batch rather than the combined batch