5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PythonによるDatabricks MLflowクイックスタートガイド

Last updated at Posted at 2021-04-12

Databricksクイックスタートガイドのコンテンツです。

Quickstart Python | Databricks on AWS [2021/3/30時点]の翻訳です。

MLflowは、機械学習のエンドツーエンドのライフサイクルを管理するためのオープンソースプラットフォームです。MLflowはメトリクス(モデルのロスなど)、パラメーター(学習率など)、学習モデルをロギングするためのシンプルなAPIを提供し、トレーニング結果の分析、モデルのデプロイを容易にします。

本記事では以下を説明します。

MLflowのインストール

Databricks機械学習ランタイムを使用しているのであれば、既にMLflowはインストールされています。そうでない場合には、PyPIからMLflowパッケージをインストール(英語)します。

ランの自動ロギング

MLflowは様々な機械学習フレームワークで記述されたトレーニングのコードを自動でロギングするmlflow.<framework>.autolog()を提供しています。トレーニング前に、このAPIを呼び出すことで、モデル特有のメトリクス、パラメーター、モデルのアーティファクトをロギングできます。

TensorFlow

# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()

Keras

# Use import mlflow.tensorflow and mlflow.tensorflow.autolog() if using tf.keras
import mlflow.keras
mlflow.keras.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 and automated MLflow tracking(英語)を参照ください。

結果の表示

機械学習コードを実行後、エクスペリメントランサイドバーを使って、結果を参照することができます。どのように、エクスペリメント、ラン、ノートブックのバージョンを参照するかについては、View notebook experiment(英語)を参照ください。

追加のメトリクス、パラメーター、モデルの追跡

直接MLflow Tracking logging APIs(英語)を呼び出すことで、追加情報をロギングすることができます。

  • 数値のメトリクス
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")

サンプルノートブック

要件

Databricksランタイム6.4以降かDatabricksランタイムML6.4以降が必要です。

ノートブック

PythonでMLflowによるトラッキングを始めるおすすめの方法は、autolog()APIを使うというものです。MLflowのオートロギング機能によって、一行追加するだけで、結果のモデル、パラメーター、メトリクスを自動で記録することができます。以下のノートブックでは、オートロギングを実行するための手順を説明しています。

それぞれのトレーニングで、何をロギングするのかを自分で設定したい、テーブルやグラフなど追加のアーティファクトを記録したい場合には、以下のノートブックで説明されているようにMLflowのロギングAPIを使うことができます。

追加情報

Databricks 無料トライアル

Databricks 無料トライアル

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?