概要
MLflow は、機械学習の実験の記録からモデルの管理、デプロイまでを支えるオープンソースのツールで、Databricks に組み込まれています。
Databricks では、モデルを Unity Catalog に登録して、権限やバージョンを、ほかのデータ資産と同じように管理します。
押さえるべきポイント
一、実験を記録する
ハイパーパラメータは log_param、精度などの数値は log_metric、ファイルは log_artifact で記録します。mlflow.autolog() を使えば、対応するライブラリの学習を自動で記録できます。
二、Unity Catalog でモデルを管理する
モデルは「カタログ.スキーマ.モデル名」で登録し、バージョンごとに管理します。本番で使うバージョンはエイリアス(例: champion)で指し、推論する側はエイリアスでモデルを読み込みます。
三、Spark ML のパイプライン
Spark ML の Pipeline は Estimator で、fit() すると Transformer である PipelineModel が返ります。PipelineModel.transform() で予測の列を追加します。
四、バッチ推論とリアルタイム推論を使い分ける
大量のデータにまとめて予測するときは、mlflow.pyfunc.spark_udf でモデルを Spark に載せて分散実行します。個々のリクエストに低いレイテンシで答えるときは、Model Serving のエンドポイント(REST API)を使います。
重要な用語
| 用語 | 意味 |
|---|---|
| MLflow Tracking | 実験のパラメータ・メトリクス・成果物を記録する MLflow の機能。 |
| autolog | 対応ライブラリの学習を自動で記録する MLflow の機能。 |
| エイリアス | モデルの特定のバージョンを指す名前(例: champion)。 |
| spark_udf | MLflow のモデルを Spark の関数として使い、分散推論するための仕組み。 |
| Model Serving | モデルを REST API として公開し、推論を提供する Databricks の機能。 |
おすすめの教材
いずれも公式の情報です。内容は更新されることがあるため、最新の版を確認してください。
問題で確かめる
- Machine Learning Associate 問題集分野:MLflow とモデル管理、デプロイと推論(5問)この分野を解く