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

Batching and Queues

Батчинг и очереди

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

Направления: Инженерия ИИ · Инференс моделей

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

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

  • ждёт несколько миллисекунд, собирая запросы, — рост пропускной способности в разы.
  • защищает от всплесков, но растит задержку; нужен предел длины и отбрасывание старых запросов.
  • Backpressure обязателен: без него сервис деградирует до полного отказа.

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

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

Сервер копит запросы в течение окна (например, 5 мс) или до достижения , затем считает их одним вызовом. На это даёт рост пропускной способности в разы при почти незаметном росте .

p99RPS
112 мс80
818 мс420
3235 мс900
128110 мс1 150
На практике

Кривая насыщается: после некоторого RPS почти не растёт, а растёт линейно. Выбирайте точку, где задержка ещё укладывается в .

  • Ограничьте длину : бесконечная очередь превращает перегрузку в полный отказ.
  • Отбрасывайте запросы, которые уже устарели (deadline-aware): считать их бессмысленно.
  • Возвращайте 429 и дайте клиенту retry с экспоненциальной задержкой и джиттером.
  • Разделите по приоритетам: онлайн-запросы важнее фоновых пересчётов.

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

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

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

Requirements and SLA85%

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

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

Serving Architecture85%

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

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

Caching85%

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

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

Scaling85%

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

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

GPU Inference85%

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

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

Reliability85%

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

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

Observability85%

Наблюдаемость · Системный дизайн ML-сервисов

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

Cost Model85%

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

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

LLM Serving85%

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

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

Model Deployment85%

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

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

Monitoring85%

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

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

Docker85%

Docker · MLOps

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

Kubernetes85%

Kubernetes · MLOps

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

Проверить себя

Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: MLOps и инженерияТема встречается в этом тесте 2 раза. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Системный дизайн ML-сервисов» последний раз правилась . Нашли ошибку — напишите.