MLAMLワークフローのデプロイとオーケストレーション
大手ECサイトのMLエンジニアが、本番環境で稼働中のレコメンデーションモデル(v1)を改良版(v2)に更新しようとしています。v2のオフライン評価は良好でしたが、本番トラフィックで予期しない問題が発生した場合に素早くロールバックできる体制を整えたいと考えています。移行は段階的に行い、最初は全トラフィックの10%のみv2に送り、異常がなければ徐々に100%まで増やす計画です。SageMakerのネイティブ機能を使って最も安全かつ効率的にこの要件を実現する方法はどれですか?
Av2用の新しいSageMakerエンドポイントを作成し、ALB(Application Load Balancer)の重み付きターゲットグループでv1とv2へのトラフィック比率を段階的に変更する
ALBの重み付きターゲットグループでv1とv2のトラフィック比率を変える方法はSageMakerの管理機能の外となり、エンドポイントやCloudWatchアラームと連携した自動ロールバックを自前で構築する必要があり運用負荷が増えます。
BSageMakerエンドポイントのBlue/Greenデプロイメントとデプロイメントガードレール(Canaryトラフィックシフティング)を使用し、10%のトラフィックをGreenフリートに送りながら段階的に移行する
✓ 正解
Blue/Greenデプロイメントとデプロイメントガードレールは新フリート(Green)への段階的トラフィック移行(Canary・線形)をネイティブにサポートし、CloudWatchアラームに基づく自動ロールバックも設定でき、問題発生時はBlueへ即座に切り戻せます。
CSageMakerマルチバリアントエンドポイントを作成してv1とv2を同時に稼働させ、InvocationWeightパラメータで比率を手動調整しながら段階的にトラフィックをシフトする
マルチバリアントエンドポイントとInvocationWeightによる手動シフトも段階移行自体は可能ですが、重みを手動調整する必要があり、CloudWatchアラームに基づく自動ロールバック条件を設定できない点でガードレールより安全性に劣ります。
DSageMaker Pipelinesのデプロイステップで新しいエンドポイントを作成し、切り替え後に旧エンドポイントを手動削除する
SageMaker Pipelinesはモデル構築・デプロイのワークフロー自動化が目的で、カナリアや線形といった段階的トラフィックシフティングやアラーム連動の自動ロールバック機能はネイティブにはサポートしていません。
解説
SageMakerのBlue/Greenデプロイメントとデプロイメントガードレール機能は、新しいフリート(Green)への段階的なトラフィック移行(Canaryまたは線形)をネイティブにサポートします。CloudWatchアラームと連携した自動ロールバック条件も設定でき、問題発生時はBlueフリートへ即座に切り戻せます。
選択肢AのALBの重み付きターゲットグループを使う方法はSageMakerの管理機能外となり、エンドポイントやアラーム連携を自前で構築する必要があり運用負荷が増えます。
選択肢Cのマルチバリアントエンドポイントでも段階的シフト自体は可能ですが、重み調整が手動で自動ロールバック条件を設定できず、ガードレールほど安全な移行にはなりません。
選択肢DのSageMaker Pipelinesはカナリアデプロイや自動ロールバックなどの段階的トラフィックシフティング機能はサポートしていません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →