MLAMLワークフローのデプロイとオーケストレーション
機械学習エンジニアが複数バージョンのモデルを管理する本番ワークフローを構築しています。新しいモデルバージョンはSageMaker Pipelinesで自動トレーニングされますが、本番エンドポイントへのデプロイ前に必ずMLリードエンジニアの承認が必要です。また、デプロイ後は常にどのバージョンが本番稼働中かを追跡する必要があります。このガバナンス要件を最小の開発工数で実現するアーキテクチャとして最も適切なものはどれですか?
ASageMaker Model Registryにモデルを登録し、承認ステータスを「PendingManualApproval」に設定。承認後にステータスが「Approved」になったことをEventBridgeルールで検知し、自動デプロイパイプラインを起動する
✓ 正解
SageMaker Model Registryはモデルのバージョン管理・承認ワークフロー・系譜追跡をネイティブに提供するマネージドサービス。PendingManualApproval→Approvedのステータス変更をEventBridgeがイベントとして検知し、後続の自動デプロイを起動できます。
BモデルアーティファクトをS3のバージョン管理バケットに保存し、DynamoDBテーブルで承認状態を管理。承認後にLambda関数でエンドポイントを更新する
カスタムデータベース管理で開発工数が大です。
CSageMaker Experimentsで各トレーニング実行を記録し、最良のRunのアーティファクトをメールで共有してレビューを依頼。承認後に手動でエンドポイントを更新する
手動プロセスであり、スケールしません。
DCodePipelineでMLパイプラインを構築し、承認ステージをManual Approvalアクションとして追加。承認後にSageMaker SDK経由でエンドポイントを更新するCodeBuildジョブを実行する
も実現可能ですが、Model Registryの機能を活用していない分、重複実装が増えます。
解説
SageMaker Model Registryはモデルのバージョン管理・承認ワークフロー・系譜追跡をネイティブに提供するマネージドサービスです。PendingManualApproval→Approvedのステータス変更をEventBridgeがイベントとして検知し、後続の自動デプロイパイプラインを起動できるため、最小の開発工数でガバナンス要件を実現できます。
選択肢BのS3バケット+DynamoDBによる独自実装は、バージョン管理・承認状態管理のロジックをゼロから構築する必要があり、Model Registryが提供する機能の再実装となるため開発工数が大幅に増大します。
選択肢CのSageMaker Experimentsはトレーニング実験の記録・比較には有用ですが、正式な承認ワークフローを提供せず、メール共有と手動デプロイはスケーラビリティと監査追跡性を欠きガバナンス要件を満たせません。
選択肢DのCodePipelineによる実装は技術的に実現可能ですが、Model Registryのモデルバージョン管理・承認ステータス追跡機能を独自に再構築する必要があり、開発工数が不必要に増大します。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →