AWS認定資格 WEB問題集&徹底解説
機械学習エンジニア–アソシエイト
問題文と選択肢
データサイエンスチームが調査した結果、モデルの入力データに異常値が増加していることや、データ分布がトレーニング時と大きく異なっていることが判明しました。チームは、将来的に同様の問題が発生しないよう、本番環境の推論入力データの品質を継続的に監視し、データドリフトや予期せぬ変更を自動的に検知できる仕組みを構築したいと考えています。この要件を満たすために、Amazon SageMaker Model Monitor を用いて実施すべき適切な手順はどれか。2つ選択してください。
- SageMaker エンドポイントでデータキャプチャを有効化し、推論のリクエストとレスポンスをAmazon S3に保存する。
- 推論エンドポイントのAmazon CloudWatchメトリクス(InvocationsおよびModelLatency)にアラームを設定し、入力データの分布変化を検知する。
- トレーニングデータセットからデータ品質のベースライン統計を生成し、期待されるデータの特性を定義する。
- データドリフトが検出された際、モデルの自動再トレーニングをトリガーするためのAWS Batchジョブを設定する。
A. SageMaker エンドポイントでデータキャプチャを有効化し、推論のリクエストとレスポンスをAmazon S3に保存する。
正解の 1 つ。Model Monitor が本番の入力データを分析するには、まず比較対象となる実データを集める必要があります。SageMaker エンドポイントでデータキャプチャを有効化すると、推論のリクエストとレスポンスが指定した Amazon S3 バケットに自動的に記録されます。
この S3 上のキャプチャデータこそが、Model Monitor が定期的に読み取って統計量を算出する入力です。これを有効にしていなければ、そもそも監視ジョブが分析するデータが存在しません。
B. 推論エンドポイントのAmazon CloudWatchメトリクス(InvocationsおよびModelLatency)にアラームを設定し、入力データの分布変化を検知する。
Invocations(呼び出し回数)や ModelLatency(推論のレイテンシー)は、エンドポイントの運用状態を示すメトリクスであり、入力データの中身や分布を一切表しません。
したがって、これらにアラームを設定しても「年収の平均値が学習時から大きくずれた」「カテゴリ値に未知の値が混ざった」といったデータドリフトは検知できません。トラフィックの急増や性能劣化には気づけますが、設問が求めるデータ品質の監視にはならないため誤りです。
C. トレーニングデータセットからデータ品質のベースライン統計を生成し、期待されるデータの特性を定義する。
正解の 1 つ。Model Monitor はドリフトを「絶対値」では判定できず、「期待される正常な状態」との比較で判定します。その基準がベースラインです。
トレーニングデータセットに対してベースライン処理ジョブを実行すると、各特徴量の型・最小/最大・平均・標準偏差・欠損率などの統計量(statistics)と制約(constraints)が生成されます。監視ジョブはキャプチャした推論データの統計量をこのベースラインと突き合わせ、逸脱を違反としてレポート・CloudWatch に出力します。
D. データドリフトが検出された際、モデルの自動再トレーニングをトリガーするためのAWS Batchジョブを設定する。
ドリフト検知後の再トレーニングは「対処」であって「監視」の手順ではありません。設問が問うているのは Model Monitor でデータ品質監視の仕組みを構築する手順です。
さらに、検知イベントを起点にワークフローを起動する構成なら、通常は Amazon EventBridge+AWS Step Functions や SageMaker Pipelines を使います。AWS Batch は汎用のバッチコンピューティングサービスであり、再トレーニングのトリガー役として一般的な選択ではありません。
構成図
トレーニングデータ ──ベースラインジョブ──▶ ベースライン統計・制約
│
推論リクエスト ─▶ SageMaker エンドポイント │
(データキャプチャ有効化) │
│ リクエスト/レスポンス │
▼ ▼
Amazon S3 ───────▶ Model Monitor(定期実行)
│ 違反を通知
▼
Amazon CloudWatch
Model Monitor は「キャプチャ」と「ベースライン」が両輪。比べる材料と比べる基準、両方そろって初めて検知できる。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| 本番環境の推論入力データを継続的に監視したい | 監視には推論データの実体が S3 に蓄積されていることが前提。エンドポイントのデータキャプチャを有効化する →選択肢(A)が正解 |
| トレーニング時とデータ分布が異なることを検知したい | 比較の基準としてトレーニングデータからベースライン統計・制約を生成する必要がある →選択肢(C)が正解 |
| 「自動的に検知できる仕組み」を構築したい | 運用メトリクス(Invocations・ModelLatency)はデータの中身を表さないため、ドリフト検知には使えない →選択肢(B)を消す |
| 問われているのは Model Monitor で「監視」を実施する手順 | 再トレーニングは検知後のアクションで監視手順そのものではない。トリガーも通常は EventBridge / Step Functions →選択肢(D)を消す |
| 2 つ選択(監視の仕組みの最小構成) | キャプチャ(比べる材料)+ベースライン(比べる基準)の 2 点セットが Model Monitor の前提 →選択肢(A・C)が正解 |
ひっかけポイント
- 選択肢 B の CloudWatch メトリクスは「監視」という語感で正解に見えるが、Invocations / ModelLatency はエンドポイントの運用指標であって入力データの統計量ではない。データドリフトは検知できない
- 選択肢 D の「自動再トレーニング」は MLOps として正しい発想に見えるが、設問は検知の仕組みを作る手順を問うている。「検知」と「対処」を混同させる罠
- 再トレーニングのトリガーに AWS Batch を挙げている点も不自然。イベント駆動なら EventBridge+Step Functions / SageMaker Pipelines が定石
- データキャプチャとベースラインはどちらか一方では機能しない。キャプチャだけなら比較基準がなく、ベースラインだけなら比較対象の本番データがない
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「予測精度そのものの劣化を監視したい(正解ラベルが後から得られる)」 | モデル品質モニタリングが正解軸に。Ground Truth データの取り込みが追加で必要。 |
| 「ドリフト検知を起点に再トレーニングを自動実行したい」 | Amazon EventBridge + Step Functions / SageMaker Pipelines によるオーケストレーションが正解軸に。 |
| 「バッチ変換ジョブの入力データを監視したい」 | バッチ変換でもデータキャプチャを設定できる。エンドポイント専用機能ではない点に注意。 |
| 「監視結果の違反をどこで受け取るかを問われる」 | 違反レポートは S3、メトリクスと通知は Amazon CloudWatch(アラーム経由で SNS 通知)。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| Model Monitor の前提手順(データキャプチャ・ベースライン作成・監視スケジュール) | Amazon SageMaker Model Monitor を使用したデータとモデルの品質モニタリング - Amazon SageMaker AI |
| エンドポイントのデータキャプチャ(リクエスト/レスポンスの S3 保存) | データキャプチャ - Amazon SageMaker AI |
データサイエンスチームが調査した結果、モデルの入力データに異常値が増加していることや、データ分布がトレーニング時と大きく異なっていることが判明しました。チームは、将来的に同様の問題が発生しないよう、本番環境の推論入力データの品質を継続的に監視し、データドリフトや予期せぬ変更を自動的に検知できる仕組みを構築したいと考えています。この要件を満たすために、Amazon SageMaker Model Monitor を用いて実施すべき適切な手順はどれか。2つ選択してください。
- SageMaker エンドポイントでデータキャプチャを有効化し、推論のリクエストとレスポンスをAmazon S3に保存する。
- 推論エンドポイントのAmazon CloudWatchメトリクス(InvocationsおよびModelLatency)にアラームを設定し、入力データの分布変化を検知する。
- トレーニングデータセットからデータ品質のベースライン統計を生成し、期待されるデータの特性を定義する。
- データドリフトが検出された際、モデルの自動再トレーニングをトリガーするためのAWS Batchジョブを設定する。