ML モデル レジストリとは何ですか?

ML モデル レジストリとは何ですか?

ML モデルレジストリの紹介

急速に変化する機械学習の世界では、大量の高性能モデルが革新的な生産ソリューションの基盤となっており、堅牢で安全かつアクセスしやすいインフラストラクチャがML チームの作業を管理および整理するために不可欠です。
MLモデル レジストリの登場です。モデル レジストリは、ML チームがチームのモデルを保存、カタログ化、アクセス、配布、デプロイするための配布センターと集中ハブの両方であり、運用モデルの唯一の信頼できる情報源でもあります。効果的なモデル レジストリは、モデルの共有、バージョン管理、追跡を通じてシームレスなモデル管理を実現します。これにより、ML チームはより効率的にコラボレーションし、より迅速に実験を行い、より高性能なモデルを自信を持って運用環境にデプロイできます。
モデル開発、ソフトウェア開発、MLOps チームにとって、単一のユニットと中央のコラボレーション リポジトリを持つことは、ML アクティビティの大きな力になります。また、効果的なモデル CI/CD (継続的インテグレーション/継続的デプロイメント) ワークフローの重要なコンポーネントでもあります。
これにより、ML モデルのテスト、評価、展開、監視を自動化できます。さらに、モデル レジストリは、ML エンジニアリングと DevOps 間のスムーズな引き継ぎを容易にし、継続的なサイクルとプロセスを作成するために不可欠です。

ML におけるモデルレジストリとは何ですか?

ML では、モデル レジストリはライブラリに似た集中リポジトリまたはモデル ストアであり、機械学習モデルを効果的に管理および整理できます。モデルはここで保存、追跡、バージョン管理され、運用環境でのモデルの展開と使用に携わる社内の誰もがアクセスできるようになります。
これには、ML 実践者、データ サイエンティスト、ソフトウェア開発者、製品マネージャーなどが含まれる可能性があります。
 
モデル レジストリは、実験用のモデル系統、モデルが本番環境にプッシュされたときのモデルのバージョン管理レコード、および共同作業者からの注釈を提供する必要があります。これは、組織全体でアクセス可能な安全で整理されたリポジトリとして機能し、モデルの開発、評価、および展開を効率化します。
モデル レジストリを使用すると、チーム全体が組織内のすべてのモデルのライフサイクルを共同で管理することもできます。データ サイエンティストは、トレーニング済みのモデルをレジストリにプッシュできます。レジストリにモデルが保存されると、MLOps によってモデルをテスト、検証し、本番環境にデプロイし、継続的に評価することができます。これは、多くの点でソフトウェア DevOps と非常によく似ています。
 
メリットを詳しく見てみましょう:

ML モデルレジストリの利点

生産モデルの展開を合理化

機械学習モデル レジストリは、複雑なモデル展開プロセスを合理化および強化し、より優れたモデルをより迅速かつ容易に本番環境に導入できるようにします。これは次のように行われます。
  • ML モデル管理を 1 か所に集中化: 必要なモデルを探すために探したり尋ねたりする必要はもうありません。また、本番環境の唯一の信頼できる情報源がどこにあるか疑問に思う必要もありません。モデル レジストリを使用すると、常に最新かつ最高のモデルをすぐにデプロイできます。
  • デプロイメント プロセスの自動化: 自動評価ジョブをトリガーし、モデル レジストリをダウンストリーム サービスおよび REST サービスと統合して、モデルを消費し、運用環境で自動的に提供することで、時間を節約し、手動によるエラーを回避します。

生産モデルの監視を有効にする

レジストリが実稼働モデルのリアルタイムおよび集約されたメトリクスを収集し、デプロイされたモデルのパフォーマンスをリアルタイムで追跡します。精度、レイテンシ、リソース使用率などの重要なメトリクスを監視して、最適化の決定をより迅速に行います。モデルの精度を向上させ、データのドリフトを減らし、バイアスを回避して、実稼働での公平性と品質を確保します。

継続的なワークフローを作成する

シームレスで自動化されたモデル CI/CD ワークフローを実現するには、モデル レジストリがすべての中心で重要な役割を果たします。レジストリを他のツール、サービス、自動化と統合して、評価とデプロイメントのフローを継続的に維持し、常に最良のモデルを本番環境に投入できるようにします。

コラボレーションと集中化の改善

ML モデルを本番環境に導入する場合、シームレスで効率的なコラボレーションが不可欠です。間違ったモデルや古いモデルを導入すると、ミスが積み重なって公に目立つ可能性があります。モデル レジストリは、制御され整理された環境内で共有アクセスとフィードバックの取り込み、共同プロジェクト作業の機能を提供することで、チームワークを促進します。

ガバナンスとセキュリティを確保する

セキュリティとガバナンスは、ML ワークフロー全体、特に本番環境では重要です。モデル レジストリは、モデルを保護するための強力なセキュリティ対策と、チーム全体の権限を定義するためのきめ細かいロールベースのアクセス制御を提供します。
モデル レジストリでは、モデルのドキュメント化とレポートも実施し、特に監査ユーザーによって結果が繰り返し可能かつ再現可能であることを保証する必要があります。これらすべての要素により、データ プライバシー規制と内部ガバナンス ポリシーへの準拠が促進されます。

モデル レジストリは MLOps スタックのどこに適合しますか?

モデル レジストリは、 MLOpsに移行して本番環境にデプロイする直前の機械学習ワークフローの最終部分にあると考えることができます。
モデル実験ステップからの出力はモデル レジストリに送られ、モデルを本番環境に提供できるようになります。レジストリ内のすべてのモデルには適切なステータス (本番またはチャレンジャー) がタグ付けされ、完全なデータとモデル系統が含まれます。
そこから、ユーザーはモデルタスクとモデルライフサイクル(バージョン管理を通じて)を管理し、自動化を設定してモデルを本番環境にプッシュするトリガーを設定できます。
モデル レジストリはデプロイメント パイプラインともシームレスに統合され、開発環境から運用環境へのモデルの迅速かつ正確な移行を容易にします。運用中のモデルは、データのドリフトや劣化を監視し、必要に応じてモデル レジストリにロールバックして、さらにテストや評価を行ったり、データセットを更新したりできます。
劣化したモデルが自動的にロールバックされるときにモデル レジストリに簡単にアクセスして変更を加えることができるため、常に最高品質のモデルだけが実稼働状態になります。

重みとバイアスのモデルレジストリ

Weights & Biases は、AI 開発および ML 可観測性プラットフォームです。最先端の AI およびLLM組織の ML 実践者、MLOps チーム、ML リーダーは、個人の生産性の向上、本番環境の ML の拡張、合理化された CI/CD ML ワークフローの実現を実現する決定的な記録システムとして W&B を活用しています。
W&B プラットフォームは、ML フレームワークおよびライブラリとの 20,000 を超える統合と、すべての主要なクラウドおよびインフラ プロバイダーとの強力なパートナー エコシステムを提供し、あらゆる業界やユース ケースにシームレスに適合し、ML ライフサイクル全体にわたります。
効果的なモデル レジストリは、チームの実験追跡システムと適切に統合されている必要があります。Weights & Biases を使用すると、両方を同じプラットフォームでシームレスに実行できます。W&B はすでに、さまざまなパラメーター構成での実験実行を追跡し、モデル開発に大きく役立つ記録システムとして機能しています。
W&B Registry は、成功した実験を取り上げ、チームが開発したトレーニング済みの本番環境対応モデルをこの中央リポジトリに保存することで、それを次のレベルに引き上げるのに役立ちます。すべてのデータとモデルの系統、およびその他のモデル アクティビティの詳細がすでに記録されているため、ユーザーはいつでも探しているものを正確に見つけることができます。

W&B モデルレジストリの利点を探る

Weights & Biases ユーザーは、W&B Registry を実稼働モデルの唯一の信頼できる情報源として確立し、モデルのハンドオフと CI/CD を容易にすることに大きな価値を見出しています。多くのユーザーが、組織化と明確さが大幅に改善されたと述べています。これは、W&B Registry を使用する前は、これらのチームの多くが実稼働モデルを頭の中、スプレッドシート、またはノートブックで管理していたためです。このドキュメントや系統の欠如は煩雑で、偏ったモデルやパフォーマンスの低いモデルなど、厳しい結果につながる可能性があります。
 
W&B レジストリの重要な側面の 1 つは、モデルをリンクする機能です。これにより、登録されたモデルのバージョンとソース アーティファクト間の接続が明確に示され、その逆も同様です。
W&B ユーザーは、モデルをリンクすることで次のような多くの価値を得ることができます。

生産準備が整ったモデルの公開

ユーザーは、成功した実験からトレーニングされた ML モデルをチーム レジストリに登録またはアップロードできます。これにより、モデルを W&B レジストリ内に保存して追跡できるようになり、実験と本番活動のギャップを埋めることができます。

ライフサイクルMLモデル管理

ユーザーは、登録したモデルのさまざまなバージョンを表示し、すべてのモデル反復の記録された履歴を維持しながら変更を追跡できます。カスタムのモデル バージョンに「候補」、「ステージング」、「本番」などのエイリアスを追加または削除することで、新しい実験を実行した後、既存の実験を更新した後、または古いモデルを廃止した後で、探している候補バージョンを簡単に見つけることができます。

再利用性とコラボレーション

モデルがレジストリに公開されると、モデルを本番環境にデプロイしようとしている MLOps エンジニアや、このモデルを下流のパイプラインで使用しようとしている他の ML 実践者がすぐに使用できるようになります。W&B レジストリでは、run.use_artifact(model)を介して下流の実行でモデルを簡単に使用できます

ガバナンスとアクセス制御

W&B レジストリは、レジストリにリンクされたモデル バージョンで実行されるすべてのアクションに対する完全な監査機能を提供し、開発、ステージング、実稼働からアーカイブまでの状態の遷移の完全な記録を提供します。ロールベースのアクセス制御により、適切なアクセス レベルを持つユーザーだけがモデルを新しいパイプライン ステージ (実稼働を含む) に移動できるようになります。

下流のアクションを自動化する

登録済みモデルに新しいバージョンを追加したり、新しいエイリアスを追加したりするときに、ワークフロー ステップを簡単にトリガーできるように自動化を追加します。Webhook自動化により、ユーザーはW&B Launchなどの軽量コネクタを使用して、独自のインフラストラクチャでモデルのテストやデプロイなどのダウンストリーム アクションを開始できます

Slack または Teams 通知によるアラート

ユーザーは、登録済みのモデルを構成して、新しいモデル バージョンがリンクされたときにリッスンし、Slack または Teams チャネルで自動的に通知されるようにすることもできます。

W&B モデルレジストリの利用方法

W&B Registry の使用を開始するのは簡単です。Weights & Biases アカウントにサインアップしたら、次の手順に従って W&B Registry を ML モデル管理に使用できます。

1) 新規登録モデルを作成する

モデリング タスクのすべての候補モデルを保持する登録済みモデルを作成する必要があります。登録済みモデルは、W&B アプリ (モデル レジストリ タブまたはアーティファクトブラウザー タブをクリック) を介して対話的に作成することも、W&B Python SDK を使用してプログラム的に作成することもできます。
エンティティを選択し、詳細と適切なタグを入力すると、最初の登録モデルが完成します。

2) モデルバージョンのトレーニングとログ記録

次に、トレーニング スクリプトからモデルをログに記録します。モデルを定期的にディスクにシリアル化できます (および/または、モデリング ライブラリ (例: PyTorchまたはKeras ) によって提供されるシリアル化プロセスを使用して、トレーニングの最後にシリアル化することもできます)。
 
次に、モデル ファイルをアーティファクト タイプのモデルに追加します。整理された状態を保つために、アーティファクトに関連付けられた実行 ID を使用して名前空間を設定することをお勧めします。また、データセットを依存関係として宣言して、再現性と監査可能性を追跡することもできます。
 
1 つ以上のモデル バージョンをログに記録すると、アーティファクト ブラウザーに新しいモデル アーティファクトが表示されます。この例では、アーティファクトのバージョンをログに記録した結果を確認できます。
ここで、トレーニングしてログに記録したさまざまなモデル バージョンを、最初に作成した登録済みモデルにリンクします。
これは、W&B アプリで、または Python SDK を介してプログラムで実行できます。アプリでこれを行うには、リンクするモデル バージョンに移動し、リンク アイコンをクリックします。次に、このバージョンをリンクする対象の登録済みモデルを選択できます。
 
追加のエイリアスを追加することもできます。
 

4) モデルバージョンを使用する

次は、モデルを使用する番です。おそらく、モデルのパフォーマンスを評価したり、データセットに対して予測を行ったり、実際の運用環境で使用したりする必要があるでしょう。Python SDK でモデルを使用するには、次のコード スニペットを使用します。

5) モデルのパフォーマンスを評価する

トレーニングしたすべてのモデルのパフォーマンスを、トレーニングや検証に使用されていないテスト データセットと比較して評価する必要があるでしょう。
前の手順を完了すると、評価データへのデータ依存関係を宣言し、メトリック、メディア、テーブル、および評価に役立つその他のものをログに記録できます。

6) モデルバージョンを本番環境に昇格する

モデルの評価に満足したら、エイリアスを使用して本番環境で使用するバージョンを指定して昇格できます。登録された各モデルには複数のエイリアスを設定できますが、各モデルは一度に 1 つのバージョンにしか割り当てることができません。この場合も、W&B アプリ内で対話的に、または Python SDK を介してプログラムでエイリアスを追加できます。

7) 生産モデルを消費する

最後に、推論に本番モデルを使用します。実際の本番環境でモデルを使用する方法については、上記の手順 4 を参照してください。登録されたモデル内のバージョンは、さまざまなエイリアス戦略を使用して参照できます。たとえば、「最新」、「v3」、「本番」などです。

8) レポートダッシュボードを構築する

W&B Weave パネルを使用すると、レポート内でモデル レジストリまたはアーティファクト ビューを表示できます。メタデータ、使用状況、ファイル、系統、アクション履歴監査、バージョン履歴分析など、詳細に分析したいものを表示するレポートを作成します。
 
モデル ダッシュボードの次の例を確認してください。

結論

これまでに、モデル レジストリは ML ワークフローとプロジェクトの効率的で洗練された運用に不可欠であることが明らかになりました。適切に整理されたモデル レジストリは、すべてのモデル ステータスの中央ハブおよび単一ソースとして機能し、MLOps と本番環境への最終的な引き継ぎポイントとして機能し、スムーズな自動移行を保証し、本番環境でのエラーや低品質のモデルの可能性を減らし、ML チームに安心感を与えます。
 
今すぐWeights & Biases Registryを始めましょう