اكتشف تأثير حجم الدفعة على التعلم العميق. قم بتحسين سرعة التدريب واستخدام الذاكرة وأداء النموذج بكفاءة.
يعد حجم الدُفعات معيارًا محوريًا محوريًا في في مجال التعلم الآلي الذي يحدد عدد عدد عينات بيانات التدريب المعالجة قبل أن يقوم يقوم النموذج بتحديث معلماته الداخلية. بدلًا من تحليل مجموعة بيانات كاملة دفعة واحدة - وهو أمر مستحيل حسابيًا في كثير من الأحيان مستحيل حسابيًا بسبب قيود الذاكرة، تقوم أطرالتعلمالعميق تقسم أطر العمل البيانات إلى مجموعات أصغر تسمى دفعات. يحكم هذا التقسيم استقرار عملية التعلّم وسرعة الحوسبة ومقدار الذاكرة التي تتطلبها عملية التعلّم، وسرعة الحوسبة ومقدار الذاكرة التي تتطلبها GPU أثناء التدريب. يعمل اختيار حجم الدُفعات الصحيح كعملية موازنة بين الكفاءة الحسابية وجودة التقارب.
يؤدي اختيار حجم الدفعة إلى تغيير جذري في كيفية تعلم تتعلم الشبكة العصبية. عندما يتم تعيين حجم الدفعة إلى قيمة أقل، يقوم النموذج بتحديث أوزان النموذج الخاص به بشكل متكرر، مما يؤدي إلى إدخال ضوضاء في عملية نزول التدرج. يمكن أن يكون هذا التشويش مفيدًا، وغالبًا ما يساعد خوارزمية التحسين على الهروب من الصغرى المحلية وإيجاد حلول أكثر قوة، مما يساعد على على منع الإفراط في التركيب. على العكس، أحجام الدفعات الأكبر توفر تقديرًا أكثر دقة للتدرج، مما يؤدي إلى تحديثات أكثر سلاسة وثباتًا، على الرغم من أنها تتطلب ذاكرة أجهزة أكثر بكثير ويمكن أن تؤدي في بعض الأحيان إلى "فجوة تعميم"، حيث يؤدي النموذج أداءً جيدًا على بيانات التدريب ولكن بفعالية أقل على البيانات غير المرئية.
غالبًا ما تملي قدرات الأجهزة الحد الأعلى لهذه المعلمة. مسرّعات الأجهزة الحديثة، مثل تلك المفصلة في دليل أداء التعلم العميق الخاص بNVIDIA تعتمد على الحوسبة المتوازية لمعالجة كتل كبيرة من كبيرة من البيانات في وقت واحد. لذلك، فإن استخدام حجم دُفعات يتوافق مع بنية المعالج - عادةً ما تكون قوى من اثنين مثل 32 أو 64 أو 128 - يمكن أن يزيد من الإنتاجية ويقلل من إجمالي وقت التدريب لكل لكل حقبة.
يعد فهم كيفية ضبط هذه المعلمة أمرًا ضروريًا لنشر حلول الذكاء الاصطناعي الفعالة في مختلف الصناعات المختلفة.
عند استخدام حزمة Ultralytics Python، فإن تكوين الدفعة
حجم الدُفعة مباشرة. إن batch تسمح لك الوسيطة بتحديد عدد الصور التي يجب أن يراها النموذج
قبل تحديث الأوزان. إذا تم ضبطها على -1، يمكن للمكتبة أيضًا استخدام
ميزة الدُفعات التلقائية لتحديد
الحد الأقصى لحجم الدفعة التي يمكن أن تدعمها أجهزتك.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)
من المهم للممارسين التمييز بين "حجم الدفعة" والمصطلحات المماثلة الموجودة في أطر التعلم العميق.