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

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

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

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

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

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

  1. В разделе «Ресурсы приложения» при создании или изменении приложения нажмите + Добавить ресурс>эксперимент MLflow.
  2. Выберите эксперимент MLflow из списка доступных экспериментов в рабочей области.
  3. Выберите соответствующий уровень разрешений для приложения:
    • Может прочитать: Предоставляет приложению разрешение на просмотр метаданных эксперимента, запусков, параметров и метрик. Используется для приложений, отображающих результаты эксперимента.
    • Может изменяться: Предоставляет приложению разрешение на изменение параметров эксперимента и метаданных.
    • Может управлять: Предоставляет приложению полный административный доступ к эксперименту.
  4. (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на эксперимент в конфигурации приложения. Ключ по умолчанию — 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:

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