Инференс

Сервинг моделей

Сервинг моделей — развёртывание обученной нейронной сети в виде производственного сервиса, доступного через API для обработки запросов в реальном времени или пакетном режиме. Включает управление очередями, балансировку нагрузки и оптимизацию использования GPU-кластера.

Сервинг моделей (model serving) — инфраструктурный слой, превращающий обученную нейронную сеть в масштабируемый сервис. Он охватывает загрузку весов модели на ускорители, управление очередями входящих запросов, распределение нагрузки между экземплярами, оптимизацию использования памяти и возврат результатов клиентам. Сервинг — отдельная инженерная дисциплина: хорошо обученная модель без грамотного сервинга не способна обслуживать реальные нагрузки с предсказуемой задержкой и приемлемой стоимостью.

Типовой стек сервинга LLM включает: фреймворк инференса (vLLM, TensorRT-LLM, Triton Inference Server от NVIDIA, llama.cpp для CPU и edge-устройств), API-шлюз (FastAPI, NGINX или специализированные решения типа Ray Serve), систему оркестрации (Kubernetes с GPU-операторами) и инструменты мониторинга (Prometheus, Grafana). Ключевые техники оптимизации: квантизация весов (INT8, INT4, FP8) для сокращения потребления памяти GPU, KV-кеш-менеджмент и tensor parallelism — распределение тензоров модели по нескольким GPU при размерах, превышающих ёмкость одной карты.

Качество сервинга определяет SLA продукта — гарантированную доступность (uptime), предсказуемую латентность и возможность горизонтального масштабирования при росте трафика. Сервинг LLM существенно сложнее сервинга классических ML-моделей: авторегрессивная генерация требует отдельного прохода для каждого токена, KV-кеш занимает гигабайты видеопамяти, а длина ответов варьируется непредсказуемо.

Мanaged-платформы — AWS Bedrock, Google Vertex AI Model Garden, Azure AI Foundry, Groq Cloud — абстрагируют большую часть инфраструктуры, позволяя командам использовать модели через API без управления кластерами. Для self-hosted развёртываний стандартом стал vLLM в связке с Kubernetes. Активно развивается disaggregated serving: разделение prefill-узлов (обработка промпта) и decode-узлов (генерация) позволяет оптимизировать каждую фазу под соответствующий класс оборудования.

Пример

Стартап развёртывает open-source модель Llama на собственном кластере через vLLM и Ray Serve с автомасштабированием: в ночные часы активны два GPU-узла, в дневной пик кластер автоматически расширяется до десяти.

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

← Глоссарий