MLAMLワークフローのデプロイとオーケストレーション
データエンジニアリングチームは月次で以下のMLワークフローを実行しています:
①AWS GlueジョブでS3データを変換 →
②SageMakerトレーニングジョブを実行 →
③評価精度が0.90を超えた場合のみSageMakerエンドポイントを更新 →
④失敗時はAmazon SNSでアラート送信。このワークフローをサーバーレスかつ完全マネージドで実装する場合、最も適切なオーケストレーション手段はどれですか?
ASageMaker PipelinesのConditionStepとLambdaStepを組み合わせ、GlueジョブはLambdaステップ経由で呼び出す
SageMaker PipelinesはネイティブGlueステップを持たず、Lambdaステップ経由の連携に追加実装が必要です。
BAWS Step FunctionsのSageMaker統合とGlue統合を使い、Choiceステートで条件分岐しSNSでエラー通知するステートマシンを定義する
✓ 正解
SageMaker・Glueに対するSDK統合がネイティブで備わり、Choiceステートで条件分岐やエラー通知を宣言的に定義できます。
CAWS Lambdaを連鎖させ(各Lambdaがboto3 SDKで次ステップを呼び出す方式)全ワークフローをLambdaで制御する
複数Lambdaを連鎖させ各Lambda内でboto3で次ステップを呼び出す方式は、複雑な状態管理が必要で保守性が低下します。
DAmazon MWAA(Managed Workflows for Apache Airflow)のDAGとしてワークフローを定義し月次スケジューラで実行する
Apache Airflowクラスター管理が必要であり、Lambdaなどと異なり完全サーバーレスな構成ではありません。
解説
AWS Step Functionsは、SageMaker・AWS Glue・SNSに対するSDK最適化統合をネイティブに備えており、Choiceステートで評価精度の条件分岐、Catchで失敗時SNS通知を宣言的に定義できます。サーバーレスで追加インフラ不要です。
SageMaker PipelinesはネイティブのGlueステップを持たず連携に追加実装が必要です。
MWAAはApache Airflowクラスター管理が必要で完全サーバーレスではありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →