Чего ждать в MLFlow 2.0: конвейеры от Databricks

Автор Категория ,
Чего ждать в MLFlow 2.0: конвейеры от Databricks

В линейке продуктов Databricks не только облачная платформа аналитики больших данных на базе Apache Spark. В портфолио компании также присутствует популярный MLOps-инструмент под названием MLflow, последний релиз которого (1.27.0) вышел 1 июля 2022 года. Однако, разработчики уже анонсировали в мажорный выпуск новой версии MLOps-фреймворка с открытым исходным кодом. Читайте далее, чего ждать от MLflow 2.0 и как это поможет в Data Science проектах.

Что такое MLflow: краткий обзор популярного MLOps-инструмента

MLflow — это платформа для оптимизации разработки машинного обучения, включая отслеживание экспериментов, упаковку кода в воспроизводимые прогоны, а также совместное использование и развертывание моделей. MLflow предлагает набор облегченных API-интерфейсов, которые можно использовать с любым существующим приложением или библиотекой машинного обучения (TensorFlow, PyTorch, XGBoost и т. д.), где бы вы ни запускали код машинного обучения (например, в блокнотах, автономных приложениях или облаке). Текущие компоненты MLflow:

  • Tracking – API для регистрации параметров, кода и результатов экспериментов по машинному обучению и их сравнения с использованием интерактивного пользовательского интерфейса;
  • Projects – формат упаковки кода для воспроизводимых запусков с использованием Conda и Docker, чтобы разработчик ML-модели мог делиться своим с коллегами;
  • Models – формат упаковки модели и инструменты, которые позволяют легко развертывать одну и ту же модель из любой ML-библиотеки для пакетной оценки и оценки в реальном времени на разных платформах (Docker, Apache Spark, Azure ML и AWS SageMaker);
  • Model Registry – централизованное хранилище моделей MLflow, набор API и пользовательский интерфейс для совместного управления их полным жизненным циклом.

Будучи написанном на Python, MLflow предоставляет его API, но не зависит от библиотек: его можно использовать с любой ML-библиотекой и на любом языке программирования, поскольку все функции доступны через REST API и CLI. Что нового ожидается в мажорном релизе этого фреймворка, рассмотрим далее.

Новинки версии 2.0: автоматизация разработки и тестирования ML-конвейеров

В выпуске MLflow 2.0 будут представлены конвейеры, чтобы сократить время производства и улучшить масштабирование моделей за счет стандартизации алгоритмов и процессов их разработки. MLflow Pipelines предлагает специалистам по Data Science предварительно определенные, готовые к работе шаблоны на основе типа модели, которую они создают, что позволяет им надежно запускать и ускорять разработку модели без участия дата-инженеров. В фреймворк будут добавлены следующие компоненты:

  • Pipeline (Конвейер)каждый конвейер состоит из шагов и плана того, как они связаны для выполнения сквозных операций машинного обучения, таких как обучение модели или применение пакетного вывода. Конвейер разбивает сложный MLOps-процесс на несколько шагов, над которыми каждая команда может работать независимо.
  • Steps (Шаги) — это управляемые компоненты, которые выполняют одну задачу, например прием данных или преобразование функций. Эти задачи часто выполняются с разной частотой во время разработки модели. Шаги связаны через четко определенный интерфейс для создания конвейера и могут повторно использоваться в нескольких конвейерах. Шаги можно настроить с помощью конфигурации YAML или кода Python.
  • Pipeline templates (Шаблоны конвейеров), которые обеспечивают взвешенный подход к решению отдельных задач или операций машинного обучения, таких как регрессия, классификация или пакетный вывод. Каждый шаблон включает предопределенный конвейер со стандартными шагами. MLflow предоставляет встроенные шаблоны для распространенных проблем машинного обучения, а команды могут создавать новые шаблоны конвейера в соответствии со своими потребностями.

Конвейеры MLflow позволят команде Data Science создавать код ML производственного уровня, который можно развернуть практически без рефакторинга. Решение привносит принципы модульности, тестируемости, воспроизводимости и разделения кода и конфигурации в машинное обучение, сохраняя при этом код доступным для всей команды Data Science проекта. Конвейеры MLflow гарантируют воспроизводимость в разных средах, обеспечивая согласованные результаты на ноутбуке разработчика, модулях данных или других облачных средах. А единая структура проекта, модульный код и стандартизированные интерфейсы позволят рабочей группе легко интегрировать корпоративные механизмы для развертывания кода машинного обучения согласно корпоративным практикам развертывания производственного кода.

MLflow Pipelines предоставляет шаблоны, упрощающие загрузку и создание конвейеров машинного обучения для решения типичных проблем машинного обучения. Шаблоны формируют конвейер с предопределенным графиком и шаблонным кодом. Затем можно настроить отдельные шаги, используя конфигурацию YAML или Python-код. Каждый шаг также поставляется с автоматически сгенерированной картой шагов, которая обеспечивает готовые визуализации, что пригодится при отладке и устранении неполадок, например, графики важности функций и выделение наблюдений с большими ошибками прогнозирования. Также можно создавать собственные шаблоны и делиться ими с командой.

MLflow Pipelines ускоряет разработку модели, запоминая шаги и повторно запуская только те части конвейера, которые действительно необходимы. При обучении моделей разработчику необходимо провести несколько экспериментов для проверки различных типов моделей или гиперпараметров, причем каждый эксперимент часто лишь немного отличается от другого. Запуск полного конвейера обучения каждый раз для каждого эксперимента приводит к трате времени и вычислительных ресурсов. MLflow Pipelines автоматически обнаруживает неизмененные шаги и повторно использует их выходные данные из предыдущего запуска, что делает эксперименты быстрее и эффективнее.

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

В заключение отметим, что разработчики Databricks пока не объявили точной даты, когда выйдет обновленный MLOps-фреймворк с этими новыми полезными фичами. Однако, мы будем старательно следить за новостями и оперативно сообщим вам о свежем релизе. А пока напоминаем, что освоить инструменты и лучшие практики MLOps для эффективной аналитики больших данных вам помогут специализированные курсы в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

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

Источники

  1. https://github.com/mlflow/mlflow
  2. https://databricks.com/blog/2022/06/29/introducing-mlflow-pipelines-with-mlflow-2-0.html
  3. https://medium.com/@devesh.k.chaubey/mlflow-2-0-9f57f7650f83