نشرMLOpsإنتاجDevOps

نشر نماذج الذكاء الاصطناعي في الإنتاج: دليل كامل

212AY Team·2026-05-20·16 دقيقة

نشر نماذج الذكاء الاصطناعي في الإنتاج يختلف عن تدريبها. يغطي هذا الدليل خط أنابيب النشر بالكامل.

خط أنابيب النشر

  1. تصدير النموذج: تحويل إلى تنسيق محسن
  2. الحاوية: تعبئة مع التبعيات
  3. تطوير API: إنشاء نقطة استدلال
  4. النشر: نشر في السحابة أو محلياً
  5. المراقبة: تتبع الأداء والانحراف
  6. التوسع: التعامل مع الحمولة المتزايدة
  7. الخطوة 1: تصدير النموذج

    صدّر نموذجك المدرب إلى تنسيق محسن:

    # PyTorch إلى TorchScript
    import torch
    model.eval()
    example_input = torch.randn(1, 3, 224, 224)
    traced_model = torch.jit.trace(model, example_input)
    traced_model.save("model.pt")
    
    # أو استخدم ONNX للتشغيل عبر المنصات
    import torch.onnx
    torch.onnx.export(model, example_input, "model.onnx")
    

    الخطوة 2: الحاوية

    FROM python:3.10-slim
    
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    
    COPY model.pt .
    COPY app.py .
    
    EXPOSE 8000
    CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]
    

    الخطوة 3: تطوير API (FastAPI)

    from fastapi import FastAPI, File, UploadFile
    import torch
    from PIL import Image
    import io
    
    app = FastAPI()
    model = torch.jit.load("model.pt")
    model.eval()
    
    @app.post("/predict")
    async def predict(file: UploadFile = File(...)):
        image = Image.open(io.BytesIO(await file.read()))
        # معالجة مسبقة وتنبؤ
        tensor = preprocess(image)
        with torch.no_grad():
            output = model(tensor)
        return {"prediction": postprocess(output)}
    
    @app.get("/health")
    async def health():
        return {"status": "healthy"}
    

    الخطوة 4: خيارات النشر

    بدون خادم: استخدم AWS Lambda أو Google Cloud Run أو Vercel للنماذج خفيفة الوزن.

    مثيلات GPU: استخدم AWS SageMaker أو GCP AI Platform أو خوادم GPU مخصصة.

    نشر طرفي: استخدم TensorFlow Lite أو ONNX Runtime أو CoreML للهواتف المحمولة.

    الخطوة 5: المراقبة

    # تتبع المقاييس الرئيسية
    import time
    import logging
    
    def predict_with_monitoring(input_data):
        start = time.time()
        result = model.predict(input_data)
        latency = time.time() - start
        
        logging.info(f"التنبؤ: {result}، زمن الاستجابة: {latency:.3f}ث")
        
        # التحقق من انحراف البيانات
        check_drift(input_data)
        
        return result
    

    الخطوة 6: التوسع

    • التوسع الأفقي: أضف المزيد من المثيلات خلف موازن التحميل
    • تكميم النموذج: قلل حجم النموذج للاستدلال الأسرع
    • التجميع: معالجة طلبات متعددة معاً
    • التخزين المؤقت: خزّن نتائج المدخلات الشائعة

    تحسين التكلفة

    • استخدم مثيلات سبوت للمعالجة المجمعة
    • خزّن التنبؤات المطلوبة بكثرة مؤقتاً
    • كمم النماذج لتقليل ذاكرة GPU
    • استخدم تقطير النماذج للمهام الأبسط

    مثال واقعي

    نشرت شركة مالية مغربية نموذج كشف احتيال بالذكاء الاصطناعي:

    • حاوية مع Docker
    • نشر على AWS ECS مع توسع تلقائي
    • يعالج 10,000+ معاملة في الدقيقة
    • 99.9% وقت تشغيل مع نشر متعدد مناطق التوفر
    • أقل من 100ms زمن استجابة لكل تنبؤ

    الخطوات التالية

    برنامجنا "ابنِ باستخدام LLMs" يعلّم النشر الإنتاجي لتطبيقات الذكاء الاصطناعي.