Как превратить inference-сервис в production-систему

Разработка

Тезисы

Запустить inference относительно просто. Гораздо сложнее сделать сервис, который предсказуемо работает под нагрузкой, переживает сбои, масштабируется и не теряет пользовательские задачи.

В какой-то момент вокруг модели или inference runtime приходится строить полноценную распределённую систему: управлять очередью и состоянием задач, распределять работу между worker’ами, контролировать ownership, восстанавливаться после сбоев и масштабировать инфраструктуру в зависимости от реальной нагрузки.

В докладе разберём, какие проблемы возникают при переходе от запуска inference к управляемой системе выполнения задач и как мы их решаем. Покажем, почему обычного горизонтального масштабирования оказывается недостаточно, как устроить orchestration layer и какие инженерные решения понадобятся для надёжной асинхронной обработки.

Отдельно рассмотрим реальные production-проблемы: что происходит, когда worker падает посреди выполнения, как не допустить повторной обработки одной задачи, почему autoscaling может удалить ещё выполняющуюся задачу и как связать состояние очереди с фактическим завершением inference.

В качестве конкретного runtime в кейсе используется ComfyUI, но описанные подходы применимы гораздо шире — к системам, где есть долгие задачи, асинхронное выполнение, распределённые worker’ы и необходимость управлять жизненным циклом inference-задач.


Аудитория

Бэкенд-разработчик, Специалист по данным / Специалист по машинному обучению


Уровень сложности

Средний

Cloud.ru
Кирилл Веловатый

Занимается развитием платформенных сервисов для ИИ в Cloud.ru.

Другие спикеры трека Разработка