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


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. Отправка заданий локально с помощью отслеживания машинного обучения Azure или перенос заданий в облако с помощью вычислений Машинного обучения Azure.

Узнайте, как отправлять учебные задания, которые используют проекты MLflow в рабочих областях Azure Machine Learning для отслеживания, в Обучение с проектами MLflow в Azure Machine Learning (предварительная версия).

Примеры записных книжек для проектов 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.