MLA-C02 · LESSON 3
ML と AI のワークフローのデプロイとオーケストレーション24% · 3項目
ML と AI のモデルのデプロイのインフラ、リソースのプロビジョニングと設定、MLOps の自動化と CI/CD を学びます。
3.1デプロイのインフラストラクチャを管理する
3.1 ML と AI のモデルタイプのデプロイインフラストラクチャを管理する。
概念
SageMaker の推論の選択肢は、リアルタイム推論(低遅延・常時稼働)、サーバーレス推論(断続的なトラフィック・コールドスタートあり)、非同期推論(大きなペイロード・長い処理・キューで受け付け・0 台までスケール)、バッチ変換(大量のデータの一括処理)です。多数の小さなモデルはマルチモデルエンドポイント、複数のコンテナはマルチコンテナエンドポイントで集約します。
仕組み・手順
- レイテンシ・ペイロードのサイズ・処理時間・トラフィックのパターンを確認する
- 低遅延で常時の利用はリアルタイム、断続的ならサーバーレス
- 大きな入力や数分かかる処理は非同期推論
- 定期的な大量の予測はバッチ変換
- 顧客ごとの多数のモデルはマルチモデルエンドポイントでまとめる
業務での例
顧客ごとに 1,000 個ある需要予測のモデルを、マルチモデルエンドポイント 1 つにまとめ、呼ばれたモデルだけをメモリに読み込んでコストを下げる。
紛らわしい点・試験の注意
- サーバーレス推論は GPU を使えない
- 非同期推論は結果を S3 に出力し、SNS で完了を通知できる
- バッチ変換は永続的なエンドポイントを作らない
ミニクイズ
Q1. 独自の推論のコンテナを SageMaker AI のエンドポイントで動かす。コンテナを置く場所として最も適切なものはどれか。
- Amazon ECR のリポジトリにイメージをプッシュする
- Amazon S3 のバケットに Dockerfile だけを置いておく
- Amazon EFS のファイルシステムにソースコードを置く
- 担当者のパソコンのローカルのレジストリに置いておく
答えと解説を見る
正解:A Amazon ECR のリポジトリにイメージをプッシュする
SageMaker AI はコンテナのイメージを ECR から取得する。
Q2. SageMaker のサーバーレス推論の説明として誤っているものはどれか。
- 使っていないときは容量が 0 になり、使った分だけ課金される
- メモリの大きさと最大の同時実行の数を設定する
- GPU のインスタンスを指定して、大きな深層学習のモデルを動かせる
- しばらく使わないと、最初の要求でコールドスタートが起きることがある
答えと解説を見る
正解:C GPU のインスタンスを指定して、大きな深層学習のモデルを動かせる
サーバーレス推論は GPU に対応しない。GPU が必要ならリアルタイム推論や非同期推論を使う。
参考リンク
3.2リソースをプロビジョニングして設定する
3.2 既存のアーキテクチャと要件に基づいて ML と AI のワークロードのリソースをプロビジョニングして設定する。
概念
エンドポイントのインスタンスの種類(CPU・GPU・Inferentia)とサイズ、自動スケーリング(ターゲット追跡:InvocationsPerInstance など)、VPC の中への配置を、要件に合わせて設定します。SageMaker Inference Recommender は負荷テストで最適なインスタンスを推奨します。インフラは CloudFormation・CDK で定義し、Bedrock では独自のモデルのインポート(カスタムモデルのインポート)も可能です。
仕組み・手順
- Inference Recommender で候補のインスタンスの性能とコストを比べる
- 自動スケーリングのポリシーと最小・最大のインスタンス数を設定する
- エンドポイントを VPC の中に置き、必要な通信だけを許可する
- IaC でエンドポイントの構成を定義する
- 外部で学習したモデルは Bedrock のカスタムモデルのインポートも検討する
業務での例
画像分類のエンドポイントで、Inference Recommender の結果から GPU より安い Inferentia のインスタンスを選び、1 台あたりの呼び出し数でスケールする。
紛らわしい点・試験の注意
- 自動スケーリングの最小を 0 にできるのは一部の構成(非同期推論など)
- 大きすぎるインスタンスは費用が無駄になる
- スケールアウトの速さを考え、クールダウンの時間を調整する
ミニクイズ
Q1. リアルタイムのエンドポイントで、処理に 3 分かかる大きな文書の要求がタイムアウトで失敗する。応答はすぐに返さなくてよい。次に行うべきこととして最も適切なものはどれか。
- サーバーレス推論のエンドポイントに移し、メモリを増やす
- 要求のたびに Batch Transform のジョブを起動して処理する
- インスタンスを大きくし、処理の時間を上限内に収める
- 非同期推論のエンドポイントに移し、結果を S3 に出して完了を通知する
答えと解説を見る
正解:D 非同期推論のエンドポイントに移し、結果を S3 に出して完了を通知する
リアルタイム推論には応答の時間の上限がある。長い処理には、最大 1 時間まで処理できる非同期推論を使う。 【他の選択肢】サーバーレス推論にも応答の時間の上限がある。大きいインスタンスでも上限内に収まる保証がない。要求ごとの Batch Transform は起動に時間がかかり、個別の要求の処理に向かない。
Q2. 新しいモデルを本番に出す前に、どのインスタンスの種類なら遅延と費用の要件を満たせるかを調べたい。最も適切な方法はどれか。
- SageMaker Debugger で学習の資源の使用率を見て、同じ種類を選ぶ
- SageMaker Inference Recommender で、候補のインスタンスに負荷テストを行う
- Compute Optimizer の推奨に従って、推論のインスタンスの種類を選ぶ
- SageMaker Model Monitor で、本番の遅延のメトリクスを監視して比べる
答えと解説を見る
正解:B SageMaker Inference Recommender で、候補のインスタンスに負荷テストを行う
Inference Recommender は、候補のインスタンスで負荷のテストを行い、遅延・スループット・費用を比べる。 【他の選択肢】Model Monitor は本番に出した後の監視。Compute Optimizer は SageMaker のエンドポイントの負荷テストを行わない。学習の資源の使用率は推論の性能を示さない。
参考リンク
3.3MLOps の自動オーケストレーションと CI/CD を実装する
3.3 MLOps と AI のワークロードのための、自動オーケストレーション、継続的インテグレーションおよび継続的デリバリー (CI/CD) パイプラインを実装する。
概念
SageMaker Pipelines は、データの処理 → 学習 → 評価 → 条件(基準を満たすか)→ モデルの登録の流れを自動化します。Model Registry で承認されたモデルを、CodePipeline などでステージング → 本番へデプロイします。デプロイのガードレール(ブルー/グリーン:一括・カナリア・線形、アラームによる自動ロールバック)で安全に切り替えます。
仕組み・手順
- 処理・学習・評価・登録のステップを Pipelines で定義する
- 評価の結果が基準を満たした場合だけモデルを登録する(条件のステップ)
- Model Registry の承認で、デプロイのパイプラインを起動する
- デプロイのガードレールでカナリアの切り替えと自動のロールバックを設定する
- データの到着やスケジュールでパイプラインを起動する
業務での例
新しいデータが S3 に届くと EventBridge から Pipelines が起動し、AUC が 0.85 以上なら登録、承認後に CodePipeline がカナリアで本番に展開する。
紛らわしい点・試験の注意
- Pipelines は ML のワークフロー、CodePipeline はソフトウェアの CI/CD。組み合わせて使う
- モデルの承認の状態(Approved など)でデプロイを制御する
- ロールバックの条件として CloudWatch のアラームを設定する
ミニクイズ
Q1. エンドポイントのモデルの更新の途中で、エラーの率が上がったら自動で前のモデルに戻したい。最も適切な方法はどれか。
- デプロイガードレールで CloudWatch のアラームを指定し、自動のロールバックを設定する
- 更新のたびにエンドポイントを削除してから作り直し、失敗したらまた作り直す
- 担当者が 24 時間画面を見続けて、エラーが増えたら手作業で前のモデルに戻す
- エラーの率のアラームを無効にして、モデルの更新の途中では担当者に通知が来ないようにしておく
答えと解説を見る
正解:A デプロイガードレールで CloudWatch のアラームを指定し、自動のロールバックを設定する
デプロイガードレールは、指定した CloudWatch のアラームが発生すると、自動で前のフリートに戻す。
Q2. Model Monitor がデータのドリフトの違反を見つけたら、自動で再学習のパイプラインを始めたい。最も適切な構成はどれか。
- SNS で違反を担当者に通知し、担当者がパイプラインを起動する
- 違反のアラームを EventBridge で受け、SageMaker Pipelines の実行を始める
- Model Monitor の監視のスケジュールを毎時にし、違反の検出を早める
- SageMaker Clarify のバイアスの監視を加え、ドリフトの原因を調べる
答えと解説を見る
正解:B 違反のアラームを EventBridge で受け、SageMaker Pipelines の実行を始める
EventBridge のルールで、アラームやスケジュールをきっかけに SageMaker Pipelines を起動できる。 【他の選択肢】監視の頻度を上げても再学習は始まらない。SNS の通知では人の操作が残り自動にならない。Clarify の監視は検出の追加で、再学習を起動しない。
参考リンク
レッスンは当サイトがAWS 認定の公式ページと公式試験ガイドをもとに独自に作成したもので、試験の内容を保証するものではありません。製品の仕様は変わることがあるため、参考リンク先の最新情報を確認してください。
ご利用上の注意(非公式・独自問題・合格保証なし)
- 本サイトの問題は、公式に公開されているスキル概要・試験ガイドをもとに当サイトが独自に作成した練習問題であり、実際の試験問題ではありません。
- Amazon Web Services、AWS、および関連するマークは、米国その他の国における Amazon.com, Inc. またはその関連会社の商標です。本サイトは AWS(Amazon Web Services)と提携しておらず、AWS による承認・推奨を受けたものではありません。
- 本コンテンツは学習の補助であり、合格を保証するものではありません。試験の内容・形式・前提条件は予告なく変更されます。受験前に必ず公式ページで最新情報を確認してください。
- 本模擬試験の正答率は、公式試験の換算(スケール)スコア(合格 720)とは換算できず、合否を予測するものではありません。
- 未ログイン時の進捗はこのブラウザ内(localStorage)に保存します。Google でログインすると学習記録をアカウントに同期します。端末内の記録とサーバー上の記録は別に削除します。詳しくは保存・同期の説明とCookie・保存設定をご確認ください。