Inference
serving
Эксплуатация модели как сетевого сервиса, принимающего внешние запросы через API.
Что такое model serving
Model serving — перевод обученной ML-модели из «скрипта для исследований» в надёжный сетевой сервис, принимающий запросы в реальном времени. Включает HTTP/gRPC API, управление моделью в памяти, батчинг, масштабирование и мониторинг.
Serving существенно сложнее простого model.generate() в Jupyter: нужно обрабатывать параллельные запросы, контролировать потребление памяти, обеспечивать отказоустойчивость и соответствие SLA.
Компоненты production serving
- Inference server — vLLM, TGI, Triton, TorchServe: управляет моделью и HTTP
- Balancer — nginx/HAProxy/Envoy для распределения трафика между репликами
- Autoscaling — поднятие/снятие реплик по метрикам (GPU utilization, queue depth)
- Monitoring — latency p50/p95/p99, tokens per second, error rate, GPU memory
- Health checks — периодические
GET /healthдля удаления нездоровых реплик
Ключевые метрики SLA
| Метрика | Что измеряет | Типичные цели |
|---|---|---|
| TTFT | До первого токена | <500 мс (чат), <2с (batch) |
| TPOT | Скорость генерации | <50 мс/токен |
| Throughput | Токенов/с суммарно | Максимум под нагрузку |
| Availability | % uptime | >99.9% |
Быстрый старт с vLLM
# Минимальный production-деплой
docker run -d --gpus all \
-p 8000:8000 \
--restart unless-stopped \
vllm/vllm-openai:latest \
--model meta-llama/Llama-3.1-8B-Instruct \
--max-model-len 8192 \
--gpu-memory-utilization 0.90
Связанные термины
- vLLM, TGI, SGLang — inference servers
- TTFT и TPOT — основные latency-метрики
- batching и continuous batching — механизмы эффективности
- load balancer — распределение трафика между репликами
- health check — проверка готовности сервера
Готовы запустить GPU-задачу?
Запустить GPU-сервер