Часть 1. Задачи и инструменты машинного обучения
Цель:
-
- дать представление о постановках задач машинного обучения, а также современных методах и инструментах их решения;
- продемонстрировать отличия от задач, для решения которых достаточно классических методов и алгоритмов (без ML)
Теоретическая часть: погружаемся в классические постановки задач машинного обучения, методы их решения, метрики качества для оценки точности результатов, знакомимся с инструментами
Практическая часть: осваиваем инструментарий и настраиваем среды разработки, решаем небольшой набор ознакомительных задач
Домашняя работа: решение задачи классификации/регрессии.
Часть 2. Основные этапы разработки ML-решений: от прототипа до подготовки к production
Цель:
-
- продемонстрировать подходы к прототипированию и основные требования, которым должен удовлетворять прототип;
- показать этапы доработки прототипа при подготовке MVP;
- дать представление о возможных подходах к интеграции решения в продуктивной среде;
Теоретическая часть: демонстрация процесса разработки ML-решения, от сбора данных до сериализации ML-модели.
Практическая часть: пример построения сквозного ML-решения.
Домашняя работа: построение индивидуального сквозного ML-решения.
Часть 3. MLOps. Экосистема разработки ML-продуктов
Цель:
-
- продемонстрировать необходимость инструментов командной разработки ML-решений;
- показать этапы доработки прототипа при подготовке MVP;
- дать представление о возможных подходах к интеграции решения в production;
Теоретическая часть: демонстрация примеров необходимости внедрения MLOps- инструментов.
Практическая часть: используем Git, MLFlow и dvc в сквозном примере.
Домашняя работа: используем Git, MLFlow и dvc в индивидуальном сквозном ML-решении
Часть 4. Подходы к работе с данными на каждом этапе разработки ML-решений
Цель:
-
- показать основные типы данных и методы работы с ними;
- продемонстрировать подходы к поиску, хранению и обработке данных на этапах разработки ML-решений;
- основные вопросы разметки данных и их подготовки для обучения и использования в production
Теоретическая часть: знакомимся с данными в виде таблиц, текста, картинок, аудио. Отвечаем на вопросы как и чем обрабатывать и производить разметку в каждом отдельном случае. Погружаемся в мир Pandas, PostgreSQL, Apache Spark, Hive для обработки и хранения данных. Смотрим на AirFlow как на инструмент для планирования и выполнения задач по обработке данных.
Практическая часть: продолжаем развитие сквозного ML-решения, увеличиваем объем данных, переезжаем в БД, размечаем данные, настраиваем AirFlow на процесс получения и подготовки данных для обучения.
Домашняя работа: развиваем индивидуальное сквозное ML-решение.
Часть 5. Обзор архитектурных решений для интеграции в production. Использование облачных сервисов
Цель:
-
- показать основные подходы по интеграции решений в production: монолит или микросервисы, высоконагруженные системы, локальный сервер или облачная платформа;
- продемонстрировать плюсы и минусы использования облачных сервисов на каждом этапе разработки ML-решений;
- погрузиться в особенности микросервисных архитектур c использованием контейнеризации;
- проработать вопрос использования коробочных решений на примере TF serving;
- интегрировать решение на облачную платформу Yandex Cloud.
Теоретическая часть: знакомимся с интеграцией в production. Рассмотрим различные варианты архитектур ML-решений. Рассматриваем микросервисную архитектуры с использованием контейнеризации (Docker и K8s). Интеграция с Yandex Cloud.
Практическая часть: упаковываем сквозное ML-решение в контейнер и отправляем в AWS, обновляем текущее решение с добавлением TF serving.
Домашняя работа: развиваем индивидуальное сквозное ML-решение.
Часть 6. Обзор этапов и структуры ML-проекта* (входит в расширенную версию курса — 40 ак.часов)
Цель:
-
- показать весь ML-проект целиком: основные этапы и ресурсы, необходимые для реализации проекта;
- продемонстрировать цикличность в жизненном цикле ML-решения;
- отметить важность мониторинга и дэшбордов для поддержки и развития ML-решений.
Теоретическая часть: подвести итоги и взглянуть на ML-проект в целом: основные составляющие успешного проекта, количество и состав команды на каждом этапе разработки ML-решения, технологии и инструменты для разработки ML-решения и управления ML-проектом. Менеджмент DS-команды.
Практическая часть: настраиваем DVC и MLFlow, создаем репозиторий в Git, разворачиваем CI/CD для сквозного ML-решения.
Домашняя работа: завершаем индивидуальный проект.