MLA-C02 · LESSON 4

ML と AI のソリューションの運用、モニタリング、保護24% · 3項目

ML と AI のモデルの推論と性能の監視、コストと性能の最適化、ワークロードとエンドポイントのセキュリティを学びます。

4.1推論とパフォーマンスをモニタリングする

4.1 ML と AI のモデルの推論とパフォーマンスをモニタリングする。

概念

SageMaker Model Monitor は、データの品質・モデルの品質(正解ラベルとの比較)・バイアスのドリフト・特徴量の重要度のドリフトを、基準(ベースライン)と比べて定期的に検査します。複数のモデルの比較には本番のバリアントによる A/B テストを使います。生成 AI は CloudWatch の生成 AI の可観測性で、トークン・レイテンシ・トレースを監視します。

仕組み・手順

  1. エンドポイントでデータキャプチャを有効にする
  2. 学習データからベースラインを作る
  3. Model Monitor のスケジュールで検査し、違反を CloudWatch でアラームにする
  4. ドリフトを検知したら再学習のパイプラインを起動する
  5. A/B テストで新しいモデルを一部のトラフィックで比べる

業務での例

価格予測のモデルで、入力の「地域」の分布がベースラインから大きく外れたことを Model Monitor が検知し、再学習のパイプラインを自動で起動する。

紛らわしい点・試験の注意

ミニクイズ

Q1. Bedrock を使うアプリの、実際のプロンプトと応答を記録して、品質の調査と監査に使いたい。最も適切な設定はどれか。

  1. CloudWatch の Bedrock のメトリクスで、トークンの数と遅延を記録する
  2. CloudTrail のデータイベントを有効にし、InvokeModel の記録を S3 に保存する
  3. Bedrock のガードレールのトレースを有効にし、ブロックされた要求を記録する
  4. Bedrock のモデルの呼び出しのログ記録を有効にし、S3 や CloudWatch Logs に出す
答えと解説を見る

正解:D Bedrock のモデルの呼び出しのログ記録を有効にし、S3 や CloudWatch Logs に出す

モデルの呼び出しのログ記録で、入力と出力を CloudWatch Logs や S3 に保存できる。CloudTrail は API の呼び出しの記録で、本文は含まない。 【他の選択肢】CloudTrail は API の呼び出しの記録で、プロンプトの本文を含まない。メトリクスは数値だけ。ガードレールのトレースはガードレールの判定に限られる。

Q2. 2 つの本番のバリアントで A/B テストをしている。どちらのモデルが良いかを判断する方法として、最も適切なものはどれか。

  1. バリアントごとの遅延とエラーの率を比べ、低いほうを選ぶ
  2. オフラインの検証データの精度を比べ、高いほうの重みを上げる
  3. バリアントごとの CloudWatch のメトリクスと、購入の率などの業務の指標を比べる
  4. 最初の 1 時間の購入の率を比べ、高いほうを選ぶ
答えと解説を見る

正解:C バリアントごとの CloudWatch のメトリクスと、購入の率などの業務の指標を比べる

SageMaker AI はバリアントごとにメトリクスを出す。技術の指標と業務の指標を、十分な期間で比べる。 【他の選択肢】遅延とエラーの率だけでは業務の効果が分からない。1 時間では期間が短すぎる。オフラインの精度は本番の利用者での比較ではない。

参考リンク

4.2インフラのコストと性能を最適化する

4.2 ML と AI のインフラストラクチャのコストとパフォーマンスを最適化および管理する。

概念

ML のコストは、学習(スポットトレーニング・適切なインスタンス・早期終了)、推論(Inference Recommender・自動スケーリング・マルチモデルエンドポイント・サーバーレス・Savings Plans for SageMaker)、開発(ノートブックの自動停止)で最適化します。コストは Cost Explorer とタグで可視化します。

仕組み・手順

  1. Cost Explorer とタグで、プロジェクトごとの ML の費用を把握する
  2. 学習にスポットトレーニングを使う
  3. 推論のインスタンスを Inference Recommender で適正化する
  4. 使われていないエンドポイントやノートブックを停止・削除する
  5. 安定した利用には SageMaker の Savings Plans を使う

業務での例

夜間に使われない開発用のエンドポイントを削除し、Studio のアイドルのノートブックを自動停止して、月の費用を 40% 減らす。

紛らわしい点・試験の注意

ミニクイズ

Q1. Bedrock の費用を、経理部と他の部署で分けて見たい。最も適切な方法はどれか。

  1. 部署ごとにアプリケーション推論プロファイルを作ってタグを付け、コスト配分タグで集計する
  2. 部署ごとに AWS の請求書を印刷して、それぞれが使った量を手作業で推測して書き込むことにする
  3. すべての部署で同じモデルの ID を使い、月末に費用を人数で割って配ることにする
  4. 費用は部署で分けずに、すべて経理部が使ったものとして記録することにする
答えと解説を見る

正解:A 部署ごとにアプリケーション推論プロファイルを作ってタグを付け、コスト配分タグで集計する

アプリケーション推論プロファイルにタグを付けると、Bedrock の使用量と費用をタグごとに追跡できる。

Q2. Cost Explorer で見ると、SageMaker Studio の使われていないアプリの費用が大きい。次に行うべきこととして最も適切なものはどれか。

  1. Cost Explorer の表示を止めて、費用のグラフを誰も見ないようにしておく
  2. アイドル時の自動のシャットダウンを設定し、使われていないアプリを止める
  3. Studio の利用者の数を増やして、アプリが使われるようにしておく
  4. すべてのアプリのインスタンスを最大の種類に変えて、作業を速くする
答えと解説を見る

正解:B アイドル時の自動のシャットダウンを設定し、使われていないアプリを止める

Studio のアイドル時のシャットダウンで、使われていないアプリを自動で止めて費用を減らせる。

参考リンク

4.3ワークロードとエンドポイントのセキュリティを確保する

4.3 ML と AI のワークロードとモデルエンドポイントのセキュリティを確保する。

概念

ML のセキュリティは、IAM(SageMaker Role Manager で役割ごとの最小権限のロール)、ネットワークの分離(VPC の中での学習とホスティング、ネットワークの分離モード、VPC エンドポイント)、暗号化(KMS で S3・EBS・学習の通信)、Bedrock の API キーなどの認証情報の管理で確保します。

仕組み・手順

  1. SageMaker Role Manager で、データサイエンティスト・MLOps などの役割のロールを作る
  2. 学習ジョブとエンドポイントを VPC の中に置き、インターネットへの通信を制限する
  3. S3 と EBS のデータを KMS で暗号化する
  4. エンドポイントの呼び出しを IAM で制御する
  5. Bedrock の API キーは短期のものを使い、長期のものは厳格に管理する

業務での例

医療データの学習ジョブをネットワークの分離モードで実行し、外部への通信を完全に遮断して、データは VPC エンドポイント経由で S3 から読む。

紛らわしい点・試験の注意

ミニクイズ

Q1. データサイエンティスト・MLOps のエンジニアなどの役割ごとに、SageMaker AI の適切な権限のロールを手早く作りたい。最も適切な方法はどれか。

  1. 管理ポリシー AmazonSageMakerFullAccess を、全員のロールに付ける
  2. IAM Access Analyzer でポリシーを生成し、各ロールの雛形にする
  3. IAM Identity Center の許可セットに AdministratorAccess を割り当てる
  4. SageMaker Role Manager で、ペルソナと ML の作業に合わせたロールを作る
答えと解説を見る

正解:D SageMaker Role Manager で、ペルソナと ML の作業に合わせたロールを作る

Role Manager は、ペルソナと ML の作業に合わせた最小の権限のロールを作るのを助ける。 【他の選択肢】FullAccess や AdministratorAccess は最小権限に反する。Access Analyzer のポリシーの生成は過去の操作の記録が必要で、新しい役割の手早い作成に向かない。

Q2. 外部から提供されたアルゴリズムのコンテナで学習する。学習の中のコンテナから、外部への通信をすべて禁止したい。最も適切な設定はどれか。

  1. インスタンスの数を 1 台にして、通信の量が少なくなるようにしておく
  2. 学習ジョブでネットワークの分離(EnableNetworkIsolation)を有効にする
  3. 学習ジョブの名前に「外部の通信の禁止」と書いて、目印にしておく
  4. コンテナの中のログを無効にして、通信の記録が残らないようにする
答えと解説を見る

正解:B 学習ジョブでネットワークの分離(EnableNetworkIsolation)を有効にする

ネットワークの分離を有効にすると、学習や推論のコンテナは外部のネットワークに接続できなくなる。

参考リンク

レッスンは当サイトがAWS 認定の公式ページと公式試験ガイドをもとに独自に作成したもので、試験の内容を保証するものではありません。製品の仕様は変わることがあるため、参考リンク先の最新情報を確認してください。

ご利用上の注意(非公式・独自問題・合格保証なし)