سجل النماذج والتقديم
مفاهيم سجل النماذج
3 دقيقة للقراءة
سجل النماذج هو مركز مركزي لإدارة دورة حياة نماذج ML—من التجريب إلى الإنتاج. يجلب التحكم في الإصدار والحوكمة والتعاون لإدارة النماذج.
لماذا سجل النماذج؟
بدون سجل:
النماذج متناثرة عبر:
├── /home/alice/models/best_model_v2_final_FINAL.pkl
├── /home/bob/experiments/model_2025_01_15.h5
├── s3://bucket/models/classifier/
├── /mnt/shared/archived_models/
└── "أظن أن نموذج الإنتاج في Slack في مكان ما..."
مع سجل:
سجل النماذج
├── fraud-detector
│ ├── الإصدار 1 (Staging)
│ ├── الإصدار 2 (Production) ← الحالي
│ └── الإصدار 3 (Development)
├── recommendation-engine
│ ├── الإصدار 1 (Archived)
│ └── الإصدار 2 (Production)
└── churn-predictor
└── الإصدار 1 (Production)
المفاهيم الأساسية
النموذج
نموذج ML مُدرب جاهز للنشر:
# ما يتم تسجيله
model = {
"name": "fraud-detector",
"version": 3,
"artifacts": {
"model.pkl": "s3://bucket/models/fraud/v3/model.pkl",
"preprocessor.pkl": "s3://bucket/models/fraud/v3/preprocessor.pkl"
},
"metrics": {
"accuracy": 0.95,
"f1_score": 0.93,
"auc_roc": 0.98
},
"parameters": {
"n_estimators": 100,
"max_depth": 10
},
"tags": {
"team": "risk",
"use_case": "كشف الاحتيال الفوري"
}
}
إصدار النموذج
كل تشغيل تدريب يُنتج إصداراً جديداً:
fraud-detector
├── v1: accuracy=0.85, created=2025-01-01
├── v2: accuracy=0.90, created=2025-01-15
└── v3: accuracy=0.95, created=2025-01-20 ← الأحدث
مرحلة النموذج
المراحل تتتبع أين النموذج في دورة حياته:
| المرحلة | الوصف | من يمكنه الوصول |
|---|---|---|
| Development | تجريبي، غير مُختبر | علماء البيانات |
| Staging | تحت الاختبار/التحقق | فريق QA |
| Production | مباشر، يُقدم الطلبات | أنظمة الإنتاج |
| Archived | مُهمل، مُحتفظ للتدقيق | الامتثال |
Development ──▶ Staging ──▶ Production
│
▼
Archived
معمارية سجل النماذج
┌─────────────────────────────────────────────────────────────────┐
│ سجل النماذج │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ مخزن البيانات الوصفية │ │
│ │ • اسم النموذج، الإصدار، المرحلة │ │
│ │ • معلمات التدريب │ │
│ │ • المقاييس والعلامات │ │
│ │ • النسب (البيانات، الكود، التجربة) │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ مخزن المخرجات │ │
│ │ • ملفات النماذج (pkl, pt, onnx, savedmodel) │ │
│ │ • خطوط المعالجة المسبقة │ │
│ │ • ملفات التكوين │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
خط أنابيب نظام خط أنابيب
التدريب التقديم CI/CD
الميزات الرئيسية
1. التحكم في الإصدار
# سجّل إصدارات متعددة
mlflow.register_model("runs:/abc123/model", "fraud-detector") # v1
mlflow.register_model("runs:/def456/model", "fraud-detector") # v2
mlflow.register_model("runs:/ghi789/model", "fraud-detector") # v3
2. انتقالات المراحل
# رقِّ النموذج للإنتاج
client.transition_model_version_stage(
name="fraud-detector",
version=3,
stage="Production"
)
3. نسب النموذج
النموذج: fraud-detector v3
├── تشغيل التدريب: experiment_123/run_456
├── مجموعة البيانات: s3://bucket/data/train_2025_01.parquet
├── الكود: git@github.com:org/repo.git@commit_abc
├── البيئة: python=3.11, sklearn=1.4.0
└── النموذج الأصل: fraud-detector v2
4. التحكم في الوصول
| الدور | الصلاحيات |
|---|---|
| عالم البيانات | إنشاء، قراءة النماذج |
| مهندس ML | الترقية لـ staging |
| DevOps | الترقية للإنتاج |
| المدير | حذف، أرشفة النماذج |
البيانات الوصفية للنموذج
ما يجب تتبعه
| الفئة | أمثلة |
|---|---|
| الهوية | الاسم، الإصدار، الأسماء المستعارة |
| الأداء | الدقة، زمن الاستجابة، الإنتاجية |
| التدريب | المعلمات الفائقة، إصدار مجموعة البيانات |
| النسب | معرف التجربة، commit الكود |
| التشغيلي | المالك، الفريق، متطلبات SLA |
مثال البيانات الوصفية
model:
name: fraud-detector
version: 3
stage: Production
metrics:
accuracy: 0.95
f1_score: 0.93
latency_p99_ms: 15
throughput_qps: 1000
training:
experiment_id: exp_123
run_id: run_456
dataset_version: v2.1
training_date: "2025-01-20"
parameters:
algorithm: XGBoost
n_estimators: 100
max_depth: 10
learning_rate: 0.1
tags:
team: risk
owner: alice@company.com
compliance: SOC2
خيارات سجل النماذج
| الأداة | النوع | الأفضل لـ |
|---|---|---|
| MLflow | مفتوح المصدر | عام |
| Weights & Biases | مُدار | تتبع التجارب + سجل |
| Neptune | مُدار | فرق MLOps |
| SageMaker | سحابي | نظام AWS البيئي |
| Vertex AI | سحابي | نظام GCP البيئي |
أفضل الممارسات
| الممارسة | لماذا |
|---|---|
| نموذج واحد لكل حالة استخدام | ملكية وتحكم إصدار واضح |
| أوصاف إصدار ذات معنى | اعرف ما تغير |
| أتمت انتقالات المراحل | قلل الخطأ البشري |
| افرض سير عمل الموافقة | الحوكمة والامتثال |
| تتبع جميع البيانات الوصفية | إعادة إنتاج كاملة |
الرؤية الرئيسية: سجل النماذج يُحول إدارة النماذج من مشاركة ملفات عشوائية إلى عملية محكومة وقابلة للتدقيق—ضروري لـ ML في الإنتاج على نطاق واسع.
التالي، سنستكشف MLflow Model Registry بعمق. :::