MLflowとは
機械学習の実験管理・モデル管理・デプロイをフレームワーク非依存で扱うオープンソースプラットフォーム
ひとことで言うと
AIモデルの実験結果や学習の記録を管理するための、オープンソースのツール。
概要
MLflowとは、機械学習モデルのライフサイクル全体を管理するためのオープンソースプラットフォーム。 実験のパラメータ・メトリクス・成果物を記録するTracking、実行環境を再現可能な形でパッケージ化するProjects、モデルを標準化された形式で保存・提供するModels、モデルのバージョンや承認状態を管理するModel Registryの4つのコンポーネントから構成される。 特定のMLライブラリやクラウドに依存せず、PyTorch・scikit-learn等の主要フレームワークと連携できる点が特徴。
背景
機械学習開発では、実験ごとの記録が残らず再現困難になったり、開発環境と本番環境でモデルの扱い方が異なりデプロイ作業を煩雑にしたりする課題があった。 MLflowは、実験管理からデプロイまでのライフサイクルを一貫したツールで扱えるよう開発された。
歴史
2018年6月: DatabricksがMLflowを公開。 以降OSSとして開発が継続され、主要なMLフレームワーク・クラウドサービスとの連携が拡張されている。
アーキテクチャ
Tracking(実験のパラメータ・メトリクス・成果物の記録)、Projects(再現可能な実行環境の定義)、Models(フレームワークを問わない標準形式でのモデル保存・提供)、Model Registry(モデルのバージョン管理・ステージ管理)の4コンポーネントから構成される。
利点
- 特定のMLライブラリやクラウドに依存せず、幅広いフレームワークと連携できる
- 実験のパラメータ・メトリクスを一元管理でき、モデル開発の再現性を確保しやすい
欠点
- 大規模チームでの運用には、トラッキングサーバーやアーティファクトストアの構築・管理が別途必要になる
- 深層学習特有の大規模分散学習の管理機能は、専用ツールと比べて手薄な部分がある
比較
- LLMOps — MLflowはMLOps全般で使われる実験管理・モデル管理ツールであり、LLMOpsの一部としてプロンプトやLLMの評価管理に活用されることもある
関連用語
参考文献
- Official WebsiteMLflow
- GitHubmlflow/mlflow
- DocumentationMLflow Documentation