Магистратура
2024/2025![Цель освоения дисциплины](/f/src/global/i/edu/objectives.svg)
![Планируемые результаты обучения](/f/src/global/i/edu/results.svg)
![Содержание учебной дисциплины](/f/src/global/i/edu/sections.svg)
![Список литературы](/f/src/global/i/edu/library.svg)
Анализ данных
Статус:
Курс обязательный (Прикладные модели искусственного интеллекта)
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 3, 4 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Программа дисциплины
Аннотация
Курс предназначен для разработчиков, желающих углубить знания в области машинного обучения (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 специфичные
- Знает о базовых концепциях аб тестирования
- Умеет настраивать дашборды с метриками
Содержание учебной дисциплины
- Введение
- Хранилища данных, сбор и версионирование данных
- Хранилища данных: векторные движки, key-value хранилища
- Воспроизводимость в ML
- Развертка моделей: часть 1
- Развертка моделей: часть 2
- Регулярный запуск расчетов, потоковая обработка
- CI/CD: тестирование, автоматизация операций
- Мониторинг ML системы
Список литературы
Рекомендуемая основная литература
- 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
- Введение в анализ данных : учебник и практикум для вузов, Миркин, Б. Г., 2015
Рекомендуемая дополнительная литература
- 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