Репозиторий публикует структуру курса, оценочные материалы и методическую поддержку по дисциплине Основы MLOps.
- Вуз: Московский технический университет связи и информатики (МТУСИ)
- Направление подготовки:
09.03.01 Информатика и вычислительная техника - Профиль:
ТОП-ИИ: Инженерия систем искусственного интеллекта - Квалификация: бакалавр
- Форма обучения: очная
- Семестр: 5
- Трудоемкость:
3 з.е. / 104 академических часа - Форма промежуточной аттестации:
зачет
Дисциплина формирует практические навыки MLOps для полного жизненного цикла систем машинного обучения: подготовки воспроизводимого окружения, контейнеризации, CI/CD, логирования экспериментов, версионирования данных и моделей, развертывания, мониторинга и сопровождения ML-сервисов.
- Сформировать представление об MLOps как совокупности практик DevOps, Data Engineering и ML Engineering.
- Научить создавать воспроизводимые ML-окружения и контейнеризированные сервисы.
- Освоить автоматизацию проверок качества, тестирования и поставки через CI/CD.
- Научить управлять экспериментами, датасетами, моделями и артефактами на всем жизненном цикле ML.
- Освоить развертывание моделей в виде API-сервисов и мониторинг их работы.
Пререквизиты: Программная инженерия, Основы машинного обучения, Программирование (Python), Управление данными
Кореквизиты: DevOPS, Облачные технологии и платформы больших данных
Постреквизиты: Технологии распознавания естественного языка, Мультиагентные системы
- Описание модуля
- Лабораторная работа 01: Docker и настройка воспроизводимого окружения
- Лабораторная работа 02: Создание Docker-образа и работа с контейнерами
- Лабораторная работа 03: Создание CI/CD pipeline для ML-проекта
- Описание модуля
- Лабораторная работа 04: Реализация ML pipeline от данных до модели
- Лабораторная работа 05: Логирование экспериментов с MLflow
- Лабораторная работа 06: Отслеживание изменений в моделях и данных с DVC
- Описание модуля
- Лабораторная работа 07: Сервис на FastAPI для модели
- Лабораторная работа 08: Мониторинг модели с Prometheus и Grafana
По итогам освоения дисциплины студент должен уметь:
- Выбирать и обосновывать стек MLOps-инструментов для обучения и эксплуатации модели.
- Строить воспроизводимые ML-pipeline и отслеживать эксперименты и артефакты.
- Версионировать датасеты, модели и этапы pipeline в контролируемом виде.
- Развертывать модели как сопровождаемые API-сервисы.
- Контролировать состояние сервиса и ранние признаки деградации модели.
- Документировать архитектуру и жизненный цикл ML-решения, оценивать эксплуатационные риски и предлагать меры по обеспечению его надёжности, безопасности и этичного применения.
- Текущий контроль: 8 лабораторных работ с выполнением и защитой
- Рубежный контроль по модулям не предусмотрен: отдельные модульные контрольные работы, коллоквиумы и проверки не проводятся и не влияют на итоговый балл.
- Допуск к зачету: выполнены и защищены все лабораторные работы
- Промежуточная аттестация: материалы зачета
- Максимум: 100 баллов
- Порог успешного прохождения: 60 баллов
- Полная интерактивная трассировка элемента, компетенции, индикатора, уровня, дескриптора, формы контроля, КИМ и ресурса: модель измерения
- Детальные правила ЛР: рубрики
- Рабочая программа дисциплины
- Сверка КРМ и РПД
- Модель измерения
- Методические указания
- Подборка ресурсов
- Исполняемый учебный baseline
- Чек-лист готовности репозитория
sources/содержит актуальные и архивные версии исходных материалов, на основе которых собрана опубликованная структура.- Для локального baseline требуется Nix development shell; Docker Compose нужен только для полного контура наблюдаемости.
Оригинальные учебные, методические и оценочные материалы лицензированы по CC BY 4.0. Исполняемый baseline и другой оригинальный программный код лицензированы по MIT. Правообладатель: Команда проекта «Основы MLOps». Архивные и внешние материалы сохраняют указанные в них условия использования.
uv поставляется только из Nix development shell. Поддерживаются Linux, macOS на Apple Silicon и WSL 2 с Nix, установленным внутри Linux-дистрибутива; Intel macOS не поддерживается, так как используемый nixpkgs прекращает эту платформу. В корне репозитория выполните nix develop, затем в resources/reference-mlops-project/ - uv sync --extra dev и uv run ./scripts/verify.sh.
Nix shell предоставляет Python 3.12 с пакетом openpyxl, uv, Git, lychee и вспомогательные инструменты, но не Docker daemon, Prometheus, Grafana или MLflow server. На macOS Docker Desktop должен быть установлен и запущен на хосте. В WSL 2 для Docker Compose включите WSL integration в Docker Desktop либо настройте совместимый Linux Docker daemon.