MLA-C02 · LESSON 4
ML と AI のソリューションの運用、モニタリング、保護24% · 3項目
ML と AI のモデルの推論と性能の監視、コストと性能の最適化、ワークロードとエンドポイントのセキュリティを学びます。
4.1推論とパフォーマンスをモニタリングする
4.1 ML と AI のモデルの推論とパフォーマンスをモニタリングする。
概念
SageMaker Model Monitor は、データの品質・モデルの品質(正解ラベルとの比較)・バイアスのドリフト・特徴量の重要度のドリフトを、基準(ベースライン)と比べて定期的に検査します。複数のモデルの比較には本番のバリアントによる A/B テストを使います。生成 AI は CloudWatch の生成 AI の可観測性で、トークン・レイテンシ・トレースを監視します。
仕組み・手順
- エンドポイントでデータキャプチャを有効にする
- 学習データからベースラインを作る
- Model Monitor のスケジュールで検査し、違反を CloudWatch でアラームにする
- ドリフトを検知したら再学習のパイプラインを起動する
- A/B テストで新しいモデルを一部のトラフィックで比べる
業務での例
価格予測のモデルで、入力の「地域」の分布がベースラインから大きく外れたことを Model Monitor が検知し、再学習のパイプラインを自動で起動する。
紛らわしい点・試験の注意
- モデルの品質の監視には、正解ラベル(グラウンドトゥルース)の収集が必要
- データのドリフトは入力の変化、モデルの品質の低下は予測の誤りの増加
- インフラの指標(CPU・レイテンシ)とモデルの品質の監視は別物
ミニクイズ
Q1. Bedrock を使うアプリの、実際のプロンプトと応答を記録して、品質の調査と監査に使いたい。最も適切な設定はどれか。
- CloudWatch の Bedrock のメトリクスで、トークンの数と遅延を記録する
- CloudTrail のデータイベントを有効にし、InvokeModel の記録を S3 に保存する
- Bedrock のガードレールのトレースを有効にし、ブロックされた要求を記録する
- Bedrock のモデルの呼び出しのログ記録を有効にし、S3 や CloudWatch Logs に出す
答えと解説を見る
正解:D Bedrock のモデルの呼び出しのログ記録を有効にし、S3 や CloudWatch Logs に出す
モデルの呼び出しのログ記録で、入力と出力を CloudWatch Logs や S3 に保存できる。CloudTrail は API の呼び出しの記録で、本文は含まない。 【他の選択肢】CloudTrail は API の呼び出しの記録で、プロンプトの本文を含まない。メトリクスは数値だけ。ガードレールのトレースはガードレールの判定に限られる。
Q2. 2 つの本番のバリアントで A/B テストをしている。どちらのモデルが良いかを判断する方法として、最も適切なものはどれか。
- バリアントごとの遅延とエラーの率を比べ、低いほうを選ぶ
- オフラインの検証データの精度を比べ、高いほうの重みを上げる
- バリアントごとの CloudWatch のメトリクスと、購入の率などの業務の指標を比べる
- 最初の 1 時間の購入の率を比べ、高いほうを選ぶ
答えと解説を見る
正解:C バリアントごとの CloudWatch のメトリクスと、購入の率などの業務の指標を比べる
SageMaker AI はバリアントごとにメトリクスを出す。技術の指標と業務の指標を、十分な期間で比べる。 【他の選択肢】遅延とエラーの率だけでは業務の効果が分からない。1 時間では期間が短すぎる。オフラインの精度は本番の利用者での比較ではない。
参考リンク
4.2インフラのコストと性能を最適化する
4.2 ML と AI のインフラストラクチャのコストとパフォーマンスを最適化および管理する。
概念
ML のコストは、学習(スポットトレーニング・適切なインスタンス・早期終了)、推論(Inference Recommender・自動スケーリング・マルチモデルエンドポイント・サーバーレス・Savings Plans for SageMaker)、開発(ノートブックの自動停止)で最適化します。コストは Cost Explorer とタグで可視化します。
仕組み・手順
- Cost Explorer とタグで、プロジェクトごとの ML の費用を把握する
- 学習にスポットトレーニングを使う
- 推論のインスタンスを Inference Recommender で適正化する
- 使われていないエンドポイントやノートブックを停止・削除する
- 安定した利用には SageMaker の Savings Plans を使う
業務での例
夜間に使われない開発用のエンドポイントを削除し、Studio のアイドルのノートブックを自動停止して、月の費用を 40% 減らす。
紛らわしい点・試験の注意
- エンドポイントは使われなくても起動している間は課金される
- サーバーレス推論は断続的なトラフィックで有利
- Savings Plans for SageMaker は SageMaker のインスタンスの利用に適用される
ミニクイズ
Q1. Bedrock の費用を、経理部と他の部署で分けて見たい。最も適切な方法はどれか。
- 部署ごとにアプリケーション推論プロファイルを作ってタグを付け、コスト配分タグで集計する
- 部署ごとに AWS の請求書を印刷して、それぞれが使った量を手作業で推測して書き込むことにする
- すべての部署で同じモデルの ID を使い、月末に費用を人数で割って配ることにする
- 費用は部署で分けずに、すべて経理部が使ったものとして記録することにする
答えと解説を見る
正解:A 部署ごとにアプリケーション推論プロファイルを作ってタグを付け、コスト配分タグで集計する
アプリケーション推論プロファイルにタグを付けると、Bedrock の使用量と費用をタグごとに追跡できる。
Q2. Cost Explorer で見ると、SageMaker Studio の使われていないアプリの費用が大きい。次に行うべきこととして最も適切なものはどれか。
- Cost Explorer の表示を止めて、費用のグラフを誰も見ないようにしておく
- アイドル時の自動のシャットダウンを設定し、使われていないアプリを止める
- Studio の利用者の数を増やして、アプリが使われるようにしておく
- すべてのアプリのインスタンスを最大の種類に変えて、作業を速くする
答えと解説を見る
正解:B アイドル時の自動のシャットダウンを設定し、使われていないアプリを止める
Studio のアイドル時のシャットダウンで、使われていないアプリを自動で止めて費用を減らせる。
参考リンク
4.3ワークロードとエンドポイントのセキュリティを確保する
4.3 ML と AI のワークロードとモデルエンドポイントのセキュリティを確保する。
概念
ML のセキュリティは、IAM(SageMaker Role Manager で役割ごとの最小権限のロール)、ネットワークの分離(VPC の中での学習とホスティング、ネットワークの分離モード、VPC エンドポイント)、暗号化(KMS で S3・EBS・学習の通信)、Bedrock の API キーなどの認証情報の管理で確保します。
仕組み・手順
- SageMaker Role Manager で、データサイエンティスト・MLOps などの役割のロールを作る
- 学習ジョブとエンドポイントを VPC の中に置き、インターネットへの通信を制限する
- S3 と EBS のデータを KMS で暗号化する
- エンドポイントの呼び出しを IAM で制御する
- Bedrock の API キーは短期のものを使い、長期のものは厳格に管理する
業務での例
医療データの学習ジョブをネットワークの分離モードで実行し、外部への通信を完全に遮断して、データは VPC エンドポイント経由で S3 から読む。
紛らわしい点・試験の注意
- ネットワークの分離モードでは、学習のコンテナから外部へ通信できない
- ノートブックの直接のインターネットアクセスは無効にできる
- 長期の認証情報をノートブックに保存しない
ミニクイズ
Q1. データサイエンティスト・MLOps のエンジニアなどの役割ごとに、SageMaker AI の適切な権限のロールを手早く作りたい。最も適切な方法はどれか。
- 管理ポリシー AmazonSageMakerFullAccess を、全員のロールに付ける
- IAM Access Analyzer でポリシーを生成し、各ロールの雛形にする
- IAM Identity Center の許可セットに AdministratorAccess を割り当てる
- SageMaker Role Manager で、ペルソナと ML の作業に合わせたロールを作る
答えと解説を見る
正解:D SageMaker Role Manager で、ペルソナと ML の作業に合わせたロールを作る
Role Manager は、ペルソナと ML の作業に合わせた最小の権限のロールを作るのを助ける。 【他の選択肢】FullAccess や AdministratorAccess は最小権限に反する。Access Analyzer のポリシーの生成は過去の操作の記録が必要で、新しい役割の手早い作成に向かない。
Q2. 外部から提供されたアルゴリズムのコンテナで学習する。学習の中のコンテナから、外部への通信をすべて禁止したい。最も適切な設定はどれか。
- インスタンスの数を 1 台にして、通信の量が少なくなるようにしておく
- 学習ジョブでネットワークの分離(EnableNetworkIsolation)を有効にする
- 学習ジョブの名前に「外部の通信の禁止」と書いて、目印にしておく
- コンテナの中のログを無効にして、通信の記録が残らないようにする
答えと解説を見る
正解:B 学習ジョブでネットワークの分離(EnableNetworkIsolation)を有効にする
ネットワークの分離を有効にすると、学習や推論のコンテナは外部のネットワークに接続できなくなる。
参考リンク
レッスンは当サイトがAWS 認定の公式ページと公式試験ガイドをもとに独自に作成したもので、試験の内容を保証するものではありません。製品の仕様は変わることがあるため、参考リンク先の最新情報を確認してください。
ご利用上の注意(非公式・独自問題・合格保証なし)
- 本サイトの問題は、公式に公開されているスキル概要・試験ガイドをもとに当サイトが独自に作成した練習問題であり、実際の試験問題ではありません。
- Amazon Web Services、AWS、および関連するマークは、米国その他の国における Amazon.com, Inc. またはその関連会社の商標です。本サイトは AWS(Amazon Web Services)と提携しておらず、AWS による承認・推奨を受けたものではありません。
- 本コンテンツは学習の補助であり、合格を保証するものではありません。試験の内容・形式・前提条件は予告なく変更されます。受験前に必ず公式ページで最新情報を確認してください。
- 本模擬試験の正答率は、公式試験の換算(スケール)スコア(合格 720)とは換算できず、合否を予測するものではありません。
- 未ログイン時の進捗はこのブラウザ内(localStorage)に保存します。Google でログインすると学習記録をアカウントに同期します。端末内の記録とサーバー上の記録は別に削除します。詳しくは保存・同期の説明とCookie・保存設定をご確認ください。