MLflow を使用したモデル開発の追跡

この記事には、Databricks での追跡モデル開発の例が含まれています。 機械学習モデルとディープラーニング モデルを自動的に記録して追跡するには、MLflow を使用するか、MLflow API を使用して手動で行います。

モデル追跡とMLflow

モデル開発プロセスは反復的であり、モデルの開発と最適化の際に作業を追跡するのは難しい場合があります。 Databricks では、 MLflow 追跡 を使用して、試したパラメーター設定や組み合わせ、モデルのパフォーマンスへの影響など、モデル開発プロセスを追跡できます。

MLflow 追跡では、 エクスペリメント実行 を使用して、機械学習とディープラーニングのモデル開発をログに記録し、追跡します。 実行は、モデル コードの 1 回の実行です。 MLflow の実行中に、パラメーターと結果を記録済みモデルを作成できます。 エクスペリメントは、関連する実行のコレクションです。 エクスペリメントでは、実行を比較およびフィルター処理して、モデルのパフォーマンスと、そのパフォーマンスがパラメーター設定や入力データなどにどのように依存するかを理解できます。

この記事のノートブックには、MLflow を使用してモデル開発を追跡するための簡単な例が示されています。 Databricks での MLflow 追跡の使用の詳細については、「 機械学習の追跡」および「ディープラーニング トレーニングの実行」を参照してください。

MLflow 追跡では、ジョブ API で spark_submit_task を使用して送信されたジョブはサポートされていません。 代わりに、 MLflow プロジェクト を使用して Spark コードを実行できます。

自動ログ記録を使用してモデル開発 を追跡する

MLflow では、多くの機械学習フレームワークやディープラーニング フレームワークで記述されたトレーニング コードを自動的にログに記録できます。 これは、MLflow 追跡の使用を開始する最も簡単な方法です。

このノートブックの例は 、Scikit-Learnで自動ログを使用する方法を示しています。他の Python ライブラリでの自動ログ記録に関する情報については、「 トレーニングの実行を MLflow に自動的に記録する」を参照してください。

MLflow 自動ログ記録 Python ノートブック

ノートブックを新しいタブで開く

ログ API を使用してモデル開発 を追跡する

このノートブックでは、MLflow ログ API の使用方法について説明します。 ロギング API を使用すると、ログに記録されるメトリクスをより細かく制御でき、テーブルやプロットなどの追加の成果物をログに記録できます。

このノートブックの例は、 Python ログ API の使用方法を示しています。 MLflow には REST、R、Java APIsもあります。

MLflow ログ API Python ノートブック

ノートブックを新しいタブで開く

エンドツーエンドの例

このチュートリアル ノートブックでは、データの読み込み、データの視覚化、並列ハイパーパラメーター最適化の設定、MLflow を使用した結果の確認、モデルの登録、Spark UDF の登録するモデルを使用した新しいデータに対する推論の実行など、Databricks でのモデルのトレーニングのエンドツーエンドの例を示します。

要件

Databricks Runtime 機械学習

ノートブック の例

ワークスペースで Unity Catalog が有効になっている場合は、次のバージョンのノートブックを使用します。

Scikit-LearnMLflowで 統合を使用して を使用するDatabricks (Unity Catalog )

ノートブックを新しいタブで開く

ワークスペースで Unity Catalog が有効になっていない場合は、次のバージョンのノートブックを使用します。

Scikit-LearnMLflowで 統合を使用して 使用するDatabricks

ノートブックを新しいタブで開く