將 MLflow 實驗 加入 Databricks Apps 資源,以啟用應用程式中的機器學習實驗追蹤。 MLflow 實驗提供結構化的方式來組織與記錄訓練執行,追蹤參數、指標及模型開發生命週期中的產物。
當你將 MLflow 實驗作為資源時,你的應用程式可以:
- 記錄訓練運行,包含參數和指標
- 擷取實驗資料並比較模型效能
- 存取實驗元資料與運行歷史
- 以程式化方式管理機器學習生命週期
新增 MLflow 實驗資源
在你將 MLflow 實驗作為資源前,先先檢視 應用程式資源的前置條件。
- 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
- 在 應用程式資源 區塊,點擊 + 新增資源。
- 選擇 MLflow 實驗 作為資源類型。
- 從工作區中可用的實驗清單中選擇一個 MLflow 實驗。
- 為您的應用程式選取適當的權限層級:
- 可閱讀: 授權應用程式查看實驗的元資料、運行次數、參數和指標。 用於顯示實驗結果的應用程式。
- 可以編輯: 授權應用程式修改實驗設定和元數據。
- 可管理:授權應用程式完整管理權限以管理實驗。
- (可選)指定一個自訂資源金鑰,這就是你在應用程式設定中參考實驗的方式。 預設索引鍵是
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 實驗資源時,請遵循以下最佳實務:
- 依專案或模型類型邏輯地組織實驗,以提升可發現性。
- 在您的組織中,為執行次數和參數使用一致的命名規則。
- 考慮長期專案的實驗保留政策與儲存管理。