MLflow 3.0 ディープラーニング ワークフロー (Beta)
ベータ版
この機能は ベータ版です。
ノートブックの例
このサンプルノートブックは、 MLflowランとして追跡されるPyTorchを使用して 1 つのディープラーニング モデル トレーニング ジョブを実行します。チェックポイントモデルは 10 エポックごとにログに記録されます。各チェックポイントは、MLflowのLoggedModel として追跡されます。MLflow の UI または検索 API を使用して、チェックポイント モデルを検査し、精度でランク付けできます。
ノートブックは、 scikit-learn
ライブラリと torch
ライブラリをインストールします。
MLflow 3.0 ディープラーニング モデルとチェックポイント ノートブック
UI を使用してモデルを登録する
ノートブックを実行した後、保存したチェックポイント モデルを MLflow エクスペリメント UI に表示できます。 エクスペリメントへのリンクがノートブックのセル出力に表示されるか、次の手順に従います。
-
ワークスペースのサイドバーでエクス ペリメント をクリックします。
-
エクスペリメントリストでエクスペリメントを見つけます。 [ 自分のエクスペリメントのみ ] チェックボックスを選択するか、[ フィルター エクスペリメント ] 検索ボックスを使用してエクスペリメントの一覧をフィルター処理できます。
-
エクスペリメントの名前をクリックします。 実行 ページが開きます。エクスペリメントには、MLflow ランが1 つ含まれています。
-
モデル タブをクリックします。この画面では、個々のチェックポイントモデルが追跡されます。チェックポイントごとに、モデルの精度と、そのすべてのパラメーターとメタデータを確認できます。
このノートブックの例では、最もパフォーマンスの高いモデルを Unity Catalog に登録しました。UIからモデルを登録することもできます。これを行うには、次の手順を実行します。
-
モデル タブで、登録するモデルの名前をクリックします。
-
モデルの詳細ページで、右上隅にある [ モデルを登録する ] をクリックします。
-
Unity Catalog を選択し、ドロップダウンメニューから既存のモデル名を選択するか、新しい名前を入力します。
-
登録 をクリックします。
API を使用してチェックポイント モデルをランク付けする
次のコードは、チェックポイント モデルを精度でランク付けする方法を示しています。
ranked_checkpoints = mlflow.search_logged_models(output_format="list")
ranked_checkpoints.sort(
key=lambda model: next((metric.value for metric in model.metrics if metric.key == "accuracy"), float('-inf')),
reverse=True
)
best_checkpoint: mlflow.entities.LoggedModel = ranked_checkpoints[0]
print(best_checkpoint.metrics[0])
<Metric:
dataset_digest='9951783d',
dataset_name='train',
key='accuracy',
model_id='m-bba8fa52b6a6499281c43ef17fcdac84',
run_id='394928abe6fc4787aaf4e666ac89dc8a',
step=90,
timestamp=1730828771880,
value=0.9553571428571429
>
worst_checkpoint: mlflow.entities.LoggedModel = ranked_checkpoints[-1]
print(worst_checkpoint.metrics[0])
<Metric:
dataset_digest='9951783d',
dataset_name='train',
key='accuracy',
model_id='m-88885bc26de7492f908069cfe15a1499',
run_id='394928abe6fc4787aaf4e666ac89dc8a',
step=0,
timestamp=1730828730040,
value=0.35714285714285715
エクスペリメント ページの[モデル] タブとMLflow Catalog Explorer のモデル バージョン ページの違いは何ですか?
エクスペリメント ページの モデル タブとカタログエクスプローラー のモデル バージョン ページには、モデルに関する同様の情報が表示されます。この 2 つのビューは、モデルの開発とデプロイのライフサイクルで異なる役割を果たします。
- エクスペリメントページの モデル タブには、エクスペリメントの記録済みモデルの結果を1つのページに掲載しています。 このページの チャートタブでは、モデルを比較し、デプロイのために Unity Catalog に登録するモデルのバージョンを選択するのに役立つ視覚化を提供します。
- カタログ エクスプローラーのモデル バージョン ページには、すべてのモデルのパフォーマンスと評価結果の概要が表示されます。このページには、さまざまなワークスペース、エンドポイント、エクスペリメントなど、リンクされたすべての環境にわたるモデル パラメーター、メトリクス、トレースが表示されます。 これは、モニタリングとデプロイに役立ち、 デプロイジョブで特にうまく機能します。 デプロイメント・ジョブの評価タスクは、このページに表示される追加のメトリクスを作成します。 ジョブの承認者は、このページを確認して、デプロイのモデル バージョンを承認するかどうかを評価できます。