MLflow エクスペリメントの使用を開始する
この記事では、MLflow でDatabricks を使用してトレーニング 実行を自動的にログに記録し、パラメーター、メトリクス、モデルを追跡する方法の概要について説明します。MLflow を使用してモデル開発を追跡する方法の詳細については、「ML の追跡」および「ディープラーニング トレーニング 実行」を参照してください。
MLflow は、エンドツーエンドの機械学習ライフサイクルを管理するための オープンソース プラットフォームです。 MLflow には、メトリクス (モデル損失など)、パラメーター (学習率など)、適合モデルを記録するためのシンプルな APIs が用意されているため、トレーニング結果の分析や、後でモデルのデプロイを簡単に行うことができます。
MLflow をインストールする
機械学習にDatabricks Runtime を使用している場合は、MLflow が既にインストールされています。それ以外の場合は、 PyPI から MLflow パッケージをインストールします。
トレーニングの実行を MLflow に自動的に記録する
Databricks Runtime 10.4 LTS 機械学習以降では、 Databricks Autologging はデフォルトで有効になり、さまざまな一般的な機械学習ライブラリからモデルをトレーニングするときに、モデル パラメーター、メトリクス、ファイル、リネージ情報が自動的にキャプチャされます。
Databricks Runtime 9.1 LTS 機械学習では、MLflow は、多くの機械学習フレームワークで記述されたトレーニング コードを自動的にログに記録するmlflow.<framework>.autolog()
APIs を提供します。 この API は、トレーニング コードを実行する前に呼び出して、記録済みモデル固有のメトリクス、パラメーター、およびモデル アーティファクトを実行できます。
注
Kerasモデルは mlflow.tensorflow.autolog()
でもサポートされています。
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
import mlflow.xgboost
mlflow.xgboost.autolog()
import mlflow.lightgbm
mlflow.lightgbm.autolog()
import mlflow.sklearn
mlflow.sklearn.autolog()
pyspark.ml
でチューニングを行うと、メトリクスとモデルは自動的に MLflowに記録されます。 「Apache Spark MLlib と自動 MLflow 追跡」を参照してください。
結果の表示
機械学習コードを実行した後、エクスペリメント [実行] サイドバーを使用して結果を表示できます。 クイックスタートで使用されているエクスペリメント、実行、ノートブックのリビジョンを表示する方法については、「ノートブックの表示エクス ペリメント 」を参照してください。
追加のメトリクス、パラメーター、モデルの追跡
追加情報をログに記録するには、 MLflow 追跡ログ APIsを直接呼び出します。
モデル
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
ノートブックの例
注
Databricks Runtime 10.4 LTS 機械学習以降では、 Databricks Autologging はデフォルトで有効になり、これらのノートブック例のコードは必要ありません。 このセクションのノートブックの例は、Databricks Runtime 9.1 LTS 機械学習で使用するように設計されています。
Python で MLflow トラッキングの使用を開始するための推奨される方法は、MLflow autolog()
API を使用することです。 MLflow の自動ログ機能を使用すると、1 行のコードで、結果のモデル、モデルの作成に使用されたパラメーター、およびモデル スコアが自動的にログに記録されます。 次のノートブックは、自動ログを使用して実行を設定する方法を示しています。
トレーニングの実行ごとにログに記録されるメトリクスをより細かく制御する必要がある場合、またはテーブルやプロットなどの追加の成果物をログに記録する場合は、次のノートブックに示す MLflow ログ API 関数を使用できます。