سجل النماذج والتقديم

مفاهيم سجل النماذج

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 بعمق. :::

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

اختبار

الوحدة 5: سجل النماذج والتقديم

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

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

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

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