ML 101
M10 · L03
Practical ML

خط أنابيب تعلّم الآلة

من البيانات الخام إلى الإنتاج — بناء أنظمة تعلّم آلة قابلة للتكرار والمراقبة والصيانة وتبقى موثوقة مع الوقت.

01 / 13
ML 101
M10 · L03
End-to-End Workflow

ستة مراحل

  • استيعاب البيانات وإصدار نسخها
  • هندسة الميزات
  • التدريب وتتبع التجارب
  • تسلسل النموذج والسجل
  • التقديم والنشر
  • المراقبة وإعادة التدريب
02 / 13
ML 101
M10 · L03
Data Versioning

DVC — Git للبيانات

يخزّن DVC مؤشر تجزئة المحتوى في Git ويدفع البيانات الفعلية إلى تخزين بعيد (S3، GCS). كل إيداع Git مرتبط بالإصدار الدقيق من مجموعة البيانات المستخدمة.

الفائدة الرئيسية
يسحب أعضاء الفريق البيانات التي يحتاجونها فقط. تكتشف مراحل خط الأنابيب متى تغيّرت المدخلات وتُعيد التشغيل عند الحاجة.
03 / 13
ML 101
M10 · L03
القاتل الصامت

انحراف التدريب والتقديم

أكثر أسباب فشل الإنتاج شيوعًا: يختلف حساب الميزات بين التدريب والاستدلال. أغلق منطق الميزات في كود خط أنابيب ذي إصدار يعمل بشكل متطابق في كلا البيئتين.

القاعدة
لا تحسب الميزات بشكل مخصص وقت التقديم. مسار كود واحد، إصدار واحد، بيئتان.
04 / 13
ML 101
M10 · L03
Experiment Tracking

MLflow و W&B

  • MLflow Tracking — تسجيل المعاملات والمقاييس والمخرجات لكل تشغيل
  • MLflow Registry — مراحل دورة الحياة: تجريبي ← إنتاج ← مؤرشف
  • W&B Sweeps — بحث بايزي في المعاملات الفائقة عبر التشغيلات
  • W&B Artifacts — إصدار مجموعات البيانات والنماذج في السحابة
  • كل تشغيل: sha Git + تجزئة البيانات + المعاملات + مقياس التحقق
05 / 13
ML 101
M10 · L03
Run Provenance

سجل كامل

يجب أن يسجّل كل تشغيل تدريبي سلسلة الإثبات الكاملة حتى يمكن استنساخ أي نتيجة:

سجل التشغيل
\text{Run}=\{\text{git\_sha},\,\text{data\_hash},\,\theta,\,\mathcal{L}_{\text{val}}\}
06 / 13
ML 101
M10 · L03
Model Serialization

تنسيقات قابلة للنقل

  • joblib — فعّال لخطوط أنابيب sklearn؛ الاستخدام الداخلي الموثوق فقط
  • ONNX — متعدد المنصات: C++، Java، .NET، JavaScript
  • TorchScript — PyTorch مُترجم؛ لا يحتاج مفسر Python عند الاستدلال
  • MLflow Model — يغلّف أي إطار؛ واجهة نكهات قياسية
07 / 13
ML 101
M10 · L03
Deployment

فوري أم دفعي

فوري
API آنية · ms
دفعي
مجدولة · محسوبة مسبقاً

غلّف في حاوية Docker لبيئات قابلة للتكرار. استخدم BentoML أو Seldon Core أو KServe للتقديم على Kubernetes.

08 / 13
ML 101
M10 · L03
Safe Rollout

وضع الظل

أرسل حركة المرور الحية لكلا النموذجين القديم والجديد معًا. أعد مخرجات النموذج القديم للمستخدمين، سجّل كلا التنبؤين للمقارنة. اكشف التراجعات قبل أن يؤثر النموذج الجديد على المستخدمين.

بعد وضع الظل
انتقل إلى اختبار أ/ب ← نشر تدريجي ← طرح كامل. كل مرحلة تزيد التعرض تدريجيًا.
09 / 13
ML 101
M10 · L03
Monitoring

الانجراف والتراجع

  • توزيع التنبؤات — هل تتحول الدرجات مع الوقت؟
  • توزيعات الميزات — PSI أو KS لكشف انجراف البيانات
  • مقاييس الأعمال — التحويل والمشاركة: الحقيقة الفعلية
  • التسميات المتأخرة — احسب الدقة الفعلية عند توفر الحقيقة
10 / 13
ML 101
M10 · L03
A/B Testing

التحقق بحركة حقيقية

قسّم حركة المرور الحية بين النموذج القديم (تحكم) والجديد (علاج). حجم العينة المطلوب لكل مجموعة:

حجم العيّنة
n=\frac{2\sigma^2(z_{\alpha/2}+z_\beta)^2}{\delta^2}

حدّد المقياس والحد الأدنى للتأثير قبل الاختبار. لا تطلع على النتائج مبكرًا.

11 / 13
ML 101
اختبار سريع

تحقّق ممّا ثبت

أربعة أسئلة من هذا الدرس. أجب لترى السبب — يظهر الشرح سواء أصبتَ أم أخطأت. ولا شيء يُسجَّل أو يُحفَظ.

السؤال 1 من 0
النتيجة 0/0

12 / 13
ML 101
النقاط الرئيسية
ملخص

النقاط الرئيسية

  • خطوط الأنابيب تحتاج قابلية التكرار والملاحظة والصيانة
  • DVC يُصدر البيانات؛ MLflow / W&B يتتبعان التجارب
  • تجنّب انحراف التدريب/التقديم: مسار كود ميزات واحد للبيئتين
  • سلسل بتنسيقات قابلة للنقل (ONNX، TorchScript)؛ ضع التقديم في حاويات
  • راقب توزيعات التنبؤات والميزات؛ أعد التدريب عند التراجع
  • تحقق من النماذج بـ أ/ب قبل الطرح الكامل
13 / 13