本番環境でモデルを更新するためのデプロイガードレール - Amazon SageMaker

本番環境でモデルを更新するためのデプロイガードレール

デプロイガードレールは、本番環境で機械学習モデルを更新するための Amazon SageMaker 推論の一連のモデルデプロイオプションです。このフルマネージドデプロイオプションを使うと、本番環境の現在のモデルから新しいモデルへの切り替えをコントロールできます。Canary や Linear など、ブルー/グリーンデプロイのトラフィックシフトモードにより、更新の過程で現在のモデルから新しいモデルへのトラフィックシフトプロセスを細かくコントロールできます。また、自動ロールバックなどの組み込みセーフガードもあり、本番環境に大きな影響を与える前に、問題を早期に検出し、自動的に是正措置を講じることができます。

デプロイガードレールには次の利点があります。

  • 本番環境を更新する際のデプロイの安全性。本番環境に対して後退的更新を行うと、計画外のダウンタイムが発生し、モデルのレイテンシーの増加や高いエラー率など、ビジネスに影響を与える可能性があります。デプロイガードレールは、ベストプラクティスと組み込みオペレーションの安全なガードレールを提供することで、これらのリスクを軽減するのに役立ちます。

  • フルマネージドデプロイ。SageMaker がこれらのデプロイの設定とオーケストレーションを行い、エンドポイント更新メカニズムと統合します。お客様がオーケストレーション、モニタリング、ロールバックのメカニズムを構築、維持する必要はありません。お客様は SageMaker を活用してデプロイの設定やオーケストレーションを行い、アプリケーションへの ML の活用に集中できます。

  • 可視性。デプロイの進行状況は、DescribeEndpoint API または Amazon CloudWatch Events (サポートされているエンドポイントの場合) を通じて追跡できます。SageMaker のイベントの詳細については、「Amazon SageMaker が Amazon EventBridge に送信するイベント」の「エンドポイントデプロイの状態変更」セクションを参照してください。エンドポイントが「Exclusions」ページのいずれかの機能を使っている場合、CloudWatch Events は使用できないことに注意してください。

注記

デプロイガードレールは 非同期推論 エンドポイントタイプと リアルタイム推論 エンドポイントタイプにのみ適用されます。

開始方法

実稼働環境でのモデルの更新には、Blue/Green デプロイとローリングデプロイの 2 種類のデプロイがサポートされています。

  • ブルー/グリーンデプロイ: 更新により、古いフリート (青のフリート) から新しいフリート (緑のフリート) にトラフィックをシフトさせることができます。Blue/Green デプロイは複数のトラフィックシフトモードを提供します。トラフィックシフトモードとは、SageMaker がエンドポイントトラフィックを、お客様の更新を含む新しいフリートにどのようにルーティングするかを指定する設定です。次のトラフィックシフトモードでは、エンドポイントの更新プロセスをさまざまなレベルでコントロールできます。

    • All At Once トラフィックシフトを使用する は、すべてのエンドポイントトラフィックを青のフリートから緑のフリートにシフトします。トラフィックが緑のフリートにシフトすると、事前に指定した Amazon CloudWatch アラームが一定期間 (ベーキング期間)、緑のフリートのモニタリングを開始します。ベーキング期間中にアラームが作動しない場合、SageMaker は青のフリートを終了します。

    • Canary トラフィックシフトを使用する では、トラフィックのごく一部 (canary) を緑のフリートにシフトして、ベーキング期間中それをモニタリングできます。canary が緑のフリートで成功すると、SageMaker は青のフリートを終了する前に残りのトラフィックを青のフリートから緑のフリートにシフトします。

    • Linear トラフィックシフトを使用する は、トラフィックシフトステップの数と各ステップでシフトするトラフィックの割合をさらにカスタマイズできます。Canary シフトではトラフィックを 2 つのステップでシフトできますが、Linear シフトはこれを n 個の線形間隔のステップに拡張します。

  • ローリングデプロイを使用する: SageMaker がキャパシティを段階的にプロビジョニングし、指定したバッチサイズのステップでトラフィックを新しいフリートにシフトするのに合わせて、エンドポイントを更新できます。新しいフリートのインスタンスは新しいデプロイ設定で更新され、ベイク期間中に CloudWatch アラームが発生しない場合、SageMaker は古いフリートのインスタンスをクリーンアップします。このオプションにより、各ステップで移行するインスタンス数または容量の割合をきめ細かく制御できます。

UpdateEndpointCreateEndpoint SageMaker API、および AWS Command Line Interface コマンドを使用して、デプロイを作成、管理できます。デプロイの設定方法の詳細については、個々のデプロイページを参照してください。エンドポイントが「Exclusions」ページにリストされているいずれかの機能を使っている場合、デプロイガードレールは使用できないことに注意してください。

デプロイガードレールの使用方法を示すガイド付きの例に従うには、Canary および Linear トラフィックシフトモードのJupyter ノートブックの例を参照してください。