• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Deploying ML Models

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Delivered at:
Joint Department with Sberbank ‘Financial Technologies and Data Analysis’
Course type:
Elective course
When:
2 year, 1, 2 module

Instructor


Borisenko, Gleb

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

Аннотация

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

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

  • 2024/2025 2nd module
    1/3 * Домашнее задание 1 + 1/3 * Домашнее задание 2 + 1/3 * Домашнее задание 3
Список литературы

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

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

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

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

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

Авторы

  • Яковлева Илона Александровна