Уровни зрелости MLOps
От ручного деплоя в Jupyter до полностью автоматического переобучения — лестница из трёх ступеней.
Уровень зрелости MLOps — это мера автоматизации жизненного цикла: чем меньше ручных шагов между новыми данными и обновлённой моделью в проде, тем выше уровень.
Зачем измерять зрелость
Не всем нужен полный автомат. Стартапу с одной моделью, которую обновляют раз в квартал, хватит и ручного процесса. Внедрять Kubeflow на старте — пустая трата сил. Модель зрелости помогает понять, где вы сейчас и какой следующий разумный шаг, а не гнаться за модными инструментами.
Уровень 0: ручной процесс
Всё делается руками в ноутбуках. Дата-сайентист обучает модель, экспортирует файл с весами и передаёт инженеру, который «как-нибудь» выкатывает его на сервер. Между обучением и деплоем — пропасть из ручных шагов и устных договорённостей.
- Граница между ML и эксплуатацией: код кидают «через стену».
- Нечастые релизы (раз в месяцы), нет CI/CD.
- Нет активного мониторинга — деградацию замечают по жалобам.
Уровень 1: автоматизация ML-пайплайна
Автоматизирован сам пайплайн обучения. Появление новых данных запускает переобучение по расписанию или по триггеру. Между обучением и сервингом — единый код пайплайна, а не ручная передача. Вводится непрерывное обучение (CT, continuous training) и валидация данных/модели как часть пайплайна.
Новые данные --> [Пайплайн: подготовка -> обучение -> валидация] --> авто-деплой
(запуск по расписанию/триггеру, без участия человека в рутине)
Уровень 2: полный CI/CD для пайплайнов
Автоматизирован не только запуск пайплайна, но и его обновление. Изменение кода пайплайна проходит CI (тесты), собирается и через CD выкатывается в продакшн. Команда быстро экспериментирует с новыми признаками и архитектурами, а система сама их тестирует и доставляет. Это вершина: непрерывная интеграция кода, непрерывная доставка пайплайнов и непрерывное обучение моделей работают вместе.
| Уровень | Что автоматизировано | Кому подходит |
| 0 | ничего, всё руками | одна модель, редкие обновления |
| 1 | пайплайн обучения (CT) | модель требует частого переобучения |
| 2 | CI/CD пайплайнов + CT | много моделей, быстрые эксперименты |
Как работает под капотом
Подъём по уровням — это перенос ручных решений в код. На уровне 0 человек решает «пора переобучать» — на уровне 1 это решает планировщик или триггер по дрейфу. На уровне 1 человек обновляет код пайплайна вручную — на уровне 2 это делает CI/CD-конвейер с тестами. Каждое повышение уровня требует инфраструктуры: реестр моделей, оркестратор, автоматические тесты, мониторинг.
Частые ошибки
- Прыгать на уровень 2, не имея уровня 0. Без базовой воспроизводимости автоматизация лишь ускорит хаос.
- Считать уровень самоцелью. Уровень — средство; цель — надёжно решать задачу бизнеса.
- Автоматизировать без мониторинга. Автодеплой без наблюдения опасен: плохая модель выедет в прод сама.
Итог
- Зрелость MLOps — это степень автоматизации, а не набор модных инструментов.
- Уровень 0 — руками; уровень 1 — автоматический пайплайн обучения (CT); уровень 2 — CI/CD пайплайнов.
- Поднимайтесь по уровням постепенно и только если этого требует частота обновлений и число моделей.