AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
AWSサービスの一つであるAmazon SageMakerはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon SageMaker AIは、機械学習(ML)モデルの構築、データ準備、トレーニング、チューニング、デプロイ、監視を支援するフルマネージドサービスです。
2024年12月に従来のAmazon SageMakerはAmazon SageMaker AIへ名称変更されましたが、AWS CLI、API、CloudFormationリソース、IAM管理ポリシーなどの名前空間は互換性のため引き続きsagemakerやAWS::SageMakerを使用します。
「Amazon SageMaker」はデータ、分析、AIを統合する大きなプラットフォーム名として使われ、その中のML構築・学習・推論機能がSageMaker AIです。 認定試験では、SageMaker AIを「自前でML基盤を構築せずにモデル開発ライフサイクルを管理するサービス」と捉え、Amazon Bedrock(基盤モデルをAPIで使う生成AIサービス)との違いを押さえることが重要です。
2. 主な特徴と機能
2.1 開発環境とノーコード/ローコード
SageMaker Studioはノートブック、コードエディタ、実験管理、モデル登録、推論設定などをまとめて扱える統合開発環境です。 SageMaker Canvasはコードを書かずに予測モデルや生成AI連携を試せるビジネスユーザー向け機能で、Autopilotは表形式データなどからアルゴリズム選択、特徴量処理、ハイパーパラメータ探索を自動化します。
2.2 トレーニングとチューニング
トレーニングジョブはS3/EFS/FSxなどのデータを読み込み、組み込みアルゴリズム、組み込みコンテナ、独自コンテナ、PyTorch/TensorFlowなどのフレームワークを使って実行します。 分散トレーニング、スポットトレーニング、Managed Warm Pools、デバッガー、Automatic Model Tuningにより、学習時間とコストを最適化できます。
2.3 推論オプション
推論は、低遅延のリアルタイムエンドポイント、アクセスが不定期なServerless Inference、大きな入力や長時間処理に向くAsynchronous Inference、オフライン一括処理のBatch Transformを使い分けます。 1つのエンドポイントで複数モデルを扱うMulti-Model Endpointや、GPU共有を効率化するMulti-Container/Inference Componentsもコスト最適化で重要です。
2.4 MLOpsとガバナンス
SageMaker Pipelinesはデータ処理、学習、評価、登録、承認、デプロイをワークフロー化します。 Model Registryでモデルバージョンと承認状態を管理し、Model Cardsで用途・制約・評価結果を文書化できます。Feature Storeは学習時と推論時で同じ特徴量を再利用するためのオンライン/オフラインストアを提供します。
2.5 監視・説明可能性・品質管理
Model Monitorはデータ品質、モデル品質、バイアス、特徴量アトリビューションのドリフトを検出します。 SageMaker Clarifyはバイアス検出と説明可能性、Debuggerは学習中のテンソルやシステムメトリクスを分析します。CloudWatchメトリクス/ログと組み合わせて、精度低下やリソース逼迫を検知します。
2.6 データラベリングとデータ処理
Ground Truthは人手・自動ラベリングを組み合わせて教師データを作成します。 Processing Jobsは前処理、特徴量作成、評価、バッチETLに使え、SageMaker Data WranglerやSpark/Rayなどと組み合わせて大規模データを扱えます。
3. アーキテクチャおよび技術要素
- 学習データをS3、EFS、FSx for Lustreなどに配置し、必要に応じてGround TruthやProcessing Jobsで整備する。
- StudioまたはSDK/CLIからトレーニングジョブを起動し、ECR上のコンテナと指定インスタンスで学習する。
- 学習済みアーティファクトをS3に保存し、評価結果とともにModel Registryへ登録する。
- PipelinesやCI/CDで承認済みモデルをリアルタイム、サーバーレス、非同期、バッチのいずれかへデプロイする。
- CloudWatch、Model Monitor、Clarifyで性能・品質・バイアス・ドリフトを監視し、必要に応じて再学習する。
- IAM実行ロール、KMS、VPC設定、ネットワーク分離でデータとモデルを保護する。
試験では「トレーニングはジョブ単位、推論は用途に応じたエンドポイント/バッチ単位」と整理すると、設計問題で選択しやすくなります。
4. セキュリティと認証・認可
- IAM実行ロール: SageMaker AIがS3、ECR、CloudWatch、KMSなどへアクセスするためのロール。最小権限で付与する。
- VPC内実行: ノートブック、トレーニング、推論をVPCサブネット内に配置し、セキュリティグループやVPCエンドポイントで閉域化できる。
- ネットワーク分離: トレーニングコンテナの外部ネットワークアクセスを遮断し、機密データの持ち出しを抑制する。
- 暗号化: S3学習データ、モデルアーティファクト、EBSボリューム、Feature StoreなどでKMSキーを指定できる。転送中はTLSで保護する。
- 監査: CloudTrailでAPI操作を記録し、CloudWatch Logsでジョブ/エンドポイントログを確認する。
- ライフサイクル設定: Studio/Notebookインスタンスの起動スクリプトで標準設定を適用できるが、権限やシークレットの扱いに注意する。
5. 料金形態
SageMaker AIは、利用したリソースに基づく従量課金です。学習・推論リソースを停止し忘れるとコストが増えやすいため、試験でもコスト最適化の観点で問われます。
- トレーニング: インスタンスタイプ、台数、実行時間、ストレージ、データ転送に応じて課金。Managed Spot Trainingで中断を許容できる学習コストを削減できる。
- 推論: リアルタイム/非同期エンドポイントは稼働時間、Serverless Inferenceはリクエストと実行時間、Batch Transformは処理時間で課金される。
- 開発環境: Studioアプリ、ノートブック、Canvasなどの利用時間と関連ストレージが課金対象になる。
- MLOps/監視: Feature Store、Model Monitor、Clarify、Pipelines、Data Wranglerなどは利用リソースや保存量に応じて課金される。
- コスト削減: 不要なエンドポイント停止、Serverless/Batchの選択、スポット学習、適切なインスタンス選定、オートスケーリングを組み合わせる。
6. よくあるアーキテクチャ・設計パターン
- 標準MLパイプライン: S3にデータを置き、Processing Jobsで前処理、Training Jobsで学習、Model Registryで承認、Endpointへデプロイする。
- 低遅延推論API: アプリケーションがリアルタイムエンドポイントを呼び出し、Application Auto Scalingで負荷に応じてスケールする。
- 不定期推論: トラフィックが少ない/断続的な場合はServerless Inferenceを使い、常時起動コストを避ける。
- 大きなペイロードや長時間推論: Asynchronous InferenceでリクエストをS3経由にし、処理完了をSNS/EventBridgeなどで受ける。
- 一括スコアリング: 夜間バッチや大量データの推論はBatch Transformを選び、エンドポイント常時稼働を避ける。
- ガバナンス重視MLOps: Pipelines、Model Registry、Model Cards、Clarify、CloudTrailで承認・説明可能性・監査証跡を整える。
7. 設定・デプロイ手順(ハンズオン例)
- S3バケットに学習データを配置し、SageMaker AI用のIAM実行ロールを作成する。
- Studioを開き、ノートブックまたはSDKでデータ確認と前処理を行う。
- 組み込みアルゴリズムまたは独自コンテナを指定してトレーニングジョブを実行する。
- 評価メトリクスを確認し、必要に応じてAutomatic Model TuningやAutopilotを利用する。
- モデルをModel Registryへ登録し、承認後にリアルタイム/サーバーレス/非同期/バッチの方式を選んでデプロイする。
- CloudWatch、Model Monitor、Clarifyで運用監視し、ドリフトや精度低下を検知したらPipelinesで再学習する。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: SageMaker AIは何をするサービス?
A: 機械学習モデルの構築、トレーニング、チューニング、デプロイ、監視をフルマネージドで支援するサービス。 - Q: Amazon Bedrockとの違いは?
A: Bedrockは基盤モデルをAPIで利用して生成AIアプリを作るサービス、SageMaker AIは独自MLモデルの開発・学習・推論・MLOpsを管理するサービス。 - Q: 2024年の名称変更で試験上注意する点は?
A: サービス名はAmazon SageMaker AIだが、API/CLI/CloudFormation/IAMなどの名前空間は従来のSageMaker表記が残る。
8.2 トレーニングとデータ準備
- Q: 教師データのラベリングを効率化するには?
A: SageMaker Ground Truthを使い、人手ラベリングと自動ラベリングを組み合わせる。 - Q: 学習前の前処理や評価処理をマネージドに実行するには?
A: SageMaker Processing Jobsを使う。 - Q: 学習コストを下げたいが中断を許容できる場合は?
A: Managed Spot Trainingを使う。 - Q: ハイパーパラメータを自動探索したい場合は?
A: Automatic Model Tuningを使う。 - Q: ML知識が少ないユーザーが表形式データからモデルを自動作成するには?
A: SageMaker AutopilotまたはCanvasを検討する。
8.3 推論方式の選択
- Q: ミリ秒から秒単位の低遅延推論APIが必要な場合は?
A: リアルタイムエンドポイントを使う。 - Q: リクエストが少なく不定期で、常時起動コストを避けたい場合は?
A: Serverless Inferenceを使う。 - Q: 入力が大きい、処理が長い、即時応答が不要な推論は?
A: Asynchronous Inferenceを使う。 - Q: 大量データを一括でスコアリングしたい場合は?
A: Batch Transformを使う。 - Q: 多数の小規模モデルを1つの推論基盤で低コスト運用したい場合は?
A: Multi-Model Endpointを使う。
8.4 MLOpsと監視
- Q: MLワークフローをCI/CDのように自動化するには?
A: SageMaker Pipelinesを使う。 - Q: 承認済みモデルのバージョン管理をするには?
A: Model Registryを使う。 - Q: 推論後にデータ品質やドリフトを検知するには?
A: SageMaker Model Monitorを使う。 - Q: バイアス検出や説明可能性を確認するには?
A: SageMaker Clarifyを使う。 - Q: 学習中の問題やリソース使用状況を分析するには?
A: SageMaker DebuggerとCloudWatchを使う。
8.5 セキュリティとコスト
- Q: SageMaker AIがS3やECRへアクセスする権限は何で付与する?
A: IAM実行ロールで最小権限を付与する。 - Q: 学習データやモデルを閉域で扱いたい場合は?
A: VPC内実行、VPCエンドポイント、セキュリティグループ、ネットワーク分離、KMS暗号化を組み合わせる。 - Q: 使っていない推論エンドポイントで注意すべきことは?
A: リアルタイム/非同期エンドポイントは起動中に課金されるため、不要なら停止・削除する。 - Q: 学習時と推論時で同じ特徴量を再利用したい場合は?
A: SageMaker Feature Storeを使う。