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 機械学習

ノートブックの例

次のノートブックには、このリリースの Databricks on Google Cloud では使用できない機能が含まれている場合があります。

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

DatabricksのMLflowに統合されたScikit-Learnを使用する (Unity Catalog )

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

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

DatabricksのMLflowに統合されたScikit-Learnを使用する

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