MLAMLワークフローのデプロイとオーケストレーション
ある企業のMLワークフローには以下のステップが必要です。
データ検証 → モデル訓練 → 自動評価 → コンプライアンス担当者による承認 → 本番デプロイ
承認ステップでは担当者へのメール通知と承認・却下の応答待ちが必要で、一部のステップでは社内のレガシーAPIへの呼び出しも含まれます。最適なオーケストレーションアーキテクチャはどれですか?
ASageMaker Pipelines のみを使用し、CallbackStep で外部システムとの連携と承認待ちを実装する
SageMaker PipelinesのCallbackStepは外部処理のコールバック待ちをサポートしますが、複雑な人間介入フローや外部システム統合において、Step Functionsと比較すると柔軟性と可視性に劣ります。ML特化の単純なパイプラインには適しますが、本要件の複雑なフローには不十分です。
BAmazon MWAA(Managed Workflows for Apache Airflow)で全ワークフローを管理し、SageMaker オペレーターとHTTPオペレーターを組み合わせる
Apache Airflowは多機能なワークフロー管理ツールですが、SageMakerとの統合にはSageMakerオペレーターが必要で構成が複雑になります。人間承認ステップの実装も独自対応が必要であり、Step Functionsのネイティブサポートと比べて構築・運用コストが高くなります。
CAWS Step Functions を使用し、SageMaker 統合ステート・Lambda タスク・waitForTaskToken パターンによる人間承認ステップを組み合わせる
✓ 正解
waitForTaskTokenパターンにより人間承認ステップで処理を一時停止し、承認者がAPI Gateway経由でトークンを返すことで再開できます。SageMakerとのネイティブ統合、LambdaによるレガシーAPI呼び出し、SNS通知も組み合わせられる最適なアーキテクチャです。
DEventBridge Pipes で各ステップをイベント駆動で接続し、SNS で承認者にメール通知を送信する
EventBridge Pipesはイベント駆動のポイントツーポイント統合サービスで、シンプルなイベント転送に適しています。人間承認待ちや複数ステップの複雑なフロー制御には対応しておらず、ステートマシン機能を持つStep Functionsが本要件には適切です。
解説
AWS Step Functions は SageMaker との直接統合(訓練・デプロイ等)に加え、waitForTaskToken パターンで人間承認ステップをネイティブにサポートします。承認者は SNS 経由でメール通知を受け取り、API Gateway 経由でタスクトークンを返すことで承認・却下の応答が完結します。waitForTaskToken とは、外部処理の完了を待つ間ステートマシンを一時停止する Step Functions の仕組みです。Lambda タスクで任意の外部 API 呼び出しも容易に統合できます。
選択肢AのSageMaker Pipelines のみを使用し、CallbackStep で外部システムとの連携と承認待ちを実装することは、一部実現可能ですが、複雑な人間介入フローや外部システム統合の柔軟性では Step Functions が優れています。
選択肢BのAmazon MWAA(Managed Workflows for Apache Airflow)で全ワークフローを管理し、SageMaker オペレーターとHTTPオペレーターを組み合わせることは、複雑な構成になり不適切です。
選択肢DのEventBridge Pipes で各ステップをイベント駆動で接続し、SNS で承認者にメール通知を送信することは、本要件の人間承認ステップの実装には不適切です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →