Infrastructure

autoscaling

Автоматическое добавление или снятие реплик сервиса в зависимости от текущей нагрузки.

Что такое autoscaling

Autoscaling — автоматическое изменение числа реплик сервиса в ответ на изменения нагрузки. При росте трафика добавляются новые GPU-инстансы; при спаде — лишние отключаются для экономии. Это критично для ML-сервисов с переменной нагрузкой: держать GPU в ожидании дорого.

Метрики для autoscaling LLM

Стандартная метрика CPU-utilization не подходит для LLM. Лучше:

  • Queue depth — число запросов в очереди > N → добавить реплику
  • GPU utilization — GPU утилизация > 85% → добавить реплику
  • TTFT p95 — p95 латентности > SLA → добавить реплику
  • Tokens/s per GPU — лучше для batch-задач

Kubernetes HPA

# Horizontal Pod Autoscaler для vLLM
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: vllm-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: vllm-deployment
  minReplicas: 1
  maxReplicas: 8
  metrics:
  - type: External
    external:
      metric:
        name: vllm_queue_depth  # кастомная метрика
      target:
        type: Value
        value: "5"  # держать очередь < 5 запросов

Проблемы autoscaling для GPU

  • Холодный старт — загрузка модели занимает 1–5 минут; нужен pre-warming
  • Гранулярность — минимальная единица = 1 GPU; не всегда оптимально
  • Стоимость — GPU дорогие, важно агрессивно scale-down при спаде

Связанные термины

  • load balancer — распределяет нагрузку между репликами
  • health check — определяет, готова ли новая реплика
  • serving — контекст autoscaling
  • spot-инстанс — дешевле для автоматически масштабируемых реплик

Готовы запустить GPU-задачу?

Запустить GPU-сервер