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