تنسيق سير عمل التعلم الآلي

مفاهيم خطوط الأنابيب

3 دقيقة للقراءة

خطوط أنابيب ML تُؤتمت التدفق من البيانات الخام إلى النموذج المنشور. فهم أساسيات خطوط الأنابيب يُساعدك في اختيار أداة التنسيق المناسبة.

ما هو خط أنابيب ML؟

خط أنابيب ML هو سلسلة من الخطوات المؤتمتة:

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│  استيعاب   │───▶│  تحويل     │───▶│  التحقق    │
│  البيانات  │    │  البيانات  │    │  البيانات  │
└─────────────┘    └─────────────┘    └─────────────┘
┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│  نشر       │◀───│  تقييم     │◀───│  تدريب     │
│  النموذج   │    │  النموذج   │    │  النموذج   │
└─────────────┘    └─────────────┘    └─────────────┘

DAG: التجريد الأساسي

خطوط الأنابيب تُنمذج كـ رسوم بيانية موجهة غير دورية (DAGs):

  • موجهة: المهام تتدفق في اتجاه واحد
  • غير دورية: لا تبعيات دائرية
  • رسم بياني: مهام (عقد) متصلة بتبعيات (حواف)
# هيكل DAG مفاهيمي
dag = {
    "ingest": [],                    # لا تبعيات
    "transform": ["ingest"],         # يعتمد على ingest
    "validate": ["transform"],       # يعتمد على transform
    "train": ["validate"],           # يعتمد على validate
    "evaluate": ["train"],           # يعتمد على train
    "deploy": ["evaluate"]           # يعتمد على evaluate
}

مكونات خط الأنابيب الرئيسية

المكونالغرضمثال
المهمةوحدة عمل واحدةتدريب نموذج، التحقق من البيانات
التبعيةترتيب التنفيذالتدريب بعد التحقق
المُحفزما يبدأ خط الأنابيبجدولة، وصول بيانات
المُخرجناتج يُمرر بين المهاممجموعة بيانات مُعالجة، نموذج
المعلمةقيم التكوينمعدل التعلم، الحقب

أنماط خطوط الأنابيب

خط أنابيب تسلسلي

A ──▶ B ──▶ C ──▶ D

كل خطوة تنتظر السابقة. بسيط لكن بطيء.

خط أنابيب متوازٍ

    ┌──▶ B ──┐
A ──┤        ├──▶ D
    └──▶ C ──┘

المهام المستقلة تعمل متزامنة. تنفيذ أسرع.

خط أنابيب شرطي

         ┌──▶ B (if condition)
A ──▶ ◆──┤
         └──▶ C (else)

مسارات مختلفة بناءً على النتائج. سير عمل مرن.

التفرع/الدمج

    ┌──▶ B1 ──┐
    │         │
A ──┼──▶ B2 ──┼──▶ C
    │         │
    └──▶ B3 ──┘

معالجة البيانات بالتوازي، ثم التجميع. شائع للتدريب الموزع.

مراحل خط أنابيب ML المحددة

خط أنابيب البيانات

┌─────────────────────────────────────────────────────────┐
│                    خط أنابيب البيانات                   │
├─────────────┬─────────────┬─────────────┬──────────────┤
│  استخراج   │  تحويل     │  التحقق    │  تحميل      │
│  (مصادر)   │  (تنظيف)   │  (جودة)    │  (تخزين)    │
└─────────────┴─────────────┴─────────────┴──────────────┘

خط أنابيب التدريب

┌─────────────────────────────────────────────────────────┐
│                   خط أنابيب التدريب                     │
├─────────────┬─────────────┬─────────────┬──────────────┤
│  هندسة     │  تدريب     │  التحقق    │  تسجيل      │
│  الميزات   │  النموذج   │  النموذج   │  النموذج    │
└─────────────┴─────────────┴─────────────┴──────────────┘

خط أنابيب الاستدلال

┌─────────────────────────────────────────────────────────┐
│                   خط أنابيب الاستدلال                   │
├─────────────┬─────────────┬─────────────┬──────────────┤
│  معالجة    │  تحميل     │  توقع      │  معالجة     │
│  المدخل    │  النموذج   │             │  المخرج     │
└─────────────┴─────────────┴─────────────┴──────────────┘

استراتيجيات الجدولة

الاستراتيجيةمتى تُستخدممثال
مبنية على الوقتفترات منتظمةإعادة تدريب يومية الساعة 2 صباحاً
مبنية على الحدثعند وصول البياناتملف دفعة جديد يُحفز خط الأنابيب
يدويةتجارب حسب الحاجةيُحفزها عالم البيانات
مستمرةمعالجة التدفقتحديثات ميزات فورية

التنسيق مقابل سير العمل

التنسيقسير العمل
يُدير التنفيذيُعرف الخطوات
يُعالج الفشليُحدد المنطق
يُجدول التشغيلاتيُعلن التبعيات
يُراقب التقدمتكوين

اختيار المنسق

الأداةالأفضل لـالتعقيد
DVCخطوط أنابيب ML بسيطةمنخفض
Airflowهندسة البيانات + MLمتوسط
Prefectسير عمل Python الحديثمتوسط
KubeflowML أصلي لـ Kubernetesعالٍ
Argo Workflowsوظائف Kubernetes عامةعالٍ

أنماط معالجة الأخطاء

إعادة المحاولة

# أعد محاولة المهام الفاشلة تلقائياً
task_config = {
    "retries": 3,
    "retry_delay": "5m"
}

البديل

# استخدم مسار بديل عند الفشل
if model_training_failed:
    use_previous_model()
else:
    use_new_model()

التنبيه

# أبلغ عند الفشل
on_failure_callback = send_slack_alert

أفضل الممارسات

الممارسةلماذا
مهام متساوية التأثيرآمنة لإعادة المحاولة بدون آثار جانبية
مهام صغيرة ومركزةأسهل للتصحيح وإعادة التشغيل
تحكم في إصدار كل شيءأعد إنتاج أي تشغيل خط أنابيب
سجّل بشكل موسعصحح الفشل بسرعة
اختبر محلياً أولاًاكتشف الأخطاء قبل النشر

الرؤية الرئيسية: خط أنابيب مُصمم جيداً يُحول عملية يدوية معرضة للخطأ إلى نظام موثوق ومؤتمت. ابدأ بسيطاً، ثم أضف التعقيد حسب الحاجة.

التالي، سنغوص في Kubeflow Pipelines لتنسيق ML الأصلي لـ Kubernetes. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 3: تنسيق سير عمل التعلم الآلي

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.