خطوات الاستخدام
الخطوة 1: فهم مفهوم الحِقبة (Epoch) في تدريب نماذج التعلم العميق. الحِقبة هي دورة كاملة تمر فيها خوارزمية التعلم عبر مجموعة البيانات التدريبية بأكملها مرة واحدة. عدد الدفعات (Batches) المطلوبة لإتمام حقبة واحدة يساوي عدد العينات الكلي مقسوماً على حجم الدفعة (Batch Size). على سبيل المثال، إذا كان لديك 1000 عينة وحجم الدفعة 32، فستحتاج إلى 1000 ÷ 32 ≈ 31.25، أي 32 دفعة (بالتقريب للأعلى).
الخطوة 2: حساب إجمالي الوقت المستغرق لمعالجة جميع الدفعات. الوقت الإجمالي للحِقبة = (عدد الدفعات) × (الوقت لكل دفعة بالمللي ثانية) ثم نقسم على 1000 لتحويله إلى ثوانٍ، وعلى 3600 لتحويله إلى ساعات (لأن الساعة = 3600 ثانية). العنوان في الحقل يحدد الوحدة: مللي ثانية، لا ثوانٍ.
الخطوة 3: إدخال القيم في الحاسبة: أدخل عدد العينات الكلي (Samples)، وحجم الدفعة (Batch Size)، والوقت لكل دفعة (Time per Batch) بالمللي ثانية كما يقول عنوان الحقل — أي أن دفعة تستغرق 1.6 ثانية تُدخل 1600. ستقوم الحاسبة تلقائياً بحساب عدد الدفعات = سقف (عينات / حجم دفعة) لأن عدد الدفعات يجب أن يكون عدداً صحيحاً، ثم تضرب في الوقت لكل دفعة ويظهر الناتج بالساعات مع الثواني والدقائق في التفاصيل.
الخطوة 4: تفسير النتيجة. تعطيك الحاسبة المدة الزمنية المتوقعة لإتمام حقبة تدريبية واحدة. هذه المدة مفيدة لتقدير وقت التدريب الكلي عند تدريب النموذج بعدد معين من الحِقب. على سبيل المثال، إذا استغرقت الحقبة الواحدة ساعتين وتخطط لـ 50 حقبة، فسيستغرق التدريب الكلي حوالي 100 ساعة.
الخطوة 5: العوامل المؤثرة: تذكر أن الوقت لكل دفعة ليس ثابتاً؛ فهو يعتمد على قوة وحدة معالجة الرسوميات (GPU)، وتعقيد النموذج، وحجم الدفعة نفسه. زيادة حجم الدفعة قد تقلل وقت المعالجة لكل عينة ولكنها تزيد من استخدام الذاكرة. استخدم هذه الحاسبة كأداة تقريبية.
أمثلة محلولة
تطبيقات عملية على مدة الحقبة التدريبية بخطوات الحل كاملة.
الحل
وحدة حقل الوقت هي المللي ثانية، لذا تدخل 500 (لا 0.5). أولاً عدد الدفعات: 1000 ÷ 32 = 31.25، وبما أن عدد الدفعات صحيح نأخذ السقف وهو 32 دفعة (الدفعة الناقصة تكلّف خطوة كاملة). الوقت الإجمالي = 32 × 500 ms = 16,000 ms = 16 ثانية. التحويل إلى ساعات: 16 ÷ 3600 = 0.004444 ساعة. النتيجة المعروضة 0.004444 ساعة، وتُظهر التفاصيل 16 ثانية و 0.2667 دقيقة حتى لا تختفي القيمة الصغيرة بالتقريب.
الحل
ثانيتان = 2000 ms في حقل الوقت. عدد الدفعات = سقف (1,000,000 ÷ 64) = 15,625 دفعة بالضبط (لا كسر هنا فلا حاجة للتقريب). الوقت الإجمالي = 15,625 × 2000 ms = 31,250,000 ms = 31,250 ثانية = 520.8333 دقيقة. التحويل إلى ساعات: 31,250 ÷ 3600 = 8.680556 ساعة، أي حوالي 8.68 ساعة. هذا مثال واقعي لتدريب نماذج كبيرة مثل BERT أو ResNet على مجموعات بيانات ضخمة، حيث تستغرق الحقبة الواحدة عدة ساعات حتى مع GPU متطورة. ملاحظة: الحساب يفترض ثبات وقت الدفعة، لكنه عمليًا يختلف بتغيّر أحجام الدفعات وإجراءات التحميل.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة مدة الحقبة التدريبية.
1000 عينة بدفعات 32 و 50ms: 1.6 ثانية للحقبة
- عدد العينات
- 1,000
- حجم الدفعة
- 32
- وقت الدفعة (مللي ثانية)
- 50
50,000 عينة: 20 ثانية للحقبة و 0.28 ساعة لخمسين حِقبة
- عدد العينات
- 50,000
- حجم الدفعة
- 100
- وقت الدفعة (مللي ثانية)
- 40
مليون عينة بدفعات 512: الحقبة 8.14 دقيقة (تقريب الدفعات للأعلى يضيف دفعة)
- عدد العينات
- 1,000,000
- حجم الدفعة
- 512
- وقت الدفعة (مللي ثانية)
- 250
مليون عينة بدفعات 64 وثانيتان للدفعة: 8.68 ساعة للحقبة
- عدد العينات
- 1,000,000
- حجم الدفعة
- 64
- وقت الدفعة (مللي ثانية)
- 2,000