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

أنماط التوسع

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

توسيع بنية LLM التحتية يتطلب فهم الخصائص الفريدة لأحمال عمل الاستدلال: الحوسبة المقيدة بـ GPU، وذاكرات KV كثيفة الذاكرة، ومتطلبات زمن الاستجابة المتغيرة.

أبعاد التوسع

┌─────────────────────────────────────────────────────────────┐
│                  أبعاد توسع LLM                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  التوسع الأفقي (المزيد من النسخ)                           │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐                │   │
│  │  │ GPU │  │ GPU │  │ GPU │  │ GPU │  ...           │   │
│  │  │  1  │  │  2  │  │  3  │  │  4  │                │   │
│  │  └─────┘  └─────┘  └─────┘  └─────┘                │   │
│  │  نفس النموذج، طلبات متوازية                        │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  التوسع العمودي (GPUs أكبر)                                │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  A10G (24GB) → A100 (80GB) → H100 (80GB) → B200     │   │
│  │  ذاكرة أكثر، حوسبة أسرع، أحجام دفعات أكبر          │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  توازي النموذج (تقسيم النموذج)                            │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐          │   │
│  │  │ الطبقات  │  │ الطبقات  │  │ الطبقات  │          │   │
│  │  │  1-12    │→ │  13-24   │→ │  25-36   │          │   │
│  │  │  GPU 1   │  │  GPU 2   │  │  GPU 3   │          │   │
│  │  └──────────┘  └──────────┘  └──────────┘          │   │
│  │  توازي الأنبوب للنماذج الكبيرة                     │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

تكوين Kubernetes HPA

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: llm-inference-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: vllm-deployment
  minReplicas: 2
  maxReplicas: 20
  metrics:
    # استخدام GPU (الأساسي)
    - type: External
      external:
        metric:
          name: dcgm_gpu_utilization
          selector:
            matchLabels:
              deployment: vllm
        target:
          type: AverageValue
          averageValue: "75"  # التوسع عند 75% استخدام GPU

    # عمق قائمة الانتظار (الثانوي)
    - type: External
      external:
        metric:
          name: llm_pending_requests
        target:
          type: AverageValue
          averageValue: "10"  # التوسع إذا >10 معلق

  behavior:
    scaleUp:
      stabilizationWindowSeconds: 60
      policies:
        - type: Pods
          value: 2
          periodSeconds: 60
    scaleDown:
      stabilizationWindowSeconds: 300  # 5 دقائق تهدئة
      policies:
        - type: Pods
          value: 1
          periodSeconds: 120

النشر متعدد المناطق

┌─────────────────────────────────────────────────────────────┐
│                 المعمارية متعددة المناطق                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│     US-East                    EU-West                      │
│  ┌──────────────────┐    ┌──────────────────┐              │
│  │  ┌────────────┐  │    │  ┌────────────┐  │              │
│  │  │  LLM Pods  │  │    │  │  LLM Pods  │  │              │
│  │  │  (H100x8)  │  │    │  │  (H100x8)  │  │              │
│  │  └──────┬─────┘  │    │  └──────┬─────┘  │              │
│  │         │        │    │         │        │              │
│  │  ┌──────┴─────┐  │    │  ┌──────┴─────┐  │              │
│  │  │   Cache    │  │    │  │   Cache    │  │              │
│  │  │  (Redis)   │  │    │  │  (Redis)   │  │              │
│  │  └────────────┘  │    │  └────────────┘  │              │
│  └────────┬─────────┘    └────────┬─────────┘              │
│           │                       │                         │
│           └───────────┬───────────┘                         │
│                       │                                     │
│            ┌──────────┴──────────┐                         │
│            │   موازن الحمل      │                         │
│            │   العالمي          │                         │
│            └─────────────────────┘                         │
│                                                             │
│  التوجيه القائم على زمن الاستجابة: <50ms لأقرب منطقة      │
│  الاحتياطي: تبديل تلقائي عبر المناطق عند الانقطاع          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

أفضل ممارسات التوسع

الممارسة التوصية
أقل نسخ دائماً ≥2 للتوفر العالي
سرعة التوسع للأعلى سريعة (1-2 دقيقة) للتعامل مع الذروات
سرعة التوسع للأسفل بطيئة (5-10 دقائق) لتجنب التذبذب
هدف استخدام GPU 70-80% (اترك مساحة)
تنبيه عمق قائمة الانتظار >20 معلق لـ >2 دقيقة
التسخين المسبق حمّل النماذج قبل استقبال الحركة
الاحتياطي الإقليمي اكتشاف وتبديل <30 ثانية
:::

اختبار

الوحدة 6: تحسين التكلفة والتوسع

خذ الاختبار