MLflow エクスペリメント を使用してトレーニングの実行を整理する

エクスペリメントは、 モデルのトレーニングを実行するための組織の単位です。 エクスペリメントには、ワークスペースとノートブックの 2 種類があります。

  • ワークスペースエクスペリメントは、 Databricks Machine Learning UI または MLflow API から作成できます。 ワークスペースエクスペリメントはどのノートブックにも関連付けられておらず、どのノートブックもエクスペリメント ID またはエクスペリメント名を使用してこれらのエクスペリメントへの実行をログに記録できます。

  • ノートブック エクスペリメントは、特定のノートブックに関連付けられています。 Databricks は、 mlflow.start_run() を使用して実行を開始するときにアクティブなエクスペリメントがない場合、ノートブック エクスペリメントを自動的に作成します。

アクセスできるワークスペース内のすべてのエクスペリメントを表示するには、サイドバーで [ 機械学習] > [エクスペリメント ] を選択します。

エクスペリメント ページ

ワークスペースの作成 エクスペリメント

このセクションでは、Databricks UI を使用してワークスペースエクスペリメントを作成する方法について説明します。 ワークスペースエクスペリメントは、 ワークスペース から直接作成することも 、[エクスペリメント] ページから作成することもできます。

MLflow API 、また は エクスペリメンで Databricks Terraform プロバイダー を使用することもできます。

ワークスペース エクスペリメントへの実行のログ記録の手順については、「 ログ記録のサンプル ノートブック」を参照してください。

  1. サイドバーの 「ワークスペース 」をクリックします 。 ワークスペースアイコン

  2. エクスペリメントを作成するフォルダーに移動します。

  3. フォルダーを右クリックし、[ MLflow エクスペリメントの作成] > を選択します。

  4. [MLflow エクスペリメントの作成] ダイアログで、エクスペリメントの名前とオプションの成果物の場所を入力します。 アーティファクトの場所を指定しない場合、アーティファクトは dbfs:/databricks/mlflow-tracking/<experiment-id>に格納されます。

    Databricks では、 DBFS、S3、および Azure Blob ストレージ成果物の場所がサポートされています。

    アーティファクトを S3 に保存するには、 s3://<bucket>/<path>という形式の URI を指定します。MLflow は、クラスターの インスタンスプロファイルから S3 にアクセスするための認証情報を取得します。 S3 に格納された成果物は、MLflow UI には表示されません。オブジェクト・ストレージ・クライアントを使用してダウンロードする必要があります。

    MLflow バージョン 2.3.0 以降では、AWS 上の DBFS にアップロードされる MLflow アーティファクトの最大サイズは最大 5 TiB です。 MLflow バージョン 2.3.0 以前では、AWS 上の DBFS にアップロードされる MLflow アーティファクトの最大サイズは 5 GiB です。

    成果物を DBFS 以外の場所に格納すると、成果物は MLflow UI に表示されません。 DBFS以外の場所に格納されているモデルは、モデルレジストリに登録できません。

  5. [ 作成] をクリックします。 空のエクスペリメントが表示されます。

エクスペリメントページから新しいワークスペースエクスペリメントを作成することもできます。 新しいエクスペリメントを作成するには、ドロップダウン メニューを使用します [エクスペリメントの作成] ドロップダウン 。 ドロップダウン メニューから、AutoML エクスペリメントまたは空白 (空) エクスペリメント のいずれかを選択できます。

  • AutoML エクスペリメント. [ AutoML エクスペリメントの構成 ] ページが表示されます。 Auto機械学習の使用に関する情報については、「 Databricks Auto機械学習 UI を使用して機械学習モデルをトレーニングする」を参照してください。

  • ブランクエクスペリメント. [ MLflow エクスペリメントの作成 ] ダイアログが表示されます。 ダイアログに名前とオプションのアーティファクトの場所を入力して、新しいワークスペースエクスペリメントを作成します。 デフォルトのアーティファクトの場所は dbfs:/databricks/mlflow-tracking/<experiment-id>です。

    このエクスペリメントへの実行をログに記録するには、エクスペリメント パスを指定して mlflow.set_experiment() を呼び出します。 エクスペリメントのパスは、エクスペリメント ページの上部に表示されます。 詳細とノートブックの例については、「 ログ記録のサンプル ノートブック 」を参照してください。

ノートブックの作成 エクスペリメント

ノートブックで mlflow.start_run() コマンド を使用すると、実行によってメトリクスとパラメータがアクティブなエクスペリメントに記録されます。 アクティブなエクスペリメントがない場合、Databricks はノートブック エクスペリメントを作成します。 ノートブック エクスペリメントは、対応するノートブックと同じ名前と ID を共有します。 ノートブック ID は、 ノートブックの URL と ID の末尾にある数値識別子です。

または、 mlflow.set_experiment() で既存のノートブックへの Databricks ワークスペース パスを渡して、そのノートブック エクスペリメントを作成することもできます。

ノートブック エクスペリメントへの実行のログ記録の手順については、「 ノートブックのサンプルのログ記録」を参照してください。

API (Python の MlflowClient.tracking.delete_experiment() など) を使用してノートブックエクスペリメントを削除すると、ノートブック自体がごみ箱フォルダーに移動されます。

詳細を見る エクスペリメント

アクセスできる各エクスペリメントは、[エクスペリメント] ページに表示されます。 このページから、任意のエクスペリメントを表示できます。 エクスペリメント名をクリックすると、エクスペリメントのページが表示されます。

エクスペリメントページにアクセスするその他の方法:

  • ワークスペースのエクスペリメントページには、ワークスペースメニューからアクセスできます。

  • ノートブックエクスペリメントのページには、ノートブックからアクセスできます。

エクスペリメントを検索するには、[ エクスペリメントのフィルター ] フィールドにテキストを入力して Enter キーを押すか、虫眼鏡アイコンをクリックします。 エクスペリメント リストが変更され、[ 名前]、[ 作成者]、[ 場所]、または [ 説明 ] 列に検索テキストを含むエクスペリメントのみが表示されます。

テーブル内のエクスペリメントの名前をクリックして、そのエクスペリメントページを表示します。

詳細を見る エクスペリメント

エクスペリメント ページには、エクスペリメントに関連付けられているすべての実行が一覧表示されます。 テーブルから、エクスペリメントの実行 をクリックすると、エクスペリメントに関連付けられている実行の実行ページを開くことができます。 [ ソース ] 列では、実行を作成したノートブックのバージョンにアクセスできます。 また、メトリクスまたはパラメーター設定で実行を 検索およびフィルター処理 することもできます。

ワークスペースの表示 エクスペリメント

  1. サイドバーの 「ワークスペース 」をクリックします 。 ワークスペースアイコン

  2. エクスペリメントを含むフォルダーに移動します。

  3. エクスペリメント名をクリックします。

ノートブックを表示 エクスペリメント

ノートブックの右側のサイドバーで、 エクスペリメント アイコン エクスペリメント アイコンをクリックします。

エクスペリメント Runs サイドバーが表示され、ノートブック エクスペリメントに関連付けられている各実行の概要(実行パラメーターやメトリクスなど) が表示されます。 サイドバーの上部には、最後にログに記録されたノートブックの実行先であるエクスペリメントの名前 (ノートブックのエクスペリメントまたはワークスペースのエクスペリメント) が表示されます。

実行パラメーターとメトリクスの表示

サイドバーから、エクスペリメントページに移動することも、実行に直接移動することもできます。

  • エクスペリメントを表示するには、右端の [エクスペリメント の実行]外部リンク の横にある [エクスペリメントの実行] をクリックします

  • 実行を表示するには、 実行の名前をクリックします。

Manage エクスペリメント

所有するエクスペリメントの名前変更、削除、または権限の管理は、[エクスペリメント] ページ、[ エクスペリメント] ページ、またはワークスペース メニューから行うことができます。

Databricks Git フォルダー内のノートブックによって作成された MLflow エクスペリメントの権限を直接名前変更、削除、または管理することはできません。 これらのアクションは Git フォルダー レベルで実行する必要があります。

エクスペリメントページまたはエクスペリメントページ からエクスペリメントの名前を変更する

プレビュー

この機能はパブリックプレビュー段階です。

エクスペリメント ページまたはエクスペリメント ページからエクスペリメントの名前を変更するには、 をクリックして 3 つのボタン アイコン [ 名前の変更] を選択します。

ワークスペースメニューから エクスペリメントの名前を変更する

  1. サイドバーの 「ワークスペース 」をクリックします 。 ワークスペースアイコン

  2. エクスペリメントを含むフォルダーに移動します。

  3. エクスペリメント名を右クリックし、[ 名前の変更] を選択します。

エクスペリメント名を コピー

エクスペリメント名をコピーするには、エクスペリメント ページの上部をクリックします コピーアイコン 。 MLflow コマンド set_experiment でこの名前を使用して、アクティブな MLflow エクスペリメントを設定できます。

エクスペリメント 名前アイコン

ノートブックのエクスペリメントサイドバーから エクスペリメント名をコピーすることもできます。

ノートブックの削除 エクスペリメント

ノートブック エクスペリメントはノートブックの一部であり、個別に削除することはできません。 ノートブックを削除すると、関連付けられている ノートブック エクスペリメントが削除されます。 UI を使用してノートブック エクスペリメントを削除すると、ノートブックも削除されます。

API を使用してノートブック エクスペリメントを削除するには、ワークスペース API を使用して、ノートブックとエクスペリメントの両方が ワークスペース から削除されていることを確認します。

ワークスペースメニューから ワークスペースエクスペリメントを削除する

  1. サイドバーの 「ワークスペース 」をクリックします 。 ワークスペースアイコン

  2. エクスペリメントを含むフォルダーに移動します。

  3. エクスペリメント名を右クリックし、[ ゴミ箱に移動]を選択します。

ワークスペースまたはノートブックのエクスペリメントを [エクスペリメント] ページまたは [エクスペリメント] ページ から削除します。

プレビュー

この機能はパブリックプレビュー段階です。

エクスペリメント ページまたはエクス ペリメント ページからエクスペリメントを削除するには、 をクリックして 3 つのボタン アイコン [ 削除] を選択します。

ノートブック エクスペリメントを削除すると、ノートブックも削除されます。

エクスペリメント のアクセス許可を変更する

エクスペリメントのアクセス許可を [ エクスペリメント] ページから変更するには、[ 共有] をクリックします。

エクスペリメント ページ権限ボタン

所有するエクスペリメントのアクセス許可は、 エクスペリメント ページから変更できます。 3 つのボタン アイコン [ アクション] 列をクリックし 、[アクセス許可 ] を選択します。

エクスペリメントのアクセス許可レベルに関する情報については、 「MLFlow エクスペリメント ACL」を参照してください。

ワークスペース 間でエクスペリメントをコピーする

ワークスペース間で MLflow エクスペリメントを移行するには、コミュニティ主導の オープンソース プロジェクト MLflow エクスポート/インポートを使用できます。

これらのツールを使用すると、次のことができます。

  • 同じトラッキング サーバーまたは別のトラッキング サーバー内の他のデータサイエンティストと共有および共同作業します。 たとえば、エクスペリメントを別のユーザーからワークスペースに複製できます。

  • MLflow エクスペリメントをコピーし、ローカル追跡サーバーから Databricks ワークスペースに実行します。

  • ミッション クリティカルなエクスペリメントとモデルを別の Databricks ワークスペースにバックアップします。