Учебник MLOps для начинающих
Практический курс о том, как вывести машинное обучение из ноутбука в надёжный продакшн. Разбираем жизненный цикл ML-системы, версионирование данных и моделей (DVC, реестр), отслеживание экспериментов (MLflow), feature store, CI/CD для ML, упаковку и развёртывание моделей, масштабирование инференса, мониторинг, обнаружение дрейфа, переобучение, безопасные релизы (канарейка, shadow, rollback), оркестрацию пайплайнов, инфраструктуру и LLMOps. Для тех, кто умеет обучать модели и хочет научиться их эксплуатировать.
Курс «MLOps: машинное обучение в продакшн» состоит из 8 разделов и 27 уроков: Введение в MLOps, Версионирование и эксперименты, Признаки и воспроизводимость, CI/CD и упаковка модели, Развёртывание и сервинг, Мониторинг и дрейф, Релизы и переобучение и Оркестрация, инфраструктура и LLMOps. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Введение в MLOps
- Что такое MLOps и зачем он нужен
MLOps — это практики надёжной доставки ML-моделей в продакшн: разрыв между ноутбуком и проде, ML-долг и роль автоматизации.
- Жизненный цикл ML-системы
Этапы ML-системы: данные, обучение, валидация, деплой, мониторинг и переобучение — как они образуют замкнутый цикл.
- Уровни зрелости MLOps
Три уровня зрелости MLOps по Google: ручной процесс, автоматизация пайплайна обучения и полный CI/CD/CT — как понять, где вы.
- Что такое MLOps и зачем он нужен
2 Версионирование и эксперименты
- Версионирование данных с DVC
DVC версионирует данные и модели поверх git: как работает .dvc-указатель, удалённое хранилище и связь данных с коммитом.
- Реестр моделей (Model Registry)
Реестр моделей: версии, стадии (Staging/Production), метаданные и переходы — как централизованно управлять жизненным циклом моделей.
- Отслеживание экспериментов в MLflow
MLflow Tracking: runs, параметры, метрики, артефакты и теги — как сделать эксперименты воспроизводимыми и сравнимыми.
- Версионирование данных с DVC
3 Признаки и воспроизводимость
- Feature store: зачем и как
Feature store централизует признаки: офлайн- и онлайн-хранилища, переиспользование и единая логика для обучения и инференса.
- Training-serving skew
Training-serving skew: почему модель работает на обучении, но проседает в проде, и как обнаружить рассинхрон признаков.
- Воспроизводимость: seed, окружение, lineage
Воспроизводимость в ML: фиксация seed, версий пакетов и окружения, отслеживание происхождения (lineage) артефактов.
- Feature store: зачем и как
4 CI/CD и упаковка модели
- CI/CD для ML: чем отличается
CI/CD для ML: к обычному конвейеру добавляются CT (continuous training) и проверки данных и качества модели.
- Тесты данных и моделей
Как тестировать данные (схема, диапазоны, пропуски) и модели (метрики, инварианты, срезы) в ML-пайплайне.
- Упаковка модели в Docker-образ
Упаковка модели: сериализация, фиксация зависимостей и Docker-образ — как получить переносимый воспроизводимый артефакт.
- CI/CD для ML: чем отличается
5 Развёртывание и сервинг
- Способы развёртывания моделей
Четыре паттерна развёртывания модели: онлайн REST API, батч, стриминг и edge — когда какой выбрать.
- Обзор serving-инструментов
Обзор инструментов сервинга: FastAPI, BentoML, Triton, TF Serving — их ниши и когда какой выбрать.
- Инференс-сервис на FastAPI
Как устроен инференс-эндпоинт на FastAPI: загрузка модели при старте, валидация запроса, predict и health-check.
- Масштабирование инференса
Масштабирование инференса: батчинг запросов, горизонтальный автоскейлинг и эффективное использование GPU.
- Способы развёртывания моделей
6 Мониторинг и дрейф
- Мониторинг моделей в продакшне
Три уровня мониторинга ML-модели: операционный, по данным и по качеству предсказаний — что и зачем измерять.
- Дрейф данных: KS-тест и PSI
Как статистически обнаружить дрейф данных: KS-тест и PSI (Population Stability Index) — расчёт и интерпретация.
- Концепт-дрейф
Концепт-дрейф: изменение связи между признаками и целью; чем отличается от дрейфа данных и как его обнаружить.
- Что логировать в проде
Что логировать для ML-сервиса: вход, предсказание, версию модели, латентность и метаданные — для дебага, аудита и дрейфа.
- Мониторинг моделей в продакшне
7 Релизы и переобучение
- A/B-тесты и канареечный деплой
Безопасный выкат модели: канареечный деплой (доля трафика) и A/B-тест (статистическое сравнение версий на метрике бизнеса).
- Rollback и shadow-деплой
Rollback (быстрый откат к прошлой версии) и shadow-деплой (теневой прогон новой модели без влияния на ответы).
- Переобучение: триггеры и человек в цикле
Переобучение моделей: триггеры (расписание, дрейф, падение качества), автоматизация и роль человека в цикле.
- A/B-тесты и канареечный деплой
8 Оркестрация, инфраструктура и LLMOps
- Оркестрация пайплайнов
Оркестраторы ML-пайплайнов: Airflow, Kubeflow и Prefect — что такое DAG, зачем оркестрация и когда какой выбрать.
- Инфраструктура и управление для ML
Инфраструктура ML: облако и Kubernetes, GPU-ресурсы, IaC, а также governance — управление доступом, аудит и воспроизводимость.
- LLMOps: специфика LLM в проде
LLMOps: чем эксплуатация больших языковых моделей отличается от классического MLOps — промпты, RAG, оценка, стоимость, галлюцинации.
- Типичные ошибки MLOps
Разбор частых провалов MLOps: training-serving skew, отсутствие мониторинга, ручной деплой, нет воспроизводимости и версионирования.
- Оркестрация пайплайнов