MLflow Model Registry が利用可能になりました。詳細を確認するにはこちらをクリックしてください。

マネージドMLflow

機械学習ライフサイクルの管理

マネージド型の MLflow は、Databricks によって開発されたオープンソースプラットフォームである MLflow 上に構築されており、エンタープライズレベルの信頼性、セキュリティ、スケールによって、機械学習のライフサイクル全体を管理することができます。

メリット

実験の追跡

機械学習ライブラリ、フレームワーク、言語を使って実験することができ、各実験のパラメータ、メトリック、コード、およびモデルを自動的に追跡します。Databricks ワークスペースとノートブックの組み込みの統合機能により、Databricks 上でMLflow を使用することで、対応する成果物やコードバージョンも含めた実験結果の安全な共有、管理、比較ができます。

モデル管理

一元的な場所を使用して、機械学習モデルの検出と共有、実験からオンラインでのテストと実稼働への移行に関する共同作業、承認とガバナンスのワークフローと CI/CD パイプラインとの統合、機械学習のデプロイとそのパフォーマンスを監視します。MLflowモデルレジストリを使用することで、専門知識と知識の共有を容易にし、管理を維持できます。

モデルのデプロイ

本番モデルは、Apache SparkTM でバッチ推論を実行するために、または Docker コンテナ、Azure ML、Amazon SageMaker に統合されている組み込み機能を使用する REST API として、迅速にデプロイできます。Databricks 上のマネージド型の MLflow では、Databricks Jobs Scheduler や自動管理クラスターを利用して本番モデルを運用および監視し、ビジネスニーズに応じてスケーリングすることができます。

機能

MLFLOW 追跡

MLflow 追跡:PythonRESTR APIJava API を使用して、実行ごとにパラメータ、コードバージョン、メトリック、アーティファクトを、自動的に記録します

MLflow 追跡サーバー:実行と実験をすべて 1 か所に記録できる組み込みの追跡サーバーをすぐに使用できます。Databricks での設定は不要です。

実験管理:アクセス制御と検索クエリを使用して、ワークスペース内から実験を作成、保護、整理、検索、視覚化します。

MLflow 実行サイドバー:ノートブック内から実行を自動的に追跡し、実行ごとにノートブックのスナップショットをキャプチャして、以前のバージョンのコードにいつでも戻ることができます。

実行のデータ記録:パラメータ、データセット、メトリック、アーティファクトなどの実行をローカルファイル、SQLAlchemy 互換のデータベース、またはリモートの追跡サーバーに記録します。

Delta Lake の統合:モデルに Delta Lake スナップショットを提供した大規模なデータセットを追跡します。

アーティファクトの格納:S3 バケット、共有 NFS ファイルシステム、モデルなどの大きなファイルを、Amazon S3、Azure Blob Storage、Google Cloud ストレージ、SFTP サーバー、NFS、ローカルファイルパスに保存します。

MLflow プロジェクト

MLflow プロジェクト:MLflow プロジェクトでは、コードの実行で使用するソフトウェア環境を指定できます。MLflow は現在、Conda 環境、Docker コンテナ環境、およびシステム環境のプロジェクト環境をサポートしています。Git リポジトリまたはローカルディレクトリは、MLflow プロジェクトとして扱うことができます。

リモート実行モード:Databricks CLI を使用して Databricks クラスターで Git またはローカルソースから MLflow プロジェクトをリモートで実行し、コードをすばやく拡張します。

MLflow Model Registry

中央リポジトリ:MLflow モデルを MLflow Model Registry に登録します。登録されたモデルは、一意の名前、バージョン、ステージ、およびその他のメタデータを持ちます。

モデルのバージョン管理:更新時に登録済みモデルのバージョンを自動的に追跡します。

モデルステージ: モデルのライフサイクルを表す「ステージング」や「本番」などのあらかじめ設定されたステージやカスタムステージが各モデルバージョンに割り当てられます。

CI/CD ワークフローの統合:CI/CD パイプラインの一部として、ステージの移行、要求、レビュー、および変更を記録し、制御およびガバナンスを改善します。

モデルステージの移行:新しい登録イベントまたは変更を、ユーザー、変更、およびコメントといった追加のメタデータを自動的に記録するアクティビティとして記録します。

MLflow モデル

MLflow モデル:さまざまなダウンストリームツール(例:REST API を介したリアルタイムサービスや、Apache Spark でのバッチ推論)で使用可能な、機械学習モデルをパッケージ化するための標準形式です。

モデルのカスタマイズ:MLflow の組み込みフレーバーで明示的にサポートされていない ML ライブラリのモデルについては、カスタム Python モデルおよびカスタムフレーバーを使用します。

組み込みのモデルフレーバー:MLflow は、Python および R 関数、H20、Keras、MLeap、PyTorch、scikit-learn、Spark MLlib、TensorFlow、ONNX など、アプリケーションで役立つ標準フレーバーを提供します。組み込みのデプロイツール:Apache Spark UDF、ローカルマシン、または Microsoft Azure ML、Amazon SageMaker、およびデプロイ用の Docker イメージの構築など、さまざまな本番環境を介して、Databricks にすばやくデプロイします。


最新の機能の詳細については、Azure DatabricksAWSの製品ニュースをご覧ください。

 

MLflow の機能比較

オープンソースの
MLflow
Databricks でのマネージド型 MLflow

実験の追跡

MLflow 追跡 API
MLflow 追跡サーバー 自己ホスト型 フルマネージド型
ノートブックの統合
ワークスペースの統合

再現可能なプロジェクト

MLflow プロジェクト
Git と Conda の統合
プロジェクト実行のためのスケーラブルなクラウド/クラスター

モデル管理

MLflow Model Registry
モデルのバージョン管理
ACL ベースのステージ遷移
CI/CD ワークフローの統合

柔軟なデプロイ

MLflow モデル
組み込みのバッチ推論
組み込みのストリーミング分析

セキュリティと管理

高可用性
自動更新
ロールベースのアクセス制御

仕組み

MLflow は、機械学習ワークフロー全体を通して任意の ML フレームワークで使用できる、API とユーザーインターフェイスの軽量なセットです。次の 4 つのコンポーネントが含まれます。

  • MLflow 追跡:実験の記録とクエリ:コード、データ、構成、結果。
  • MLflow プロジェクト:あらゆるプラットフォームで再現可能な実行用のパッケージ形式。
  • MLflow モデル:モデルをさまざまなデプロイツールに送信するための一般的な形式。
  • MLflow Model Registry:ライフサイクル全体を通して MLflow モデルを共同で管理するための中央リポジトリ。

Databricks でのマネージド型 MLflow は、実行者に Databricks ノートブック、ジョブ、およびデータストア全体での再現性と実験管理を提供する、MLflow のフルマネージド型バージョンであり、統合データ分析プラットフォームの高い信頼性、セキュリティ、スケーラビリティを備えています。

リソース