メインコンテンツまでスキップ

MLflow エクスペリメントによるトレーニングランの整理

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

  • ワークスペース エクスペリメントは、 Databricks Mosaic AI UI または MLflow APIから作成できます。 ワークスペース エクスペリメントはどのノートブックにも関連付けられておらず、どのノートブックでもエクスペリメント ID またはエクスペリメント名を使用して、これらのエクスペリメントに実行をログに記録できます。
  • ノートブック エクスペリメントは、特定のノートブックに関連付けられています。 Databricks は、 mlflow.start_run() を使用して実行を開始したときにアクティブなエクスペリメントがない場合、ノートブック エクスペリメントを自動的に作成します。

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

エクスペリメントページ

ワークスペース エクスペリメントを作成する

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

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

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

注記

GDPRコンプライアンスのために、古いエクスペリメントはワークスペースから消去されます。顧客管理キーが使用されているワークスペースの場合、古いエクスペリメントは、Databricksによって顧客管理キーにアクセスできる場合にのみ消去されます。「 顧客管理の暗号化キーを設定してアクセス権を付与する 」を参照してください。

ワークスペースからエクスペリメントを作成する

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

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

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

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

    Databricks は、 Unity Catalog ボリューム と S3 アーティファクトのロケーションをサポートしています。

    MLflow 2.15.0 以降では、アーティファクトをUnity Catalogボリュームに保存できます。MLflow エクスペリメントを作成するときは、次のコードに示すように、MLflow エクスペリメント アーティファクトの場所として dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path 形式のボリューム パスを指定します。

    Python
    EXP_NAME = "/Users/first.last@databricks.com/my_experiment_name"
    CATALOG = "my_catalog"
    SCHEMA = "my_schema"
    VOLUME = "my_volume"
    ARTIFACT_PATH = f"dbfs:/Volumes/{CATALOG}/{SCHEMA}/{VOLUME}"

    mlflow.set_tracking_uri("databricks")
    mlflow.set_registry_uri("databricks-uc")

    if mlflow.get_experiment_by_name(EXP_NAME) is None:
    mlflow.create_experiment(name=EXP_NAME, artifact_location=ARTIFACT_PATH)
    mlflow.set_experiment(EXP_NAME)

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

    アップロードとダウンロードのファイルサイズの上限はどちらも5GBです。

注記

アーティファクトを DBFS以外の場所に保存した場合、アーティファクトは MLflow UI に表示されません。 DBFS以外の場所に保存されているモデルは、Model Registryに登録できません。

  1. 作成 をクリックします。新しいエクスペリメントのエクスペリメントの詳細ページが表示されます。

  2. このエクスペリメントに実行をログに記録するには、エクスペリメント パスを使用して mlflow.set_experiment() を呼び出します。 エクスペリメントのパスを表示するには、エクスペリメント名の右側にある情報アイコン 情報アイコン をクリックします。 詳細とノートブックの例については、「 エクスペリメントへのログ実行 」を参照してください。

エクスペリメントページからエクスペリメントを作成する

基盤モデル ファインチューニング、 AutoML、またはカスタム エクスペリメントを作成するには、[ エクスペリメント ] をクリックするか、左側のサイドバーで 新規 > エクスペリメント を選択します。

ページの上部で、次のいずれかのオプションを選択してエクスペリメントを設定します。

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

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

注記

MLflow専用のグループ アクセス権 を持つコンピュートでを実行しているユーザーは、ノートブックが存在するディレクトリへの書き込み権限がグループにあることを確認するか、mlflow.set_tracking_uri("<path>") を使用してMLflow 書き込み先のフォルダーを指定する必要があります。

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

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

注記

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

エクスペリメントを見る

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

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

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

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

テーブル内のエクスペリメントの名前をクリックすると、そのエクスペリメントの詳細ページが表示されます。

エクスペリメントを見る

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

ワークスペース エクスペリメントの参照

  1. ワークスペースアイコンサイドバーの「 ワークスペース 」をクリックします。
  2. エクスペリメントを含むフォルダに移動します。
  3. エクスペリメント名をクリックします。

ノートブック エクスペリメントを見る

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

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

ランのパラメーターとメトリクスの参照

サイドバーから、エクスペリメントの詳細ページに移動するか、直接ランに移動できます。

  • エクスペリメントを表示するには、 エクスペリメント ラン の横にある右端の外部リンクをクリックします。
  • ランを表示するには、ランの名前をクリックします。

エクスペリメントの管理

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

注記

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

エクスペリメントの名前を変更する

所有しているエクスペリメントの名前は、 エクスペリメント ページ またはそのエクスペリメントの詳細ページから変更できます。

  • エクスペリメント ページで、右端の列にあるケバブメニューケバブメニューをクリックし、[ 名前の変更 ]をクリックします。

エクスペリメントのページから名前を変更してください。

  • エクスペリメントの詳細ページで、[ 権限] の横にあるケバブ メニューケバブメニュー をクリックし、[ 名前の変更 ] をクリックします。

エクスペリメントの詳細ページから名前を変更します。

ワークスペースからワークスペースエクスペリメントの名前を変更できます。 エクスペリメント名を右クリックし、[ 名前の変更 ] をクリックします。

エクスペリメントIDとエクスペリメントへのパスを取得する

エクスペリメントの詳細ページでは、エクスペリメント名の右側にある情報アイコン 情報アイコン をクリックすると、ノートブック エクスペリメントへのパスを取得できます。 エクスペリメントへのパス、エクスペリメント ID、およびアーティファクトの場所を示すポップアップ ノートが表示されます。 MLflow コマンド set_experimentのエクスペリメント ID を使用して、アクティブ MLflow エクスペリメントを設定できます。

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

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

エクスペリメントのパスアイコンをノートブックのサイドバーに表示します。

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

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

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

ワークスペースまたはノートブック エクスペリメントを削除する

所有しているエクスペリメントは、 エクスペリメントページ またはエクスペリメント詳細ページから削除できます。

important

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

  • エクスペリメント ページで、右端の列にあるケバブメニューケバブメニューをクリックし、[ 削除 ]をクリックします。

エクスペリメントのページから削除します。

  • エクスペリメントの詳細ページで、[ 権限] の横にあるケバブケバブメニュー メニュー をクリックし、 削除 をクリックします。

エクスペリメントの詳細ページから削除します。

ワークスペース エクスペリメント をワークスペースから削除できます。 エクスペリメント名を右クリックし、[ ごみ箱に移動 ] をクリックします。

エクスペリメントの権限を変更する

エクスペリメントの詳細ページからエクスペリメントの権限を変更するには、[ 権限 ] をクリックします。

エクスペリメント詳細ページ 権限メニュー

エクスペリメントのページから、所有しているエクスペリメントの権限を変更できます。右端の列にあるケバブメニュー ケバブメニュー をクリックし、[ 権限 ]をクリックします。

エクスペリメントページから権限を変更します。

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

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

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

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

  • 同じまたは別のトラッキングサーバー内の他のデータサイエンティストと共有し、共同作業します。 たとえば、他のユーザーのエクスペリメントをワークスペースに複製できます。
  • エクスペリメント MLflow をコピーして、ローカルの追跡サーバーから Databricks ワークスペースに実行します。
  • ミッションクリティカルなエクスペリメントとモデルを別の Databricks ワークスペースにバックアップします。