Шаблон стека MLOps-инструментов и ТОП-5 практик его внедрения

MLOps инструменты проектирование конвейера примеры курсы обучение, курсы дата-инженеров ML, Machine Learning для инженеров и архитекторов примеры курсы обучение, архитектура и инфраструктура MLOps, Школа Больших Данных Учебный Центр Коммерсант

Как внедрить ключевые идеи MLOps и определиться с набором инструментов для непрерывной разработки и поставки систем машинного обучения. Лучшие практики и шаблон представления техстека.

С чего начать: определение структуры проекта

Напомним, концепция MLOps ориентирована на устранение организационных и технических разрывов между разнопрофильными участниками процессов создания систем машинного обучения. Когда речь заходит о межпроцессном взаимодействии, неудивительно, что для успеха подобных коммуникаций они должны быть, как минимум, определены. В частности, MLOps легче внедрить, когда структура ML-проекта четко организована, включая следующие компоненты:

  • проектная база знаний, в которой собраны исходные требования от заказчика, доменные и технические ограничения, варианты решений;
  • система управления требованиями и задачами;
  • репозиторий кода и данных;
  • правила именования функций и датасетов;
  • правила взаимодействия с определением канала коммуникаций и области ответственности каждого члена команды;
  • конфигурации сред разработки, тестирования и развертывания;
  • система контроля версий, например, Git для кода и dvc для данных, чтобы отслеживать изменения;
  • репозиторий идей по улучшению документации и коммуникаций.

Стек MLOps-инструментов

Понимая функциональные и нефункциональные требования к итоговому продукту, техлид принимает решение об используемых технологиях, учитывая опыт команды. Например, здесь мы писали, почему Kubeflow больше подходит для больших команд, разрабатывающих собственные ML-решения, а MLflow будет отличным выбором для отдельных Data Scientist’ов, которые работают над отслеживанием экспериментов и созданием моделей Machine Learning. Чтобы визуализировать выбранный стек и спроектировать необходимый MLOps-конвейер, можно интерактивно определить стек технологий, используя сервис MyMLOps или воспользоваться статическим шаблоном от Valohai.

MLOps tech stack template
Шаблон стека MLOps-инструментов

Хотя статическая картинка уступает интерактивной схеме на платформе MyMLOps, она позволяет визуализировать выбранные технологии и построить MLOps-конвейер. А чтобы обосновать выбор технологического стека, целесообразно сопроводить графическую схему текстовой таблицей:

MLOps-компонент

Требования

Выбранный инструмент

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

·       поддержка Python

·       локальная работа

·       совместная работа в облаке

Jyputer Notebook

Отслеживание экспериментов

·       трекинг параметров

·       упаковка ML-модели в транспортируемый формат

MLflow

Хранилище фичей

·       версионирование фичей

·       поддержка потоковой обработки

Feast

Репозиторий кода

·       версионирование

·       поддержка CI/CD

GitLab

Оркестрация ML-конвейера

·       запуск заданий по расписанию

·       поддержка Python

Apache AirFlow

Хранилище метаданных

·       версионирование

·       неограниченный объем

AWS S3

Реестр моделей

·       отслеживание происхождения модели

·       версионирование

MLflow

Обслуживание ML-моделей

·       автоматическое масштабирование рабочих процессов

·       облачное развертывание ML-моделей

ClearML

Мониторинг ML-моделей

·       автоматическое логирование

·       визуализация показателей на дэшбордах

ClearML

В качестве примера представим стек технологий MLOps-платформы Valohai, разработчики которой предложили вышепоказанный шаблон:

  • Jupyter Notebook для анализа данных и экспериментов;
  • Tecton для хранилища фичей;
  • GitLab для репозиториев кода;
  • Fiddler Labs для мониторинга моделей;
  • Valohai для обучения конвейеров, обслуживания моделей и связанных с ними хранилищ.
MLOps Valohai
Стек инструментов MLOps-платформы Valohai

Разумеется, выбранный набор инструментов должен быть достаточно компактным, чтобы сократить накладные расходы на использование и интеграции разных технологий между собой. Из этого тезиса выходит следующая рекомендация по внедрению MLOps.

Отслеживание расходов и стандартизация подходов

Одна из целей внедрения MLOps – это сокращение техдолга. Однако, это не должно достигаться за счет чрезмерных трат на MLOps-инструменты. Многие MLOps-средства основаны на подписке или оплате по факту использования. Платные сервисы обычно гораздо удобнее open-source инструментов, которые следует настраивать. Но, выбирая коммерческий инструмент, следует понимать, какую экономию времени он принесет, повышая итоговую ценность создаваемого продукта. Важно считать и отслеживать расходы, сопоставляя их с выручкой от создаваемой ML-системы.

Помимо мониторинга финансовых расходов, надо стремиться к сокращению временных затрат, включая потери продуктивности из-за рассинхронизации подходов к именованию функций, фичей, переменных, скриптов и пр. Подобная стандартизация должна применяться не только к соглашениям об именах, но и ко всем правилам и процедурам MLOps-конвейера, включая процессы анализа и обработки данных, используемые среды, создаваемые артефакты и пр.

Наконец, именно стандартизация подходов является основой для оценки зрелости MLOps. О том, какие бывают модели оценки зрелости MLOps и как их применить к своим проектам, мы рассказывали здесь и здесь.

Узнайте больше про использование MLOps-инструментов в системах аналитики больших данных и машинного обучения на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://www.kdnuggets.com/2023/04/mlops-best-practices-know.html
  2. https://valohai.com/blog/the-mlops-stack/
Поиск по сайту