MLflow

MLflow

MLflowとは

MLflow(エムエルフロー)とは、機械学習ライフサイクル全体を管理するためのオープンソースプラットフォームです。Databricksが中心となって開発しており、実験の追跡、モデルのパッケージング、モデルレジストリ、デプロイメントの4つの主要コンポーネントを提供します。フレームワークやクラウドに依存しない汎用性が大きな特徴です。

表:MLflowの要点まとめ
ひとことで言うと機械学習の実験記録からモデル管理までを扱う、代表的なオープンソースツール。
4つの機能実験追跡、プロジェクト管理、モデル形式の統一、モデルレジストリ。
注意点無償で使えるが、サーバーの構築と運用は自分たちで行う必要がある。

MLflowの主要コンポーネント

MLflow Trackingは実験のパラメータ、メトリクス、成果物を記録・比較する機能です。MLflow Projectsは再現可能なML コードのパッケージング形式を定義します。MLflow Modelsはモデルのデプロイ形式を標準化し、MLflow Model Registryはモデルのバージョン管理とライフサイクル管理を提供します。

図:MLflowの使い方
1学習コードに数行追加ログ記録を有効化
▶
2自動で記録パラメータと結果
▶
3画面で比較実験を一覧表示
▶
4モデルを登録レジストリで管理
▶
5本番へ配置版を指定して利用

MLflowの使い方

MLflowはPython APIでシンプルに利用できます。mlflow.log_param()でパラメータを記録、mlflow.log_metric()でメトリクスを記録、mlflow.log_artifact()で成果物を保存します。mlflow uiコマンドでWebダッシュボードを起動し、実験結果の可視化と比較が可能です。

MLflowのエコシステム

MLflowはPyTorch、TensorFlow、scikit-learn、XGBoost、Hugging Faceなど主要なMLフレームワークとの自動連携をサポートしています。Databricks上ではマネージドMLflowが提供され、大規模な本番運用にも対応しています。MLOpsの入門として最も手軽に始められるツールの一つです。