Skip to main content

マネージド MLflow

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

マネージド MLflow とは

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

メリット

model development

モデル開発

本番環境で使用可能な ML モデルを開発するための標準化されたフレームワークにより、機械学習のライフサイクル管理を加速および簡素化します。管理された MLflow Recipes を使用すると、ML プロジェクトのブートストラップ、迅速なイテレーションを容易に実行し、高品質のモデルを大規模に本番環境に出荷することができます。

Deploy a model for a batch interface

実験の追跡

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

model development

モデル管理

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

model development

モデルのデプロイ

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

機能

mlflow model registry

MLflow Model Registry

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

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

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

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

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

mlflow models

MLflow モデル

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

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

ビルトインのモデルフレーバー:MLflow は、Python や R 関数、Hugging Face, OpenAI and LangChain、PyTorch、Spark MLlib、TensorFlow、ONNX など、アプリケーションで有用ないくつかの標準フレーバーを提供します。

ビルトインのデプロイメントツール:ローカルマシン、または Microsoft Azure ML、Amazon SageMaker、デプロイメント用 Docker イメージの構築など、他のいくつかの本番環境に対して Apache Spark UDF を介して Datbricks 上で素早くデプロイできます。

mlflow recipes

MLflow Recipes

プロジェクトの開始を簡素化:MLflow Recipes は、ML モデルの構築とデプロイメントのために、すぐに使用できる接続コンポーネントを提供します。

モデル反復の迅速化:MLflow Recipes は、モデル反復のための標準化された再利用可能な手順を作成し、プロセスの迅速化とコスト削減を実現します。

チームのハンドオフを自動化:独自の構造により、モジュール化された本番環境に対応したコードが提供され、実験から本番環境への自動ハンドオフが可能になります。

mlflow projects

MLflow プロジェクト

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

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

mlflow tracking

MLflow Tracking

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

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

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

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

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

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

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

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

MLflow の機能比較

mlflow table

仕組み

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

MLflow について詳しくはこちらをご覧ください。

managed mlflow
MLflow Tracking

実験の記録とクエリ:コード、データ、構成、結果。

詳しく見る
managed mlflow
MLflow プロジェクト

あらゆるプラットフォームで再現可能な実行用のパッケージ形式。

詳しく見る
managed mlflow
MLflow モデル

モデルをさまざまなデプロイツールに送信するための一般的な形式。

詳しく見る
managed mlflow
MLflow Model Registry

ライフサイクル全体で MLflow モデルを共同で管理するための中央リポジトリ。

詳しく見る

Databricks のマネージド型 MLflow

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

ドキュメントを読む

Log your first run as an experiment

関連リソース

無料お試し・その他ご相談を承ります