Callback
اكتشف كيف تحسّن الاستدعاءات التدريبَ في Ultralytics YOLO26. تعلّم تنفيذ الإيقاف المبكر، وحفظ نقاط التحقق، والتسجيل المخصص لتعزيز سير عمل الذكاء الاصطناعي.
في مجال هندسة البرمجيات و**الذكاء الاصطناعي (AI)**، يُعد الاستدعاء جزءًا من التعليمات البرمجية القابلة للتنفيذ، يُمرَّر كوسيطة إلى تعليمات برمجية أخرى، ومن المتوقع أن تنفّذ هذه التعليمات الوسيطة (تستدعيها مجددًا) في وقت محدد. وفي السياق الخاص بأُطر التعلّم العميق (DL)، تُعد الاستدعاءات أدوات أساسية تتيح للمطورين تخصيص سلوك حلقة تدريب النموذج من دون تعديل التعليمات البرمجية الأساسية للتدريب نفسها. وهي تعمل كمشغلات آلية تنفّذ إجراءات محددة في مراحل مختلفة من عملية التدريب، مثل بداية حقبة (epoch) أو نهايتها، أو دفعة تدريب، أو جلسة التدريب بأكملها.
دور الاستدعاءات في تعلّم الآلة#
قد يستغرق تدريب شبكة عصبية معقدة ساعات أو حتى أيامًا. ومن دون الاستدعاءات، تكون عملية التدريب عمليًا «صندوقًا أسود» يستمر حتى الاكتمال، وغالبًا ما تتطلب إشرافًا يدويًا. وتضيف الاستدعاءات إمكانية المراقبة والتحكم، مما يتيح للنظام ضبط نفسه استنادًا إلى مقاييس الأداء في الوقت الفعلي.
عند استخدام مكتبات عالية المستوى مثل PyTorch أو TensorFlow، توفر الاستدعاءات طريقة لحقن منطق برمجي في خوارزمية التحسين. فعلى سبيل المثال، إذا كان النموذج يتعلم جيدًا، فقد يحفظ الاستدعاء حالته الحالية؛ وإذا توقف عن التعلم، فقد يوقف الاستدعاء العملية لتوفير الموارد. وهذا يجعل سير عمل تعلّم الآلة (ML) أكثر كفاءة ومتانة.
التطبيقات الشائعة والأمثلة الواقعية#
تتسم الاستدعاءات بالمرونة، ويمكن استخدامها لمجموعة واسعة من المهام أثناء مراقبة النموذج وتحسينه.
- الإيقاف المبكر: من أكثر الاستخدامات شيوعًا الإيقاف المبكر. يراقب هذا الاستدعاء مقياسًا محددًا، مثل خسارة بيانات التحقق. فإذا توقفت الخسارة عن الانخفاض لعدد محدد من الحقب، يوقف الاستدعاء التدريب. ويمنع ذلك فرط التكيّف، مما يضمن قدرة النموذج على التعميم جيدًا على البيانات الجديدة بدلًا من حفظ بيانات التدريب.
- إنشاء نقاط فحص للنموذج: في عمليات التدريب الطويلة، قد تكون أعطال الأجهزة كارثية. يحفظ استدعاء نقاط الفحص أوزان النموذج على فترات منتظمة (مثل كل حقبة)، أو يحفظها فقط عندما يحقق النموذج نتيجة «الأفضل» الجديدة في مقاييس مثل الدقة أو متوسط الدقة (mAP). وهذا يضمن امتلاكك دائمًا نسخة محفوظة من النموذج الأفضل أداءً.
- جدولة معدل التعلّم: يتحكم معدل التعلّم في مقدار تغيّر النموذج استجابةً للخطأ المقدّر في كل مرة تُحدّث فيها أوزان النموذج. ويمكن للاستدعاء ضبط هذا المعدل ديناميكيًا، وخفضه عندما يصل التعلّم إلى حالة استقرار، لمساعدة النموذج على التقارب نحو حل أمثل؛ وتُعرف هذه التقنية غالبًا باسم اضمحلال معدل التعلّم.
- التسجيل والتصور: تُستخدم الاستدعاءات كثيرًا للتكامل مع أدوات تتبّع التجارب. وهي تبث المقاييس إلى لوحات معلومات مثل TensorBoard أو MLflow، مما يتيح لعلماء البيانات تصور دوال الخسارة ورسوم الأداء البيانية في الوقت الفعلي.
تنفيذ الاستدعاءات باستخدام Ultralytics YOLO#
تدعم مكتبة Ultralytics نظام استدعاءات متينًا، مما يتيح للمستخدمين الارتباط بالأحداث أثناء تدريب نماذج مثل YOLO26. ويفيد ذلك بصفة خاصة المستخدمين الذين يديرون سير العمل على منصة Ultralytics ويحتاجون إلى تسجيل مخصص أو منطق تحكم مخصص.
فيما يلي مثال موجز يوضح كيفية تعريف استدعاء مخصص وتسجيله لطباعة رسالة في نهاية كل حقبة تدريب باستخدام واجهة Python البرمجية:
from ultralytics import YOLO
# Define a custom callback function
def on_train_epoch_end(trainer):
"""Callback function to execute at the end of each training epoch."""
print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)
# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)الاستدعاءات مقابل الخطافات#
مع أن الاستدعاءات والخطافات مرتبطة، فمن المفيد التمييز بينهما. ففي أُطر مثل PyTorch، تكون الخطافات عمومًا دوال منخفضة المستوى تُلحق بعمليات tensor محددة أو بطبقات الشبكة العصبية لفحص التدرجات والمخرجات أو تعديلها أثناء المرور الأمامي أو الخلفي. وعلى النقيض، تكون الاستدعاءات عادةً تجريدات أعلى مستوى مرتبطة بأحداث حلقة التدريب (البداية والنهاية ومعالجة الدفعات)، بدلًا من ارتباطها بمخطط الحساب الرياضي نفسه.
قراءات وموارد إضافية#
بالنسبة إلى من يرغبون في تعميق فهمهم لكيفية تحسين سير عمل التدريب، يُعد استكشاف ضبط المعلمات الفائقة خطوة تالية منطقية. بالإضافة إلى ذلك، فإن فهم مهام الرؤية الحاسوبية (CV) الأساسية، مثل اكتشاف الأجسام و**تجزئة المثيلات**، سيوفر سياقًا يوضح سبب ضرورة التحكم الدقيق في التدريب عبر الاستدعاءات. ولإدارة هذه العمليات على مستوى المؤسسات، توفر منصة Ultralytics حلولًا متكاملة تعمل على أتمتة العديد من السلوكيات التي تقودها الاستدعاءات.









