MLflow и Машинное обучение Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

MLflow — это платформа с открытым исходным кодом, предназначенная для управления полным жизненным циклом машинного обучения. Его возможность обучать и обслуживать модели на разных платформах позволяет использовать согласованный набор инструментов независимо от того, где выполняются эксперименты: локально на компьютере, на удаленном целевом объекте вычислений, на виртуальной машине или в Машинное обучение Azure вычислительном экземпляре.

Машинное обучение Azure рабочие области совместимы с MLflow, что означает, что вы можете использовать Машинное обучение Azure рабочие области таким же образом, как и сервер MLflow. Эта совместимость имеет следующие преимущества:

  • Машинное обучение Azure не размещает экземпляры сервера MLflow под капотом. Вместо этого рабочая область может говорить на языке API MLflow.
  • Вы можете использовать Машинное обучение Azure рабочие области в качестве сервера отслеживания для любого кода MLflow, независимо от того, работает ли он на Машинное обучение Azure или нет. Вам достаточно настроить в MLflow рабочую область, в которой должно происходить отслеживание.
  • Вы можете выполнить любую подпрограмму обучения, которая использует MLflow в Машинное обучение Azure без каких-либо изменений.

Совет

В отличие от пакета SDK Машинное обучение Azure версии 1, в пакете SDK версии 2 нет функций ведения журнала. Рекомендуется использовать MLflow для ведения журнала, чтобы учебные подпрограммы были не зависящими от облака и переносимыми, удаляя все зависимости от Машинное обучение Azure.

Отслеживание с помощью MLflow

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

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

Использование MLflow в Машинное обучение Azure включает следующие возможности:

Примеры записных книжек

Отслеживание с помощью MLflow в R

Поддержка MLflow в R имеет следующие ограничения:

  • Отслеживание MLflow ограничено отслеживанием метрик эксперимента, параметров и моделей в заданиях Машинное обучение Azure.
  • Интерактивное обучение на RStudio, Posit (прежнее название — RStudio Workbench) или записные книжки Jupyter с ядрами R не поддерживаются.
  • Управление моделями и регистрация не поддерживаются с помощью пакета SDK MLflow R. Вместо этого используйте интерфейс командной строки Машинное обучение Azure или Студия машинного обучения Azure для регистрации и управления моделями.

Дополнительные сведения об использовании клиента отслеживания MLflow с Машинное обучение Azure см. в примерах моделей Train R с помощью интерфейса командной строки Машинное обучение Azure (версии 2).

Отслеживание с помощью MLflow в Java

Поддержка MLflow в Java имеет следующие ограничения:

  • Отслеживание MLflow ограничено отслеживанием метрик и параметров эксперимента в заданиях Машинное обучение Azure.
  • Пакет SDK Java для MLflow не позволяет отслеживать артефакты и модели. Вместо этого используйте папку Outputs в заданиях вместе с методом mlflow.save_model для сохранения моделей (или артефактов), которые требуется записать.

Чтобы узнать об использовании клиента отслеживания MLflow с Машинное обучение Azure, просмотрите пример Java, использующий клиент отслеживания MLflow с Машинное обучение Azure.

Реестры моделей с использованием MLflow

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

Дополнительные сведения об управлении моделями через API MLflow в Машинном обучении Azure см. в статье Управление реестрами моделей в Машинном обучении Azure с помощью MLflow.

Пример записной книжки

Развертывание модели с помощью MLflow

Вы можете развернуть модели MLflow для Машинное обучение Azure и воспользоваться улучшенным интерфейсом при использовании моделей MLflow. Машинное обучение Azure поддерживает развертывание моделей MLflow как в режиме реального времени, так и в пакетных конечных точках без необходимости указывать среду или скрипт оценки. Развертывание поддерживается с помощью пакета SDK MLflow, Машинное обучение Azure CLI, пакета SDK Машинное обучение Azure для Python или Студия машинного обучения Azure.

Дополнительные сведения о развертывании моделей MLflow в Машинное обучение Azure для вывода в режиме реального времени и пакетной обработки см. в руководствах по развертыванию моделей MLflow.

Примеры записных книжек

Обучение с помощью проектов MLflow (предварительная версия)

Важно!

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Задания обучения можно отправлять в службу "Машинное обучение Azure" с помощью проектов MLflow (предварительная версия). Задания можно отправлять локально с помощью отслеживания Машинного обучения Azure или же переносить в облако с помощью вычислительной среды Машинного обучения Azure.

Сведения о отправке заданий обучения с помощью проектов MLflow, использующих Машинное обучение Azure рабочих областей для отслеживания, см. в статье Обучение моделей машинного обучения с помощью проектов MLflow и Машинное обучение Azure.

Примеры записных книжек

Возможности пакета SDK MLflow, Машинного обучения Azure версии 2 и Студии машинного обучения Azure

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

Компонент Пакет SDK для MLflow Машинное обучение Azure CLI/SDK Студия машинного обучения Azure
Отслеживание и регистрация метрик, параметров и моделей
Извлечение метрик, параметров и моделей 1
Отправка заданий обучения 2
Отправка заданий обучения с помощью ресурсов данных Машинное обучение Azure
Отправка заданий обучения с помощью конвейеров машинного обучения
Управление экспериментами и выполнениями
Управление моделями MLflow 3
Управление моделями, не относящимися к MLflow
Развертывание моделей MLflow в Машинное обучение Azure (онлайн и пакетная служба) 4
Развертывание моделей, не относящихся к MLflow, в службе "Машинное обучение Azure"

Примечание.