0Pricing
Learn AI with Python · درس

بناء مسارات تعلم آلي قابلة لإعادة الإنتاج

‏sklearn Pipeline، وحفظ المسارات باستخدام joblib، وتشغيلات مَعْلَمية باستخدام ملفات الإعداد

بناء مسارات تعلم آلي قابلة لإعادة الإنتاج درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

لماذا قابلية إعادة الإنتاج؟

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

Pipeline في sklearn

تربط Pipeline في scikit-learn المعالجة المسبقة والنموذج في كائن واحد، بحيث تُطبَّق التحويلات نفسها تمامًا في التدريب والاستدلال، مما يلغي التباين بين التدريب وتقديم الخدمة.

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier

pipe = Pipeline([
    ("scaler", StandardScaler()),
    ("model", RandomForestClassifier(n_estimators=200))
])
pipe.fit(X_train, y_train)

حفظ Pipeline كملف ناتج

نظرًا إلى أن المسار بأكمله يمثل كائنًا واحدًا، يمكنك حفظه كملف ناتج واحد وإعادة تحميله في أي مكان، مع ضمان انتقال المعالجة المسبقة مع النموذج.

joblib.dump و load

تعمل joblib على إجراء تسلسل لكائنات scikit-learn بكفاءة، إذ تتعامل مع مصفوفات NumPy الكبيرة بشكل أفضل من pickle. احفظ المسار المُلائم، ثم أعد تحميله لتقديم الخدمة.

import joblib

joblib.dump(pipe, "pipeline.joblib")        # save
loaded = joblib.load("pipeline.joblib")    # reload
preds = loaded.predict(X_new)

إعداد YAML للمعاملات الفائقة

تخفي القيم المضمّنة في الشفرة ما استخدمته عملية التشغيل. ضع جميع المعاملات الفائقة في ملف YAML حتى يكون كل إعداد واضحًا، وخاضعًا لإدارة الإصدارات، وقابلًا للتغيير دون تعديل الشفرة.

# config.yaml
model:
  n_estimators: 200
  max_depth: 8
data:
  test_size: 0.2
  random_state: 42

تحميل الإعدادات

اقرأ YAML مرة واحدة عند بدء التشغيل، ومرّر القيم إلى المسار، بحيث يتحكم ملف واحد في عملية التشغيل بأكملها.

import yaml

with open("config.yaml") as f:
    cfg = yaml.safe_load(f)

model = RandomForestClassifier(
    n_estimators=cfg["model"]["n_estimators"],
    max_depth=cfg["model"]["max_depth"]
)

تثبيت البذور العشوائية

تتطلب قابلية إعادة الإنتاج أيضًا تثبيت البذور العشوائية في كل مكان: تقسيم التدريب والاختبار، وتهيئة النموذج، وأي عملية خلط. خزّن البذرة في إعدادات YAML حتى تكون واضحة ومتسقة.

from sklearn.model_selection import train_test_split

X_tr, X_te, y_tr, y_te = train_test_split(
    X, y, test_size=cfg["data"]["test_size"],
    random_state=cfg["data"]["random_state"]
)

Makefile للخطوات القابلة للتكرار

يحوّل Makefile كل مرحلة من مراحل المسار إلى هدف مسمى، بحيث يشغّل أي شخص make train بدلًا من تذكر الأوامر الطويلة. وهذا يوحّد سير العمل بين أعضاء الفريق.

تعريف أهداف Make

تشمل الأهداف الشائعة make data وmake train وmake evaluate، حيث يستدعي كل منها البرنامج النصي المطابق.

# Makefile
data:
	python src/prepare_data.py

train:
	python src/train.py --config config.yaml

evaluate:
	python src/evaluate.py --config config.yaml

تسلسل التبعيات

يمكن أن تعتمد أهداف Make على بعضها، بحيث يشغّل make train الهدف data أولًا عند الحاجة، مما يضمن تشغيل المسار دائمًا بالترتيب الصحيح.

train: data
	python src/train.py --config config.yaml

تجميع المكونات

إعداد قابل لإعادة الإنتاج: حفظ Pipeline باستخدام joblib، ووضع جميع المعاملات الفائقة في YAML، وتثبيت البذور، وإنشاء Makefile يتيح الأهداف make data / train / evaluate. يمكن لأي شخص استنساخ المستودع وإعادة إنتاج نموذجك بدقة.

تحقق سريع

اختبر معرفتك بالمسارات القابلة لإعادة الإنتاج.

مراجعة

لقد بنيت مسارات قابلة لإعادة الإنتاج: كائن Pipeline من sklearn محفوظ عبر joblib.dump/load، وجميع المعاملات الفائقة في إعدادات YAML، وبذور عشوائية ثابتة، وMakefile يتضمن أهداف make data / train / evaluate. التالي: مراقبة النماذج في بيئة الإنتاج.

الأسئلة الشائعة

هل درس «بناء مسارات تعلم آلي قابلة لإعادة الإنتاج» مجاني؟

نعم — نص درس «بناء مسارات تعلم آلي قابلة لإعادة الإنتاج» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

ماذا ستتعلم في «بناء مسارات تعلم آلي قابلة لإعادة الإنتاج»؟

‏sklearn Pipeline، وحفظ المسارات باستخدام joblib، وتشغيلات مَعْلَمية باستخدام ملفات الإعداد تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «بناء مسارات تعلم آلي قابلة لإعادة الإنتاج»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تتبّع التجارب باستخدام MLflow
  2. سجل النماذج وإدارة الإصدارات
  3. بناء مسارات تعلم آلي قابلة لإعادة الإنتاج
  4. مراقبة أداء النموذج في بيئة الإنتاج
← العودة إلى Learn AI with Python