Войти
← MLOps
11 мин · просто · Урок 2 из 6

Уровни зрелости MLOps

Три уровня зрелости из статьи Google: ручной процесс, автоматическое переобучение и CI/CD для пайплайна. Признаки каждого уровня и что на нём ломается.

Откуда уровни

Google Cloud в статье «MLOps: Continuous delivery and automation pipelines in machine learning» делит MLOps на три уровня зрелости, от 0 до 2. Уровень показывает, какая часть пути модели до прода автоматизирована.

Пройдём уровни на модели churn из прошлого урока. Каждое утро она выдаёт маркетингу список клиентов, которым стоит отправить скидку.

Уровень 0: всё руками

Data scientist выгружает данные из базы, обучает модель в Jupyter notebook и отправляет файл churn_v3.pkl бэкенд-разработчику. Тот кладёт файл в образ и выкатывает сервис.

Признаки уровня 0 по статье Google:

Что ломается. Через полгода никто не помнит, на каких данных обучен churn_v3.pkl, и повторить обучение нельзя. Модель тем временем ловит drift, а узнают об этом, когда скидки уходят не тем клиентам.

Статья Google отмечает, что уровень 0 встречается во многих компаниях, которые только начинают применять ML.

Уровень 1: модель переобучается сама

На уровне 1 автоматизирован пайплайн обучения. Шаги из notebook стали отдельными задачами, которые идут без человека: выгрузить данные, проверить их, посчитать feature, обучить, оценить, сохранить модель.

Так появляется continuous training (CT), автоматическое переобучение модели в проде. В обычном CI/CD такого шага нет. По статье Google пайплайн запускают:

Главное отличие от уровня 0: в прод выкатывают пайплайн, а модели он выпускает сам.

Что добавляется в инфраструктуру:

Что ломается. Код самого пайплайна по-прежнему меняют и выкатывают руками. Статья Google называет уровень 1 подходящим, когда новые модели выпускают на новых данных, а не на новых идеях. Новая идея, например другой набор feature, требует ручной правки и выкатки пайплайна.

Уровень 2: CI/CD для пайплайна

На уровне 2 к коду пайплайна применяют обычный CI/CD. Получается два контура.

  1. CI/CD пайплайна. Merge request с изменением расчёта feature проходит тесты, собираются образы шагов, новая версия пайплайна выкатывается.
  2. CT модели. Выкаченный пайплайн по триггеру обучает модель, проверяет её и кладёт в model registry, хранилище версий моделей. Оттуда модель выкатывают в сервис.

Тесты, которые статья Google перечисляет для CI:

Перед выкаткой модели статья предлагает проверить её совместимость с инфраструктурой и нагрузочно протестировать сервис inference: сколько запросов в секунду он держит и с какой latency, то есть временем ответа.

Уровень 2 по статье нужен, когда приходится быстро и надёжно обновлять пайплайны в проде: часто пробовать новые идеи и выкатывать их.

Как понять свой уровень

Признаки из статьи сводятся к трём вопросам.

  1. Запускается ли обучение без человека: по расписанию или триггеру?
  2. Проверяются ли данные и новая модель автоматически, до выкатки?
  3. Проходит ли изменение кода пайплайна через тесты и CI/CD?

Нет на первый вопрос значит уровень 0. Да на первые два значит уровень 1. Да на все три значит уровень 2.

Что важно запомнить

Уровень 0: модель обучают вручную и передают файлом, качество в проде не отслеживают.

Уровень 1: пайплайн обучения автоматизирован, модель переобучается по триггеру (continuous training). Данные и модель проверяются автоматически.

Уровень 2: код пайплайна проходит CI/CD с тестами. Нужен, когда часто выкатывают новые идеи, а не одни новые данные.

Оригинал на английском: MLOps: Continuous delivery and automation pipelines in machine learning, Google Cloud.

Прочитал урок?

Отметь его, и прогресс по треку сдвинется.

Разобрать с ИИ-агентом

Агент объяснит непонятное своими словами и погоняет по вопросам с собеседований. 3490 ₽ разово, доступ навсегда.

Открыть доступ за 3490 ₽

Агенту скажи: используй MCP izi, давай урок mlops-basics-02-maturity-levels