MLflowエクスペリメント リソースをDatabricksアプリに追加する
MLflowエクスペリメントをDatabricks Apps リソースとして追加して、アプリケーション内で機械学習エクスペリメントの追跡を有効にします。 MLflowエクスペリメントは、モデル開発ライフサイクル全体を通じて、トレーニングの実行を整理して記録し、問題、メトリクス、およびアーティファクトを追跡するための構造化された方法を提供します。
MLflowエクスペリメントをリソースとして追加すると、アプリでは次のことが可能になります。
- 問題とメトリクスによるログトレーニング実行
- 経験データを取得し、モデルのパフォーマンスを比較する
- エクスペリメントのメタデータと実行履歴にアクセスする
- MLライフサイクルをプログラムで管理する
MLflowエクスペリメント リソースを追加する
MLflowエクスペリメントをリソースとして追加する前に、アプリのリソースの前提条件を確認してください。
-
アプリを作成または編集するときは、 「構成」 ステップに移動します。
-
[アプリ リソース] セクションで、 [+ リソースの追加] をクリックします。
-
リソース タイプとして MLflowエクスペリメント を選択します。
-
ワークスペースで利用可能なエクスペリメントのリストからMLflowエクスペリメントを選択します。
-
アプリに適切な権限レベルを選択します。
- 読み取り可能: エクスペリメント メタデータ、実行、保留、およびメトリクスを表示するアクセス許可をアプリに付与します。 実験結果を表示するアプリに使用します。
- 編集可能: エクスペリメント設定とメタデータを変更する権限をアプリに付与します。
- 管理可能: エクスペリメントへの完全な管理アクセスをアプリに付与します。
-
(オプション) カスタム リソース キーを指定します。これは、アプリ構成でエクスペリメントを参照する方法です。 デフォルトのキーは
experimentです。
MLflowエクスペリメント リソースを追加する場合:
- Databricks 、選択したエクスペリメントに対する指定されたアクセス許可をアプリのサービスプリンパルシに付与します。
- アプリはトレーニング実行を記録し、 MLflow Tracking APIを介して体験データにアクセスできます。
- アクセスの範囲は、選択したエクスペリメントのみに限定されます。 別のリソースとして追加しない限り、アプリは他のエクスペリメントにアクセスできません。
環境変数
MLflowエクスペリメント リソースを使用してアプリをデプロイすると、 Databricks 、 app.yaml構成のvalueFromフィールドを使用して参照できる環境変数を通じてエクスペリメント ID を公開します。
構成例:
env:
- name: MLFLOW_EXPERIMENT_ID
valueFrom: experiment # Use your custom resource key if different
アプリケーションでエクスペリメント ID を使用する:
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エクスペリメント リソースを使用する場合は、次のベスト プラクティスに従ってください。
- 発見しやすさを向上させるために、実験をプロジェクトまたはモデル タイプ別に論理的に整理します。
- 組織全体で「実行」と「問題」に一貫した命名規則を使用してください。
- 長期にわたるプロジェクトの場合は、エクスペリメント保持ポリシーとストレージ管理を考慮してください。