DatabricksでMLflowを使う④ – モデルの呼び出し –

はじめに

以下の記事で、Databricks のマネージド型MLflowを使ってモデルのトレーニング、ライフサイクル管理を行いました。

DatabricksでMLflowを使う① – ノートブック上での実験トラッキング –
DatabricksでMLflowを使う② – 実験パラメータとメトリクスの可視化 –
DatabricksでMLflowを使う③ – モデルのライフサイクル管理 –

今回はトレーニングとステージングを行ったモデルを別のノートブックから読み込みたいと思います。
イメージとしてはトレーニングしたモデルを Pyspark ユーザー定義関数として読み込み、 pyspark のデータフレームに対して分散処理をかけるという流れになります。

セットアップ

呼び出したいモデルに対して“Run ID”を読み込みます。

scikit-learn モデルをロードする

実験済みのトレーニングモデルを MLflow API を利用してロードします。

次にトレーニングにも利用した糖尿病データセットを読み込んで”progression”のカラムを落とします。
そして、読み込んだ pandas データフレームを pyspark データフレームに変換しておきます。

MLflow モデルの呼び出し

MLflow API を使って Pyspark ユーザー定義関数としてトレーニング済みのモデルを呼び出します。

ユーザー定義関数を使って予測を行います。

Pyspark モデルを使って分散処理することができました。

2020-11-05_10h45_19.png

おわりに

今回はトレーニング済みのモデルを MLflow API を使って呼び出し、Pyspark で分散処理させることができました。
Databricks では日々新しい機能がアップデートされており、どんどん使いやすくなっています。
これからも新しい機能がでたら追いかけていきたいと思います。