共用方式為


將 MLflow 實驗資源加入 Databricks 應用程式

MLflow 實驗 加入 Databricks Apps 資源,以啟用應用程式中的機器學習實驗追蹤。 MLflow 實驗提供結構化的方式來組織與記錄訓練執行,追蹤參數、指標及模型開發生命週期中的產物。

當你將 MLflow 實驗作為資源時,你的應用程式可以:

  • 記錄訓練運行,包含參數和指標
  • 擷取實驗資料並比較模型效能
  • 存取實驗元資料與運行歷史
  • 以程式化方式管理機器學習生命週期

新增 MLflow 實驗資源

在你將 MLflow 實驗作為資源前,先先檢視 應用程式資源的前置條件

  1. 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
  2. 應用程式資源 區塊,點擊 + 新增資源
  3. 選擇 MLflow 實驗 作為資源類型。
  4. 從工作區中可用的實驗清單中選擇一個 MLflow 實驗。
  5. 為您的應用程式選取適當的權限層級:
    • 可閱讀: 授權應用程式查看實驗的元資料、運行次數、參數和指標。 用於顯示實驗結果的應用程式。
    • 可以編輯: 授權應用程式修改實驗設定和元數據。
    • 可管理:授權應用程式完整管理權限以管理實驗。
  6. (可選)指定一個自訂資源金鑰,這就是你在應用程式設定中參考實驗的方式。 預設索引鍵是 experiment

當你新增 MLflow 實驗資源時:

  • Azure Databricks 會授予你應用程式的 服務主體 在所選實驗上指定的權限。
  • 該應用程式可透過 MLflow 追蹤 API 記錄訓練執行並存取實驗資料。
  • 存取權限僅限於所選實驗。 除非你把其他實驗加成獨立資源,否則你的應用程式無法存取它們。

環境變數

當你部署帶有 MLflow 實驗資源的應用程式時,Azure Databricks 會透過環境變數公開實驗 ID,你可以在設定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 實驗資源時,請遵循以下最佳實務:

  • 依專案或模型類型邏輯地組織實驗,以提升可發現性。
  • 在您的組織中,為執行次數和參數使用一致的命名規則。
  • 考慮長期專案的實驗保留政策與儲存管理。