• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2023/2024

Запуск ML моделей в промышленной среде

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Направление: 01.04.02. Прикладная математика и информатика
Когда читается: 2-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Прогр. обучения: Финансовые технологии и анализ данных
Язык: русский
Кредиты: 6
Контактные часы: 56

Программа дисциплины

Аннотация

Целями освоения дисциплины является формирование у студентов комплекса теоретических знаний и методологических основ в области технологий построения пайплайнов для обслуживания 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
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
Промежуточная аттестация

Промежуточная аттестация

  • 2023/2024 учебный год 2 модуль
    1/3 * Домашнее задание 1 + 1/3 * Домашнее задание 2 + 1/3 * Домашнее задание 3
Список литературы

Список литературы

Рекомендуемая основная литература

  • Noah Gift, & Alfredo Deza. (2021). Practical MLOps: Vol. First edition. O’Reilly Media.

Рекомендуемая дополнительная литература

  • Высоконагруженные приложения : программирование, масштабирование, поддержка, Клеппман, М., 2019