Системный дизайн ML-сервисов

Observability

Наблюдаемость

актуальноТекущий рабочий стандарт

Логи, метрики и трассировки, по которым можно восстановить, что произошло с конкретным запросом.

Ключевые тезисы

  • Логируйте вход, версию модели, предсказание и время ответа — этого достаточно для 90% расследований.
  • Трассировка сквозь сервисы показывает, где именно теряются миллисекунды.
  • Сэмплирование логов при высокой нагрузке: полный лог инференса LLM может стоить дороже самой модели.
Тема также относится к главам:MLOpsЭксплуатация

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Минимальный набор логов

Того, что нужно для расследования.

{"ts": "...", "request_id": "...", "model": "churn@2026-08-15",
 "features_hash": "9f2c...", "features": {...}, "score": 0.183,
 "latency_ms": 12, "fallback": false, "cache_hit": false}
  • Признаки логируются либо полностью, либо хешем + сэмплированием — в зависимости от объёма и требований к персональным данным.
  • Метка (что произошло на самом деле) приезжает позже и джойнится по request_id.
  • Именно эта пара «признаки + метка» становится обучающей выборкой следующей версии.
2

Трассировка и метрики

Как найти, где теряются миллисекунды.

  • Трейс с спанами: получение признаков, инференс, постобработка — сразу видно узкое место.
  • Гистограммы задержек, а не средние: по ним считаются перцентили.
  • Метрики по версиям модели раздельно — иначе при канареечном выкате всё смешается.
  • Алерты на рост доли фолбэков и на смещение распределения скоров.

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

Инференс и эксплуатация

Requirements and SLA85%

Требования и SLA · Системный дизайн ML-сервисов

Числа, которые нужно зафиксировать до архитектуры: задержка, пропускная способность, доступность, стоимость запроса.

Serving Architecture85%

Архитектура инференса · Системный дизайн ML-сервисов

Модель внутри приложения, отдельный сервис или платформа инференса — три уровня связанности.

Caching85%

Кеширование · Системный дизайн ML-сервисов

Не считать то, что уже посчитано: кеш предсказаний, признаков и эмбеддингов.

Batching and Queues85%

Батчинг и очереди · Системный дизайн ML-сервисов

Собирать запросы в пачки, чтобы загрузить GPU, и сглаживать всплески нагрузки очередью.

Scaling85%

Масштабирование · Системный дизайн ML-сервисов

Горизонтальное и вертикальное масштабирование инференса и правильные метрики автоскейлинга.

GPU Inference85%

GPU-инференс · Системный дизайн ML-сервисов

Как выжать из видеокарты пропускную способность и не переплачивать.

Reliability85%

Отказоустойчивость · Системный дизайн ML-сервисов

Что происходит, когда модель недоступна, отвечает медленно или выдаёт мусор.

Cost Model85%

Экономика сервиса · Системный дизайн ML-сервисов

Стоимость одного предсказания и точка, где модель перестаёт окупаться.

LLM Serving85%

Обслуживание LLM · Системный дизайн ML-сервисов

Отдельная инженерная дисциплина: KV-кеш, непрерывный батчинг, потоковая отдача и контроль стоимости.

Model Deployment85%

Деплой моделей · MLOps

Доставка модели пользователю: онлайн-сервис, батч-скоринг или встраивание в приложение.

Monitoring85%

Мониторинг · MLOps

Наблюдение за инфраструктурой, данными и качеством предсказаний после релиза.

Docker85%

Docker · MLOps

Контейнеризация фиксирует окружение целиком: код, зависимости, системные библиотеки.

Kubernetes85%

Kubernetes · MLOps

Оркестрация контейнеров: масштабирование, самовосстановление, обновления без простоя.