2024/2025
Запуск ML моделей в промышленной среде
Статус:
Маго-лего
Когда читается:
1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Борисенко Глеб Витальевич
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
Целями освоения дисциплины является формирование у студентов комплекса теоретических знаний и методологических основ в области технологий построения пайплайнов для обслуживания ML-моделей: как работа с данными, так и работа с моделями в промышленных условиях, а также практических навыков, необходимых для использования применяемых для этих задач инструментов.
Цель освоения дисциплины
- Формирование комплекса теоретических знаний и методологических основ в области технологий построения пайплайнов для обслуживания ML-моделей
- Формирование практических навыков, необходимых для использования применяемых для этих задач инструментов
Планируемые результаты обучения
- Контролировать все зависимости модели (версионирование, данные, веса, метрики)
- Уметь писать структурированный, чистый и качественный код
- Автоматизировать ручную работу по выводу модель в промышленную среду
- Уметь написать рабочий чистый и задокументированный код
- Уметь написать достаточно полные тесты на код
- Уметь чисто и корректно работать с БД в Python
- Владеть навыками проектирования CI/CD пайплайна
- Владеть навыками упаковки приложения в контейнер и автоматизированного поднятия этого контейнера
- Уметь разработать сервис на Python
Содержание учебной дисциплины
- Введение в MLOps, структура общего пайплайна работы модели
- Работа с кодом: зависимости, poetry, культура кода, паттерны, линтеры, форматеры, треды и процессы, IPC
- Архитектуры взаимодействия с веб-сервисом: немного о сетях, REST API, gRPC, поток и батч
- Построение веб сервиса на Python: Flask, FastAPI, Swagger, Streamlit, Bootstrap
- Версионирование кода и артефактов
- Виртуализация и промышленный кластер: Docker, Kubernetes
- Тестирование и документирование: pytest, виды тестирования
- Автоматизация тестирования и запуска моделей: Airflow, Kubeflow, MLFlow, Neptune, Gitlab, Jenkins
- Версионирование и валидация данных: DVC, тесты
- Мониторинг работы системы: Prometheus, Grafana
- Потоки данных: Kafka, Flink, Feature Store
- Развертывание приложения: виды развертывания, Ansible + Terraform
- Облачные технологии: Heroku, AWS, Azure, Google Cloud, Sber Cloud, Yandex Cloud
Промежуточная аттестация
- 2024/2025 2nd module1/3 * Домашнее задание 1 + 1/3 * Домашнее задание 2 + 1/3 * Домашнее задание 3