Поделиться через


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

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

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

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

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

Совет

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

Что такое отслеживание

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

Сохраненные метаданные отслеживания зависят от эксперимента и могут включать:

  • Код
  • Сведения о среде, такие как версия ОС и пакеты Python
  • Входные данные
  • Конфигурации параметров
  • Модели
  • Метрики оценки
  • Визуализации оценки, такие как матрицы путаницы и графики важности
  • Результаты оценки, включая некоторые прогнозы оценки

Преимущества экспериментов отслеживания

Можно ли обучать модели с заданиями в Машинное обучение Azure или интерактивно в записных книжках, отслеживание экспериментов поможет вам:

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

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

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

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

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

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

MLflow в Машинное обучение Azure может:

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

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

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

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

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

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

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

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

Примеры записных книжек для отслеживания MLflow

Регистрация модели с помощью MLflow

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

Пример записной книжки для регистрации модели MLflow

Управление моделями с помощью MLflow демонстрирует управление моделями в реестрах.

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

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

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

Примеры записных книжек для развертывания модели MLflow

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

Предупреждение

MLproject Поддержка файлов (MLflow Projects) в Машинное обучение Azure будет полностью прекращена в сентябре 2026 года. MLflow по-прежнему полностью поддерживается и по-прежнему рекомендуется отслеживать рабочие нагрузки машинного обучения в Машинное обучение Azure.

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

Внимание

Эта функция сейчас доступна в виде общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания. Ее не следует использовать для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены.

Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

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

Чтобы узнать, как отправлять задания обучения, использующие проекты MLflow, в Машинное обучение Azure рабочих областей для отслеживания, см. статью "Обучение с помощью проектов MLflow" в Машинное обучение Azure (предварительная версия).<a1/>

Примеры записных книжек для проектов MLflow

MLflow и возможности клиентских средств Машинное обучение Azure

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

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

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

2 . Дополнительные сведения см. в разделе "Развертывание и запуск моделей MLflow" в заданиях Spark.