MLflow guide | Databricks on AWS [2021/8/10時点]の翻訳です。
MLflowは、エンドツーエンドの機械学習ライフサイクルを管理するためのオープンソースプラットフォームです。以下のような主要コンポーネントを有しています。
- トラッキング: パラメーターと結果を記録、比較するためにエクスペリメントを追跡します。
- モデル: 様々なMLライブラリによるモデルを管理し、様々なモデルサービング、推論プラットフォームにモデルをデプロイできます。
- プロジェクト: MLコードを再利用可能、再現可能な形式でパッケージし、他のデータサイエンティストと共有したり、本格運用環境に移動することができます。
- モデルレジストリ: モデルの完全なライフサイクルのステージ遷移を管理するために、バージョン管理、注釈が可能な集中管理モデルストアを利用できます。
- モデルサービング: RESTエンドポイントとしてMLflowモデルをホストできます。
MLflowではJava、Python、R、REST APIをサポートしています。
Databricksは、エンタープライズセキュリティ機能、高可用性、そして、エクスペリメント、ランの管理、ノートブックの改訂履歴のようなDatabricksワークスペースの機能と連携された、完全なマネージド、かつ、ホスティングバージョンのMLflowを提供します。DatabricksにおけるMLflowは、機械学習モデルトレーニングのランや機械学習プロジェクトの実行が統合されたエクスペリエンスを提供します。
Databricksを使い始めたばかりであるならば、軽量な実験でシンプルなマネージドMLflowエクスペリエンスを提供するDatabircksコミュニティエディションでのMLflow活用を検討して下さい。Databricksコミュニティエディションでは、MLflowプロジェクトのリモート実行はサポートされていません。エクスペリメントとランに対する適切な数の制限を設定する予定です。Databricksコミュニティエディションにおいて、初回でMLflowを起動した際には制限は適用されません。
コントロールプレーンのMLflowのデータ(エクスペリメントラン、メトリクス、タグ、パラメーター)はプラットフォームが管理する鍵によって暗号化されます。Customer-managed keys for managed servicesは、このデータに対してはサポートされていません。一方で、お使いのDBFSルートストレージに格納されているMLflowモデルとアーティファクトは、ワークスペースストレージに対する顧客管理の鍵を設定することで、ご自身の鍵による暗号化を行うことができます。
初心者はMLflowのトラッキングAPIの基本をデモンストレーションするquickstartからスタートすることをお勧めします。後続のドキュメントでは、サンプルノートブックとともにそれぞれのMLflowコンポーネントを紹介し、Databricksでそれぞれのコンポーネントがどのようにホストされているのかを説明します。
- Quickstart
- Databricksにおける機械学習トレーニングのトラッキング
- DatabricksのMLflowを用いたモデルのログ、ロード、登録、デプロイ
- Run MLflow Projects on Databricks
- DatabricksにおけるMLflowモデルレジストリ
- Databricksにおけるモデルサービング
- Databricks Autologging
- Databricksにおける機械学習モデル構築のエンドツーエンドのサンプル