Больше половины моделей, показанных на пилоте, никогда не доходят до промышленной эксплуатации. Причина редко в качестве модели: чаще нет ответа на вопросы, кто отвечает за её работу, как понять, что она стала хуже, и что делать, когда это произойдёт. MLOps — это про ответы на эти вопросы.

Чем модель отличается от обычного кода

  • Результат зависит не только от кода, но и от данных, на которых модель обучали.
  • Модель может ошибаться, не падая. Обычная программа при сбое даёт ошибку, модель просто выдаёт неверный ответ уверенным тоном.
  • Качество деградирует со временем, даже если код не менялся: меняется реальность за окном.
  • Воспроизвести результат нельзя без тех же данных и тех же параметров обучения.

Дрейф данных

Главная причина деградации. Модель обучили на прошлогодних заявках, а в этом году изменился ассортимент, формулировки или сезон. Формально всё работает, метрики никто не смотрит, а доля ошибок растёт месяцами, пока это не замечают пользователи.

Модель без мониторинга качества — это система, которая портится молча. Это хуже, чем система, которая ломается громко.

Что входит в MLOps на практике

  1. Версионирование данных и моделей. Для каждой версии в эксплуатации известно, на каких данных и с какими параметрами она обучена.
  2. Воспроизводимое обучение. Запуск обучения одной командой, с тем же результатом.
  3. Проверки перед выкаткой. Модель не попадает в продуктив, если на контрольной выборке она хуже предыдущей.
  4. Мониторинг качества в бою. Отслеживание не только доступности сервиса, но и распределения входных данных и доли спорных ответов.
  5. Обратная связь от людей. Исправления операторов сохраняются и становятся данными для следующего обучения.
  6. Откат. Возможность вернуть предыдущую версию модели за минуты.

Когда MLOps не нужен

Если модель одна, обновляется раз в год и её ошибки не стоят дорого, полноценная инфраструктура будет дороже пользы. Достаточно версионирования и простого отчёта о качестве. MLOps начинает окупаться, когда моделей несколько, они обновляются регулярно или их ошибки имеют цену.

С чего начать

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

Частые вопросы

Нужен ли отдельный человек под MLOps?

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

Как часто нужно переобучать модель?

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

Можно ли делать всё это в закрытом контуре?

Да. Все компоненты — хранение данных, обучение, реестр моделей, мониторинг — разворачиваются на своём оборудовании.

Смотрите также: разработка AI-решений и разбор: вывод пилота в эксплуатацию.