MLOps: Разработка и внедрение ML-решений [python school] [Ермилов Дмитрий]

Sky90

VIP складчик
Platinum
Премиум
Администратор
Регистрация
1 Дек 2015
Сообщения
146.012
Реакции
777.031
MLOps: Разработка и внедрение ML-решений

Подходы к разработке ML-решений + средства их реализации и внедрения в production. Вы пройдете все шаги создания ML-продукта от сбора данных до интеграции ML-модели в эксплуатацию. Познакомитесь с популярными инструментами командной разработки: Git, MLFlow, DVC. Узнаете главные архитектуры ML-решений и основы менеджмента DS-проектов*.

Что такое MLOps
Благодаря стремительному развитию машинного обучения, MLOps-инженеры сегодня — одни из самых востребованных и высокооплачиваемых специалистов в области Data Science.

MLOps – это культура и набор практик комплексного и автоматизированного управления жизненным циклом систем машинного обучения, объединяющие их разработку (Development) и операции эксплуатационного сопровождения (Operations), в т.ч. интеграцию, тестирование, выпуск, развертывание и управление инфраструктурой.

MLOps расширяет методологию CRISP-DM с помощью Agile-подхода и технических инструментов автоматизированного выполнения операций с данными, ML-моделями, кодом и окружением. К таким средствам относятся рассматриваемые в нашем курсе Git, MlFlow, DVC. MLOps позволит избежать распространенных ошибок и проблем, с которыми сталкиваются Data Scientist’ы, работающие по классическим фазам CRISP-DM. Организационные приемы MLOps должны быть независимыми от языка, фреймворка, платформы и инфраструктуры.

MLOps поможет улучшить следующие аспекты ML-проектов:


унифицировать цикл выпуска моделей машинного обучения и созданных на их основе программных продуктов;
автоматизировать тестирование артефактов Machine Learning, таких как проверка данных, тестирование самой ML-модели и ее интеграции в production-решение;
внедрить гибкие принципы в проекты машинного обучения; поддерживать модели машинного обучения и наборы данных для их в системах CI/CD/CT;
сократить технический долг по ML-моделям.


Программа курса "MLOps: Разработка и внедрение ML-решений"
Часть 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-решения.
Домашняя работа: завершаем индивидуальный проект.





 
Сверху