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

Анализ данных

Когда читается: 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 системы
Элементы контроля

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

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

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

  • 2024/2025 4th module
    0.54 * Домашние задания + 0.46 * Экзамен
Список литературы

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

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

  • 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

Авторы

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