Введение
Prediction Service (сервис предсказаний) – микросервис, предоставляющий ML-модель как сервис через API для получения предсказаний от внешних приложений. Это ключевой компонент production ML-системы: именно Prediction Service обеспечивает доступность модели для бизнес-приложений, скрывая за унифицированным API детали реализации (фреймворк, версия модели, инфраструктура).
Prediction Service может обслуживать Online Inference (синхронные запросы) или Batch Inference (асинхронные задачи) – или оба режима через разные эндпоинты.
История и контекст
Первые Prediction Service появились в крупных компаниях (Google, Amazon, Facebook) в 2012–2015 годах как часть внутренних ML-платформ. TensorFlow Serving (Google, 2016) стал первым популярным опенсорс-инструментом для стандартизированного развёртывания TF-моделей. Позже появились TorchServe (PyTorch), ONNX Runtime Server, NVIDIA Triton Inference Server, KServe (Kubeflow). Сегодня cloud-провайдеры предлагают managed prediction services: AWS SageMaker Endpoints, GCP Vertex AI Endpoints, Azure ML Online Endpoints.
Как это работает
Архитектура Prediction Service включает:
- API Gateway – принимает запросы, валидирует схему входных данных, аутентифицирует клиентов.
- Preprocessing Handler – нормализация, токенизация, получение признаков из Feature Store.
- Model Runtime – исполнение модели (TF Serving, TorchServe, ONNX Runtime, vLLM для LLM).
- Postprocessing Handler – преобразование raw output модели в бизнес-ответ (JSON с метками, скорами).
- Observability – логирование запрос/ответ, метрики latency/throughput в Prometheus, трассировка в OpenTelemetry.
Паттерны развёртывания: Canary deployment – постепенное переключение трафика на новую версию; Shadow mode – новая модель получает трафик, но её ответы не используются (только логируются для оценки); A/B deployment – параллельное обслуживание двух версий для сравнения.
Где применяется
- E-commerce – сервис ранжирования поиска, сервис персональных рекомендаций.
- Банки – сервис скоринга кредитных заявок в реальном времени.
- Медицина – сервис анализа медицинских изображений (КТ, МРТ) для клинических систем.
- NLP-платформы – сервис классификации текста, NER, генерации для корпоративных приложений.
- Промышленность – сервис предиктивной диагностики оборудования по данным датчиков.
Преимущества и ограничения
Преимущества: технологическая независимость клиентов от деталей ML; возможность обновлять модель без изменения клиентов; стандартный контракт (API schema); независимое масштабирование.
Ограничения: сетевые накладные расходы увеличивают latency; сложность управления версиями API и обратной совместимости; при высоком трафике нужна сложная инфраструктура (load balancer, circuit breaker, rate limiter).
Связь с другими понятиями
Online Inference и Batch Inference – два режима работы, которые может поддерживать Prediction Service. Мониторинг модели получает данные из логов Prediction Service. A/B-тест модели реализуется на уровне Prediction Service через traffic routing. Feature Store предоставляет признаки Prediction Service в real-time. KServe (KubeFlow) – платформа для развёртывания Prediction Service на Kubernetes.