Введение в MLOPS (ИИ24, 5 модуль): различия между версиями
Программа курса |
м дз3 |
||
| Строка 38: | Строка 38: | ||
* Развёртывание моделей через MLflow Model Serving | * Развёртывание моделей через MLflow Model Serving | ||
* Пример: HuggingFace модель, интеграция через Flask/FastAPI | * Пример: HuggingFace модель, интеграция через Flask/FastAPI | ||
* | * DockerOperator | ||
* Финальный проект и разбор требований | * Финальный проект и разбор требований | ||
| Строка 49: | Строка 49: | ||
Формула: | Формула: | ||
Итог = ДЗ1 × 0.2 + ДЗ2 × 0.2 + Проект × 0.6 | Итог = ДЗ1 × 0.2 + ДЗ2 × 0.2 + Проект × 0.6 | ||
===Домашнее задание 3 (Финальный проект). End-to-End MLOps c MLflow → Docker → Serving=== | |||
Цель: собрать полноценный конвейер: обучение моделей в Airflow → логирование в MLflow → выбор лучшей версии → сборка Docker-образа → сервинг | |||
Требования к функционалу: | |||
1. Обучение и логирование | |||
* DAG в Airflow обучает ≥2 моделей на одном датасете (можно классический ML, легковесные сетки). | |||
* Логирование метрик, артефактов и самих моделей в MLflow Tracking. | |||
* Регистрация модели в MLflow Model Registry под именем `NAME_SURNAME_MODELTYPE`. | |||
2. Выбор лучшей модели | |||
* Автоматический выбор по метрике (например, ROC-AUC/F1/MAPE). | |||
* Перевод версии в `Staging` или `Production` (правила — на ваше усмотрение). | |||
3. Сборка и публикация Docker-образа | |||
* Сборка PyFunc-сервиса с помощью mlflow. | |||
* Публикация образа в registry. | |||
4. Сервинг | |||
* docker run... | |||
* Проверка через `POST`: | |||
* JSON-ответ согласно формату MLflow PyFunc (`{"inputs": [[...], [...]]}` или DataFrame-подобный формат). | |||
Что сдаём | |||
* Код DAG’а: `dags/*.py`. | |||
Критерии оценивания (60% итоговой оценки курса) | |||
* Точность и воспроизводимость (10%)— читаемый понятный код, запускаемый без дебага, выполняющий все шаги из задания. | |||
* Airflow (20%) — чистая DAG-логика, XCom/Variables/Connections, понятные таски. | |||
* MLflow (20%) — корректное логирование, Registry, промоушен версий. | |||
* Сборка/сервинг (10%) — рабочий образ, публикация в реестр, успешный REST. | |||
Обязательные требования к неймингу Airflow Variables (будут дополнены позже): | |||
* `MLFLOW_TRACKING_URI`, `MODEL_NAME`, `MODEL_STAGE` (Staging/Production), | |||
* `REGISTRY`, `IMAGE_NAME`, `TAG`, | |||
* `CI_REGISTRY_USER`, `CI_REGISTRY_PASSWORD` | |||
Метрики и данные — на ваш выбор. | |||
Версия от 15:19, 9 сентября 2025
Введение в MLOps (ИИ24, 5 модуль)
Аннотация
Курс посвящён практическим инструментам и подходам MLOps, которые позволяют автоматизировать процесс обучения и эксплуатации моделей машинного обучения. Студенты знакомятся с Docker, Airflow и MLflow, учатся строить пайплайны, логировать эксперименты и организовывать сервинг моделей. Практическая часть реализуется на Python.
Цели
- Развернуть окружение для MLOps с помощью Docker и docker-compose.
- Понимать архитектуру Airflow и MLflow.
- Строить DAG’и и использовать XCom для передачи данных.
- Работать с MLflow для логирования экспериментов и организации Model Registry.
- Разворачивать MLflow Tracking Server с внешними хранилищами (S3).
- Использовать MLflow Model Serving для развёртывания моделей.
- Реализовать end-to-end пайплайн: обучение моделей в Airflow + логирование в MLflow.
Структура курса
Вебинар 1. Введение и установка окружения.
- Обзор Архитектуры Airflow&MLFlow
- Docker и docker-compose. Установка Jupyter, Airflow, MLflow. Подключение S3.
Вебинар 2. Airflow для ML-пайплайнов
- Архитектура Airflow (scheduler, worker, executor, база данных)
- DAG: структура, параметры, расписание
- Connections, Variables, Hooks
- XCom и передача данных между задачами
- Примеры DAG для ML
Вебинар 3. MLflow: эксперименты и хранилище моделей
- Архитектура MLflow Tracking Server
- Логирование экспериментов в Jupyter и Airflow
- MLflow Projects и Models
- Model Registry
Вебинар 4. MLflow Model Serving и финальный проект
- Развёртывание моделей через MLflow Model Serving
- Пример: HuggingFace модель, интеграция через Flask/FastAPI
- DockerOperator
- Финальный проект и разбор требований
Система оценивания
- Домашнее задание 1 (Airflow) — 20%
- Домашнее задание 2 (MLflow + Serving) — 20%
- Финальный проект (Airflow + MLflow) — 60%
Формула: Итог = ДЗ1 × 0.2 + ДЗ2 × 0.2 + Проект × 0.6
Домашнее задание 3 (Финальный проект). End-to-End MLOps c MLflow → Docker → Serving
Цель: собрать полноценный конвейер: обучение моделей в Airflow → логирование в MLflow → выбор лучшей версии → сборка Docker-образа → сервинг
Требования к функционалу:
1. Обучение и логирование
- DAG в Airflow обучает ≥2 моделей на одном датасете (можно классический ML, легковесные сетки).
- Логирование метрик, артефактов и самих моделей в MLflow Tracking.
- Регистрация модели в MLflow Model Registry под именем `NAME_SURNAME_MODELTYPE`.
2. Выбор лучшей модели
- Автоматический выбор по метрике (например, ROC-AUC/F1/MAPE).
- Перевод версии в `Staging` или `Production` (правила — на ваше усмотрение).
3. Сборка и публикация Docker-образа
- Сборка PyFunc-сервиса с помощью mlflow.
- Публикация образа в registry.
4. Сервинг
- docker run...
- Проверка через `POST`:
- JSON-ответ согласно формату MLflow PyFunc (`{"inputs": [[...], [...]]}` или DataFrame-подобный формат).
Что сдаём
- Код DAG’а: `dags/*.py`.
Критерии оценивания (60% итоговой оценки курса)
- Точность и воспроизводимость (10%)— читаемый понятный код, запускаемый без дебага, выполняющий все шаги из задания.
- Airflow (20%) — чистая DAG-логика, XCom/Variables/Connections, понятные таски.
- MLflow (20%) — корректное логирование, Registry, промоушен версий.
- Сборка/сервинг (10%) — рабочий образ, публикация в реестр, успешный REST.
Обязательные требования к неймингу Airflow Variables (будут дополнены позже):
- `MLFLOW_TRACKING_URI`, `MODEL_NAME`, `MODEL_STAGE` (Staging/Production),
- `REGISTRY`, `IMAGE_NAME`, `TAG`,
- `CI_REGISTRY_USER`, `CI_REGISTRY_PASSWORD`
Метрики и данные — на ваш выбор.
Литература
- Noah Gift, Alfredo Deza — Practical MLOps. O’Reilly, 2021.
- А. В. Платонов — Машинное обучение. Юрайт, 2023.
- Б. Харенслак — Apache Airflow и конвейеры обработки данных. ДМК Пресс, 2022.