مقدمة في MLOps

أنماط البنية التحتية

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

أنظمة التعلم الآلي لها احتياجات بنية تحتية مميزة للتدريب مقابل التقديم. فهم هذه الأنماط يساعدك في تصميم أنظمة فعالة وموفرة للتكلفة.

البنية التحتية للتدريب مقابل التقديم

الجانبالتدريبالتقديم
الهدفالتعلم من البياناتإجراء التوقعات
الحوسبةمجموعات GPU، ذاكرة عاليةCPU/GPU، زمن استجابة منخفض
الوصول للبياناتمعالجة دفعيةبحث في الوقت الفعلي
التوسعتوسع لأعلى (أجهزة أكبر)توسع للخارج (نسخ أكثر)
نموذج التكلفةحوسبة متقطعة (دفع لكل تشغيل)دائمة التشغيل (دفع لكل وقت تشغيل)

نمط البنية التحتية للتدريب

┌──────────────────────────────────────────────────────┐
│                البنية التحتية للتدريب                 │
├──────────────────────────────────────────────────────┤
│                                                       │
│  ┌─────────┐     ┌──────────────┐     ┌──────────┐  │
│  │ بحيرة  │────▶│    مجموعة    │────▶│  مخزن   │  │
│  │البيانات │     │   الحوسبة    │     │ المخرجات │  │
│  └─────────┘     │  (GPU/TPU)   │     └──────────┘  │
│       │          └──────────────┘          │         │
│       │                 │                  │         │
│       ▼                 ▼                  ▼         │
│  ┌──────────────────────────────────────────────┐   │
│  │             المنسق (Kubeflow)                 │   │
│  └──────────────────────────────────────────────┘   │
│                                                       │
└──────────────────────────────────────────────────────┘

المكونات الرئيسية:

  • بحيرة البيانات: S3, GCS, Azure Blob للبيانات الخام
  • مجموعة الحوسبة: Kubernetes مع عقد GPU
  • مخزن المخرجات: سجل النماذج، سجلات التجارب
  • المنسق: Kubeflow, Airflow لإدارة خطوط الأنابيب

نمط البنية التحتية للتقديم

┌──────────────────────────────────────────────────────┐
│                 البنية التحتية للتقديم                │
├──────────────────────────────────────────────────────┤
│                                                       │
│  طلب العميل                                          │
│       │                                               │
│       ▼                                               │
│  ┌──────────┐     ┌──────────┐     ┌──────────┐     │
│  │  موازن   │────▶│  خادم   │────▶│  مخزن   │     │
│  │ الحمل   │     │ النموذج  │     │ الميزات │     │
│  └──────────┘     └──────────┘     └──────────┘     │
│                        │                              │
│                        ▼                              │
│              ┌──────────────────┐                    │
│              │    المراقبة      │                    │
│              └──────────────────┘                    │
│                                                       │
└──────────────────────────────────────────────────────┘

المكونات الرئيسية:

  • موازن الحمل: توزيع الطلبات عبر النسخ
  • خادم النموذج: BentoML, TF Serving, TorchServe
  • مخزن الميزات: Feast للبحث عن الميزات في الوقت الفعلي
  • المراقبة: زمن الاستجابة، الإنتاجية، اكتشاف الانجراف

الاستدلال الدفعي مقابل الوقت الفعلي

النمطحالة الاستخدامزمن الاستجابةالأدوات
دفعيالتوصيات الليليةدقائق-ساعاتSpark, Kubeflow
وقت فعليترتيب البحثميلي ثانيةBentoML, KServe
شبه وقت فعلياكتشاف الاحتيالثوانٍKafka + نموذج

الاستدلال الدفعي

# مثال: التوقع الدفعي مع Spark
from pyspark.sql import SparkSession
import mlflow

spark = SparkSession.builder.appName("batch_predict").getOrCreate()

# تحميل النموذج من السجل
model = mlflow.pyfunc.spark_udf(spark, "models:/churn_model/production")

# تطبيق على مجموعة بيانات كبيرة
predictions = df.withColumn("prediction", model("features"))
predictions.write.parquet("s3://bucket/predictions/")

الاستدلال في الوقت الفعلي

# مثال: الوقت الفعلي مع BentoML
import bentoml

@bentoml.service
class FraudDetector:
    model = bentoml.models.get("fraud_model:latest")

    @bentoml.api
    async def predict(self, transaction: dict) -> dict:
        # احصل على الميزات من المخزن الإلكتروني
        features = await self.feature_store.get_features(
            transaction["user_id"]
        )
        # توقع
        score = self.model.predict([features])[0]
        return {"fraud_score": score}

أنماط تحسين التكلفة

النمطالوصفالتوفير
الأجهزة الفوريةاستخدام VMs قابلة للاستباق للتدريب60-80%
التوسع التلقائيتوسيع نسخ التقديم حسب الطلب40-60%
تخزين النموذج المؤقتتخزين التوقعات للمدخلات المتكررةمتغير
التحجيم الصحيحمطابقة حجم المثيل لحمل العمل30-50%

البنى الهجينة

العديد من أنظمة الإنتاج تجمع بين الأنماط:

┌────────────────────────────────────────────────────┐
│                  البنية الهجينة                     │
├────────────────────────────────────────────────────┤
│                                                     │
│  ┌─────────────────────────────────────────────┐   │
│  │        المسار في الوقت الفعلي (حرج)         │   │
│  │  طلب → نموذج A → استجابة (p99 < 50ms)       │   │
│  └─────────────────────────────────────────────┘   │
│                                                     │
│  ┌─────────────────────────────────────────────┐   │
│  │          المسار الدفعي (خلفية)               │   │
│  │  بيانات → نموذج B → تخزين → حساب مسبق       │   │
│  └─────────────────────────────────────────────┘   │
│                                                     │
└────────────────────────────────────────────────────┘

مثال: التجارة الإلكترونية قد تستخدم:

  • وقت فعلي: ترتيب البحث (يجب أن يكون سريعاً)
  • دفعي: رسائل التوصيات (يمكن الانتظار)

الرؤية الرئيسية: اختر البنية التحتية بناءً على متطلبات زمن الاستجابة وقيود التكلفة، وليس فقط تعقيد النموذج.

في الوحدة التالية، سنتعمق في التحكم في إصدار البيانات والنماذج باستخدام DVC. :::

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

اختبار

الوحدة 1: مقدمة في MLOps

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

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

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

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