• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Разработка и эксплуатация моделей машинного обучения

Статус: Маго-лего
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 60

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

Аннотация

Курс предназначен для разработчиков, желающих углубить знания в области машинного обучения (ML) и освоить ключевые инструменты для работы с ML-системами. Программа охватывает полный цикл разработки: от подготовки данных до развертывания и мониторинга моделей. Студенты познакомятся с методологией CRISP-ML, инструментами управления данными (DVC, Git), базами данных (реляционными, объектными, векторными), а также освоят трекинг экспериментов с MLFlow. Научатся контейнеризировать приложения с помощью Docker и настраивать развертывание в Kubernetes. Особое внимание будет уделено CI/CD процессам и мониторингу ML-систем с использованием Prometheus и Grafana. Практические задания включают настройку хранилищ данных, автоматизацию с Airflow, развертывание моделей, создание REST API и настройку мониторинга. Завершает курс защита проекта и тренировка технических собеседований. При обучении предусмотрен контроль знаний студентов в виде проектной работы и промежуточных контролей, сумма баллов за которые составляет итоговую оценку за курс.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью освоения дисциплины является формирование у студентов теоретических знаний и практических навыков, необходимых для полного цикла работы с ML-системами: от подготовки данных и создания моделей до их развертывания, мониторинга и автоматизации процессов.
Планируемые результаты обучения

Планируемые результаты обучения

  • Способен получать, очищать, анализировать и визуализировать большие объёмы данных
  • Способен реализовывать модели и алгоритмы прикладной математике в виде компьютерных программ
  • Знает методологию CRISP-ML, устройство разработки ML проекта.
  • Знает о наиболее распространенных хранилищах, базах данных
  • Знает локальные и распределенные файловые системы, базы данных: реляционные, объектные
  • Знает о подходах к версионированию данных (кода, датасетов, моделей)
  • Знает, что такое разметка данных, зачем нужна и в каких ситуациях
  • Умеет версионировать данные с помощью связки инструментов dvc + git
  • Знает, что такое векторный движок, векторная база данных, key-value база данных
  • Знает, что такое ML эксперимент, как его ставить, какие данные об эксперименте нужно сохранять, чтобы этот эксперимент можно было повторить
  • Знает о типичных инструментах для трекинга, анализа эксперимента таких как MLFlow, KubeFlow + TensorBoard
  • Знает, что такое Docker, Kubernetes, что это за инструменты, для чего используются, какие проблемы решают, базово про их устройство
  • Знает, что такое http запрос, REST API, о том как можно обернуть модель в REST сервис
  • Умеет выполнять базовые команды Docker, как собирать, загружать образы, Dockerfile, docker-compose
  • Умеет делать базовое web приложение на Flask/FastAPI
  • Знает о подходах к обертке модели в сервис посредством готовых инструментов
  • Знает, в чем плюсы и минусы в сравнении с собственной реализацией, области применения
  • Знает о различных форматах представления, экспорта моделей, способов их оптимизации, в том числе на ГПУ
  • Умеет использовать и синхронизировать потоки
  • Знает о том, что такое регулярные расчеты, ETL, потоковая и батчевая обработка данных
  • Знает про инструменты запуска регулярных расчетов (Airflow), обработки потоковых данных (Kafka), их принципы работы
  • Знает про типичные задачи, которые решаются этими инструментами
  • Знает, в чем состоит концепция CI/CD, чем он может быть полезен, какие типичные сценария применения в рабочих процессах
  • Умеет настраивать CI/CD пайплайны в рамках gitlab
  • Знает, зачем нужно настраивать мониторинг своих сервисов, какие обычно метрики отслеживают, в том числе и ML специфичные
  • Знает о базовых концепциях аб тестирования
  • Умеет настраивать дашборды с метриками
  • понимает, на какие процессы раскладывается жизненный цикл ML моделей (crisp-ml) и их роль в обеспечении эффективной работы ML моделей
  • Уметь работать с виртуальными окружениями в контексте python-проекта (venv/poetry/uv).
  • Понимать, что такое контейнеризация и в чем её преимущества для развертывания приложений.
  • Понимать как устроен Docker, основные концепции, может собрать образ, запустить, работать с контейнерами.
  • Понимать принцип работы Docker Compose и его использование для управления мультиконтейнерными приложениями.
  • Понимать концепцию container registry и умеет работать с gitlab container registry.
  • Уметь получать данные из s3 и других баз данных; знать жизненный цикл данных, в каких системах "живут" данные; знать, чем системы управления базами данных различаются и как выбрать подходящую для задачи.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в Python
  • Библиотека Numpy
    Д/З: написание типовых конструкций с использованием выражений-генераторов и функций.
  • Библиотека Pandas
    Д/З: написать программу для скачивания информации о самых популярных 5000 книг из раздела "Художественная литература" магазина "Relod" с использованием библиотек BeautifulSoup и/или lxml.
  • Визуализация данных
  • Углубленный Python. Часть 1
  • Углубленный Python. Часть 2
  • Парсинг данных с помощью Python
  • Введение в статистику - 1
    Д/З: Мини-проект по анализу данных
  • Введение в статистику - 2
  • Временные ряды
    Д/З: Kaggle Inclass
  • Введение в SQL
  • Введение
  • Хранилища данных, сбор и версионирование данных
  • Хранилища данных: векторные движки, key-value хранилища
  • Воспроизводимость в ML
  • Развертка моделей: часть 1
  • Развертка моделей: часть 2
  • Регулярный запуск расчетов, потоковая обработка
  • CI/CD: тестирование, автоматизация операций
  • Мониторинг ML системы
  • MLOps: инструменты разработки
  • Работа с данными, хранилища, БД
Элементы контроля

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

  • неблокирующий SUM_11_ДОМАШНИХ ЗАДАНИЙ
  • блокирующий Экзамен
Промежуточная аттестация

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

  • 2026/2027 4th module
    Формула оценивания: SUM_11_ДОМАШНИХ ЗАДАНИЙ + ЭКЗАМЕН (ЗАЩИТА ПРОЕКТА) Правила округления: 10 –от 95 до 100, 9 –от 85 до 94, 8 –от 80 до 84, 7 – от 65 до 79, 6 –от 60 до 64, 5 –от 45 до 59, 4 –от 40 до 44, 3 –от 25 до 39, 2 –от 15 до 24, 1 –от 5 до 14, 0 –от 0 до 4
Список литературы

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

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

  • Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
  • Noah Gift, & Alfredo Deza. (2021). Practical MLOps: Vol. First edition. O’Reilly Media.
  • Provost, Foster, Fawcett, Tom. Data Science for Business: What you need to know about data mining and data-analytic thinking. – " O'Reilly Media, Inc.", 2013.
  • Python и анализ данных, Маккинни, У., 2015
  • Бененсон, М. З. Информационные системы, базы и хранилища данных : методические указания / М. З. Бененсон, С. А. Сорокин. — Москва : РТУ МИРЭА, 2024. — 37 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/405209 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Введение в анализ данных : учебник и практикум для вузов, Миркин, Б. Г., 2015
  • Графовые базы данных : новые возможности для работы со связанными данными, Робинсон, Я., 2016
  • Использование Docker : разработка и внедрение программного обеспечения при помощи технологии контейнеров, Моуэт, Э., 2017
  • Маккинни, У. Python и анализ данных / У. Маккинни , перевод с английского А. А. Слинкина. — 2-ое изд., испр. и доп. — Москва : ДМК Пресс, 2020. — 540 с. — ISBN 978-5-97060-590-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/131721 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • 9781491912140 - Vanderplas, Jacob T. - Python Data Science Handbook : Essential Tools for Working with Data - 2016 - O'Reilly Media - https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1425081 - nlebk - 1425081
  • Изучаем Python. Программирование игр, визуализация данных, веб-приложения. 2-е изд. - 978-5-4461-0479-6 - Мэтиз Э. - 2017 - Санкт-Петербург: Питер - https://ibooks.ru/products/355480 - 355480 - iBOOKS

Авторы

  • Сластников Сергей Александрович
  • Юнышева Анастасия Владимировна
  • Крепкер Виктор Алексеевич