Weights & Biases
Weights & Biases (W&B) منصة للتعلم الآلي تتيح تتبّع التجارب وإجراء عمليات مسح للمعلمات الفائقة وإدارة إصدارات النماذج والبيانات. تتناول هذه الصفحة الميزات وإعداد YOLO.
تُعد Weights & Biases (W&B، أو wandb نسبةً إلى حزمة Python الخاصة بها) منصة للمطورين في مجال عمليات التعلم الآلي (MLOps)، تسجل عمليات تدريب النماذج وتعرضها بصريًا وتقارن بينها. وترسل بضعة أسطر في نص تدريب PyTorch أو غيره إعدادات كل تشغيل، مثل معدل التعلم وحجم الدفعة، إلى جانب المقاييس وإحصاءات GPU وملفات الإخراج، إلى لوحة معلومات مستضافة، حيث تقارن الفرق التجارب وتعيد إنتاج النتائج وتتتبع البيانات والإعدادات التي أنتجت نموذجًا. وإلى جانب تتبع التجارب، توفر W&B ضبط المعلمات الفائقة، وإصدار مجموعات البيانات والنماذج، وسجل النماذج، فضلًا عن تتبع تطبيقات النماذج اللغوية الكبيرة (LLM) وتقييمها من خلال منتج Weave. وأتم مزود السحابة لوحدات GPU، CoreWeave، الاستحواذ على Weights & Biases في مايو 2025، وتوجد وثائق W&B الآن على موقع وثائق CoreWeave.
الميزات الأساسية#
- التجارب: يبدأ
wandb.init()تشغيلًا ويخزن إعداداته، بينما يسجلwandb.log()المقاييس والصور والجداول في كل خطوة. كما تأخذ SDK عينات من مقاييس النظام، مثل استخدام GPU والذاكرة، ما يكشف الاختناقات في تحميل البيانات. - عمليات البحث الشامل: عمليات بحث آلية عن المعاملات الفائقة تستخدم أساليب شبكية أو عشوائية أو بايزية، مع وكلاء يجرون التجارب بالتوازي على أجهزة متعددة، وإمكانية الإيقاف المبكر للتشغيلات الضعيفة.
- الآثار: مجموعات بيانات ونقاط تحقق للنماذج وملفات أخرى ذات إصدارات، مع رسوم بيانية للنسب توضّح أي تشغيل استهلك كل إصدار أو أنتجه.
- السجل: فهرس منسق لإصدارات النماذج ومجموعات البيانات المعتمدة، ترقّيها الفرق تمهيدًا للنشر.
- التقارير: مستندات قابلة للمشاركة تجمع بين مخططات مباشرة من عمليات التشغيل وتحليلات مكتوبة.
- Weave: تتبع تطبيقات النماذج اللغوية الكبيرة والوكلاء وتقييمها ومتابعة تكلفتها.
يفصل المسح بين البحث والتدريب: يحتفظ المتحكم بحالة البحث ويقترح الإعدادات، بينما يسحب أي عدد من الوكلاء تلك الإعدادات ويدرّب النماذج ويعيد المقياس المستهدف.
استخدام W&B مع Ultralytics YOLO#
يتضمن Ultralytics YOLO تكاملًا مدمجًا مع W&B يكون معطلًا افتراضيًا. وبعد تفعيله في إعدادات Ultralytics، يسجّل كل تشغيل تدريب قائمة الوسائط كاملةً، والخسائر ومعدلات التعلّم لكل حقبة، ومقاييس التحقق مثل الإحكام والاستدعاء ومتوسط الدقة (mAP)، والمخططات التي يحفظها؛ وفي النهاية يرفع best.pt بوصفه عنصرًا اصطناعيًا للنموذج، مع منحنيات تفاعلية للإحكام والاستدعاء والثقة. ويمكن لاحقًا استيراد عناصر best.pt هذه إلى Ultralytics Platform للتنبؤ أو التصدير أو النشر.
import os
from ultralytics import YOLO, settings
# سجّل محليًا من دون مفتاح API؛ وارفع البيانات لاحقًا باستخدام "wandb sync"، أو نفّذ "wandb login" وأزل هذا السطر
os.environ["WANDB_MODE"] = "offline"
# فعّل استدعاء W&B المدمج (يتطلب "pip install wandb"؛ ويُحفظ في ملف إعدادات Ultralytics)
settings.update({"wandb": True})
# يصبح project وname اسمي المشروع والتشغيل في W&B
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=5, project="yolo26-experiments", name="baseline")تظهر عمليات التدريب التي تشترك في project وتختلف في name جنبًا إلى جنب في مشروع W&B واحد، ما يتيح مقارنة عمليات التشغيل بأحجام نماذج أو أحجام صور أو إعدادات زيادة بيانات مختلفة على لوحة معلومات واحدة.
W&B والمصطلحات ذات الصلة#
- أوزان النموذج والانحيازات: يشير اسم المنصة إلى المعاملات القابلة للتعلّم في الشبكة العصبية. تضرب الأوزان المدخلات لكل عصبون، وتزيح الانحيازات مخرجاته قبل دالة التنشيط، ويحدّث الانتشار العكسي كليهما. ويمكن للمنصة تسجيل توزيعاتها وتدرجاتها أثناء التدريب.
- MLflow: منصة مفتوحة المصدر لتتبع النماذج وتجميعها وتسجيلها، وغالبًا ما تستضيفها الفرق ذاتيًا. وتُعد W&B في الأساس خدمة مُدارة، مع خيارات للاستضافة الذاتية للمؤسسات.
- TensorBoard: أداة عرض مرئي محلية لسجلات التدريب من PyTorch وTensorFlow، من دون ميزات التعاون المستضاف أو عمليات المسح أو السجل في W&B.










