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


Добавление ресурса эксперимента MLflow в приложение Databricks

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

При добавлении эксперимента MLflow в качестве ресурса приложение может:

  • Ведение журналов обучения с параметрами и метриками
  • Получение данных эксперимента и сравнение производительности модели
  • Доступ к метаданным эксперимента и журналу выполнения
  • Программное управление жизненным циклом машинного обучения

Добавление ресурса эксперимента MLflow

Перед добавлением эксперимента MLflow в качестве ресурса просмотрите предварительные требования к ресурсу приложения.

  1. При создании или изменении приложения перейдите к шагу "Настройка ".
  2. В разделе "Ресурсы приложения" нажмите кнопку +Добавить ресурс.
  3. Выберите эксперимент MLflow в качестве типа ресурса.
  4. Выберите эксперимент MLflow из списка доступных экспериментов в рабочей области.
  5. Выберите соответствующий уровень разрешений для приложения:
    • Может прочитать: Предоставляет приложению разрешение на просмотр метаданных эксперимента, запусков, параметров и метрик. Используется для приложений, отображающих результаты эксперимента.
    • Может изменяться: Предоставляет приложению разрешение на изменение параметров эксперимента и метаданных.
    • Может управлять: Предоставляет приложению полный административный доступ к эксперименту.
  6. (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на эксперимент в конфигурации приложения. Ключ по умолчанию — experiment.

При добавлении ресурса эксперимента MLflow:

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

Переменные среды

При развертывании приложения с ресурсом эксперимента MLflow Azure Databricks предоставляет идентификатор эксперимента через переменные среды, к которому вы можете обратиться через поле valueFrom в конфигурации app.yaml.

Пример конфигурации:

env:
  - name: MLFLOW_EXPERIMENT_ID
    valueFrom: experiment # Use your custom resource key if different

Использование идентификатора эксперимента в приложении:

import os
import mlflow

# Access the experiment using the injected environment variable
experiment_id = os.getenv("MLFLOW_EXPERIMENT_ID")

# Set the experiment for tracking
mlflow.set_experiment(experiment_id=experiment_id)

# Log parameters and metrics
with mlflow.start_run():
    mlflow.log_param("learning_rate", 0.01)
    mlflow.log_metric("accuracy", 0.95)
    mlflow.log_artifact("model.pkl")

Дополнительные сведения см. в разделе "Доступ к переменным среды" из ресурсов.

Удаление ресурса эксперимента MLflow

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

Лучшие практики

Следуйте приведенным ниже рекомендациям при работе с ресурсами эксперимента MLflow:

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