مراقبة أداء النموذج في بيئة الإنتاج
اكتشاف انحراف البيانات، ومؤشرات تدهور النموذج، ومشغلات إعادة التدريب، ومكتبة evidently
مراقبة أداء النموذج في بيئة الإنتاج درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
لماذا نراقب النموذج في بيئة الإنتاج؟
قد يتدهور أداء النموذج الذي حقق نتائج جيدة عند إطلاقه بصمت مع تغيّر العالم. تكشف المراقبة هذا الانحراف مبكرًا، قبل أن يؤدي بهدوء إلى تراجع مقاييس العمل، لتعرف متى يحين وقت إعادة التدريب.
انحراف البيانات مقابل انحراف المفهوم
- انحراف البيانات: يتغير توزيع المُدخلات (مثل تغير مزيج العملاء).
- انحراف المفهوم: تتغير العلاقة بين المُدخلات والهدف (مثل تغير العوامل التي تتنبأ بتوقف العميل عن الاستخدام).
يؤثر كلاهما سلبًا في الدقة، لكن المراقبة تكشف كلًا منهما بطرق مختلفة.
PSI لانحراف البيانات
يقارن Population Stability Index (PSI) توزيع إحدى الميزات الآن بتوزيعها في خط الأساس. قسّم كلا التوزيعين إلى فئات، ثم اجمع (now% - base%) * ln(now% / base%) عبر الفئات.
قراءة قيم PSI
قواعد تقريبية: PSI < 0.1 لا يوجد تغير مهم، و0.1-0.25 تغير متوسط (يحتاج إلى بحث)، و> 0.25 تغير كبير (ومن المحتمل أن يتطلب إعادة التدريب). تُحسب PSI لكل ميزة.
import numpy as np
def psi(base, now, bins=10):
edges = np.percentile(base, np.linspace(0, 100, bins + 1))
b_pct = np.histogram(base, edges)[0] / len(base) + 1e-6
n_pct = np.histogram(now, edges)[0] / len(now) + 1e-6
return np.sum((n_pct - b_pct) * np.log(n_pct / b_pct))اختبار KS للتوزيعات
يقارن Kolmogorov-Smirnov (KS) test توزيعين مستمرين. وتشير قيمة p الصغيرة إلى اختلاف مهم إحصائيًا بين توزيع الإنتاج وتوزيع التدريب، مما يدل على وجود انحراف.
from scipy.stats import ks_2samp
stat, pvalue = ks_2samp(train_feature, prod_feature)
if pvalue < 0.05:
print("Distribution drift detected")PSI مقابل KS
- PSI: رقم واحد سهل التفسير، ومناسب جدًا للوحات المعلومات والحدود.
- KS: اختبار فرضية إحصائي ذي قيمة p، وأكثر صرامة للميزات المستمرة.
تعرض فرق كثيرة المقياسين جنبًا إلى جنب.
ما Evidently؟
إن Evidently مكتبة مفتوحة المصدر تعمل على أتمتة تقارير الانحراف والجودة. فبدلًا من كتابة كل مقياس يدويًا، تجمع عمليات تحقق معدة مسبقًا وتحصل على تقرير بصيغة HTML/JSON.
# pip install evidently
from evidently.report import Report
from evidently.metric_preset import DataDriftPresetإنشاء تقرير DataDriftPreset
يشغّل DataDriftPreset مجموعة كاملة من اختبارات الانحراف على جميع الأعمدة، ويقارن مجموعة بيانات مرجعية (بيانات التدريب) بالبيانات الحالية (بيانات الإنتاج).
report = Report(metrics=[DataDriftPreset()])
report.run(
reference_data=train_df,
current_data=prod_df
)
report.save_html("drift_report.html")استخراج النتائج برمجيًا
صدّر التقرير كقاموس لتغذية منطق التنبيهات، بحيث تعمل المراقبة تلقائيًا وفق جدول زمني.
result = report.as_dict()
drift_share = result["metrics"][0]["result"]["dataset_drift"]
print("Dataset drift flag:", drift_share)إطلاق تنبيه عند انخفاض الدقة
عندما تتوفر لديك تسميات للحقيقة الأساسية، تتبع الدقة الفعلية وأطلق تنبيهًا عندما تنخفض عن حد معين؛ فهذا هو المؤشر المباشر على تأخر إعادة التدريب.
THRESHOLD = 0.85
if live_accuracy < THRESHOLD:
send_alert(f"Accuracy dropped to {live_accuracy:.2f}")إغلاق الحلقة
ترتبط المراقبة الجيدة بإجراء عملي: اكتشاف الانحراف -> إرسال تنبيه -> تشغيل خط أنابيب إعادة التدريب (ملفا Makefile والسجل من الدروس السابقة) -> نشر الإصدار الجديد. فالمراقبة من دون خطة استجابة ليست سوى ضوضاء.
اختبار سريع
اختبروا معرفتكم بالمراقبة.
مراجعة
راقبتم النماذج في بيئة الإنتاج: يكشف كل من PSI واختبار KS انحراف البيانات، وتعمل Evidently على أتمتة التقارير عبر DataDriftPreset، كما ترسلون تنبيهًا عندما تنخفض الدقة عن حد معيّن، ثم تشغّلون إعادة التدريب. وبهذا ينتهي مقرر MLOps. المقرر التالي: تقديم نماذج الذكاء الاصطناعي باستخدام FastAPI.
الأسئلة الشائعة
هل درس «مراقبة أداء النموذج في بيئة الإنتاج» مجاني؟
نعم — نص درس «مراقبة أداء النموذج في بيئة الإنتاج» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «مراقبة أداء النموذج في بيئة الإنتاج»؟
اكتشاف انحراف البيانات، ومؤشرات تدهور النموذج، ومشغلات إعادة التدريب، ومكتبة evidently تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مراقبة أداء النموذج في بيئة الإنتاج»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تتبّع التجارب باستخدام MLflow
- سجل النماذج وإدارة الإصدارات
- بناء مسارات تعلم آلي قابلة لإعادة الإنتاج
- مراقبة أداء النموذج في بيئة الإنتاج