How to Streamline MLOps With MLflow Model Registry Webhooks - The Databricks Blogの翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
AI/機械学習が世の中でより広く受け入れられるにつれ、企業は価値を最大化するために機械学習モデルを迅速かつ大規模にデプロイする必要が出てきています。本日我々は、お使いのCI/CDプラットフォームと連携することで、モデルのライスサイクルを容易に自動化することができるMLflowモデルレジストリWebhookを発表します。
モデルレジストリのWebhookを用いることで、新規モデルバージョンの作成、新規コメントの追加、モデルのステージの変更のようなモデルレジストリのイベントによって起動されるコールバックを登録することができるようになります。このコールバックを用いて、DatabricksにおけるMLOpsを実装するために自動化スクリプトを起動することができます。例えば、新規モデルバージョンが作成された際にCIのビルドを起動したり、モデルのプロダクションへの移行がリクエストされた際にSlackを通じてチームメンバーに通知を出すことが可能となります。MLのワークフローを自動化することで、開発者の生産性を改善し、モデルのデプロイメントを加速することで、皆様のエンドユーザー、組織の価値を増加させることができます。
Databricksをお使いの皆様は、MLflowモデルレジストリWebhookをパブリックプレビューとして利用できます。
WebhookはMLflowモデルレジストリとのインテグレーションをシンプルにします
MLflowモデルレジストリは、モデルデプロイメントのライフサイクルを管理する中央レポジトリを提供します。現在、MLチームはモデルレジストリのモデルを手動で管理しています。しかし、チームが成長し、多くのMLユースケースをカバーするようになると、モデルの数は増加し続け、これらのモデルを手動で管理することは非効率的、非現実的になります。多くのチームでは、変更を監視するために定期的にモデルレジストリにポーリングを行うアドホックなサービスを構築して、モデルデプロイメントのライフサイクルを自動化しています。モデルレジストリWebhookは、モデルレジストリでイベントが生じた際にリアルタイム通知を送信することでこの自動化をシンプルなものにします。CI/CDプラットフォームや事前定義済みのDatabricksジョブのワークフローを、Webhookで起動するように設定することができます。
Webhookを用いたMLOpsユースケース
Webhookを用いて、MLflowモデルレジストリと連携するようにセットアップすることで、皆様の機械学習ワークフローを自動化することができます。例えば、以下のインテグレーションを実施するためにWebhookを使用することができます。
- モデルの新バージョンが作成された際、モデルを検証するためにCIワークフローを起動する。
- モデルのステージ変更リクエストを受け取った際、メッセージアプリケーションを通じて承認待ちのリクエストをチームに通知する。
- モデルのプロダクションへの遷移のリクエストがあった際、モデルの公正性、バイアスを検証するワークフローを起動する。
- タグが作成された際、自動でモデルをデプロイするデプロイメントパイプラインを起動する。
モデルデプロイメントライフサイクルを自動化することで、モデル品質の改善、作業重複の削減を行い、MLチームのそれぞれのメンバーが本来行うべきことにフォーカスできるようになります。MLflowモデルレジストリの先進的なユーザーの一部では、数百万のMLモデルを管理するためにすでにWebhookを活用しています。
MLflowモデルレジストリWebhookを使ってみる
トライしてみようと思いましたか?MLflowのモデルレジストリWebhookの詳細、使い方に関しては、AWS、Azure、GCPのドキュメントを参照ください。
AWSドキュメントの日本語訳