Amazon MLS-C01: デプロイ、推論とサービング(MLの実装と運用) — 学習ガイド
こちらの一部です: AWS Machine Learning Specialty MLS-C01 — 学習ガイド. 検証済みの解答で練習: Amazon試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.
デプロイパターンとサービングオプション
モデルサービングの選択肢は、レイテンシー、コスト、スループット、運用上の複雑さのバランスを取るものです。リアルタイムのSageMakerエンドポイント(プロビジョニングまたはサーバーレス)は、インタラクティブなAPIに適した100ミリ秒未満から数秒クラスのレイテンシーを提供します。CPUモデルにはml.c5/m5、GPUモデルにはml.g4dnやml.p3、低コストで高スループットのInferentia推論にはml.inf1などのインスタンスファミリーを選択します。非同期推論とバッチ変換は、大規模なバッチや可変レイテンシーのユースケースに適しています。バッチ変換は大規模なオフラインジョブに最適で(大きなS3オブジェクトをシャードに分割し、必要に応じてml.m5/c5やGPUインスタンスを使用)、一方、SageMaker非同期推論はキューイングにより、より大きなペイロードをサポートし、ニアリアルタイムのバッチ処理を実現します。マルチモデルエンドポイントは、単一のコンテナの背後で多数のモデルをホストし、オンデマンドでモデルをロードすることでストレージのオーバーヘッドを削減します。モデルが小さく、コールドスタートのコストが控えめで、アクセスパターンがまばらな場合に最適です。予測不可能で低スループットのワークロードには、インスタンス管理を避けるためにSageMaker Serverless Inferenceを選択します。コールドスタートとランタイムの制限に注意してください。主要な決定基準には、レイテンシーのSLO、呼び出しごとのコスト、同時実行パターン、モデルサイズ、コールドスタートへの耐性が含まれます。よくある落とし穴は、非常に大量のバッチワークロードにリアルタイムエンドポイントを使用することです。これはコストがかかります。代わりに、バッチ変換や非同期推論を使用するか、バッチ処理と並行ワーカーを介してエンドポイントを呼び出してください。
スケーリング、トラフィックシェーピング、コスト最適化
オートスケーリング、トラフィックシフト、コスト管理は、デプロイメントトポロジーと合わせて設計する必要があります。Application Auto Scalingを使用して、呼び出しメトリクスやカスタムCloudWatchメトリクスに基づくターゲット追跡ポリシーでSageMakerエンドポイントのバリアントをスケーリングします。スラッシングを避けるために、適切な最小/最大キャパシティとクールダウンを定義してください。ブルー/グリーンデプロイメントやカナリアリリースには、トラフィック分割のパーセンテージと段階的な増加を指定して、マルチバリアントエンドポイントまたはEndpointConfigの更新を使用します。AWS CodeDeployと統合して、トラフィックシフトを自動化します。コスト最適化には、モデルの枝刈り、量子化(FP16またはint8)、Inf1向けのSageMaker NeoやAWS Neuronでのコンパイル、レイテンシーに敏感でないワークロードのバッチ変換やサーバーレス推論への移行が含まれます。スポットインスタンスはトレーニングコストを削減しますが、リアルタイムエンドポイントには適用できません。代わりに、インスタンスタイプ(cpu vs gpu vs inferentia)を適正化し、適切な場合にはマルチモデルエンドポイントでモデルを統合します。インスタンスごとのスループットを理解せずにターゲット追跡を使用した場合の過剰プロビジョニングや、マルチモデルエンドポイントがメモリ制限をなくすと想定するなどの落とし穴に注意してください。モデルのロードには依然としてメモリが必要であり、レイテンシーが増加する可能性があります。また、モデルアーティファクト(ONNX、gz圧縮されたTF SavedModel)を圧縮し、遅延読み込み戦略を使用して、ストレージとコールドスタート時間を削減します。
エッジ、低レイテンシー推論、前/後処理の配置
超低レイテンシーまたは非接続環境向けには、モデルをAWS IoT Greengrass (v2)にデプロイするか、SageMaker Edge Managerを使用してエッジデバイス上のモデルをパッケージ化および監視します。SageMaker NeoまたはAWS IoT Greengrassコンポーネントでコンパイルし、量子化を使用してメモリ/CPUの制約を満たします。エンドツーエンドのレイテンシーとコストを最小化する場所に、前処理と特徴抽出を配置します。単純なフィルターはデバイスのファームウェアやGreengrass Lambdaで実行でき、バッチ処理や重い変換はエッジゲートウェイまたはクラウド上で行います。ストリーミングイベントウィンドウ(例:10分間のスライディングウィンドウ)には、Amazon Kinesis Data StreamsまたはAmazon MSKでデータを取り込み、ウィンドウ処理と集計にはKinesis Data AnalyticsまたはFlink/Apache Sparkを使用し、要約された特徴量をSageMakerエンドポイントまたは軽量なオンエッジモデルに転送します。これにより、ネットワークのアウトプットとモデルの呼び出し頻度が削減されます。エッジデバイスでのモデルのバージョニングを無視したり、モデルアーティファクト用に十分なデバイスストレージをプロビジョニングしなかったりするなどの落とし穴に注意してください。サーバーサイドのマイクロサービスでは、前処理(API Gateway + LambdaまたはALB + Fargate)を同じ場所に配置して、コールドコールのオーバーヘッドを避け、モデルに送信されるペイロードサイズを削減します。
モニタリング、監査、ガバナンス、データハンドリング
運用MLには、継続的なモデルの健全性とデータガバナンスが不可欠です。SageMaker Model Monitorを使用して、DataQualityJobでトレーニングデータをベースライン化し、データドリフト、モデル品質の低下、欠損値、カスタム制約を検出するための継続的なモニタリングを設定します。エンドポイントでDataCaptureConfigを有効にして、入力/出力をS3にキャプチャし、Model Monitorジョブをトリガーします。特徴量レベルのリネージと監査には、Amazon SageMaker Feature Store(オンラインストアとオフラインストア)をAWS Glue Data CatalogおよびCloudTrailと組み合わせて使用し、データセットへのアクセスと変換を追跡します。Amazon MacieとGlue/SageMaker Processingジョブは、トレーニング前にPIIを検出して墨塗り(リダクション)できます。暗号化の落とし穴にはSSE-KMSがあります。S3オブジェクトがカスタマーマネージドCMKで暗号化されている場合、SageMaker実行ロールにkms:Decryptおよびkms:GenerateDataKey権限があること、そしてCMKポリシーがアクセスを許可していることを確認してください。また、S3バケットポリシーやVPCエンドポイントがアクセスをブロックしていないことも確認してください。毎日大量のS3オブジェクト(例:100 GB)を扱う場合は、単一ファイルでの取り込みを避け、多数の小さなオブジェクトにパーティション分割し、Parquet形式で保存して圧縮し、スキーマ検出にはAthena/Glueを使用します。よくある落とし穴には、不十分なモニタリングスケジュール、Model Monitor用の適切なベースラインを生成しないこと、復号が必要なすべてのサービスプリンシパル(SageMaker、Glue、Lambda)にKMSアクセスを許可し忘れることなどがあります。
実践的な問題:ユースケースシナリオ
シナリオ: Streamlytic Mediaは、AWS上でポッドキャスト分析プラットフォームを運営しています。彼らはKinesis Data Streamsを使用してユーザーイベントを取り込み、集計された特徴量をS3に保存し、リアルタイムのエンゲージメント予測のためにSageMakerでモデルをホストしています。データには時折PIIが含まれており、SSE-KMSのカスタマーマネージドキーで暗号化されています。
課題: 10分間のローリングイベントウィンドウで低レイテンシーの予測を提供し、モデルトレーニング前にPIIを墨塗りし、SageMakerが暗号化されたS3データを読み取れるようにし、特徴量ドリフトの継続的なモニタリングを実装すること。
推奨アプローチ:
- Kinesis Data Streamを作成してイベントを取り込み、Kinesis Data Analytics (Flink) を実行して10分間のローリングウィンドウを維持し、集計された特徴量を時間単位のパーティションを持つParquet形式でS3に出力します。
- Amazon Macieを使用してPIIを検出し、SageMaker Processingジョブ(またはAWS Glueジョブ)で決定論的な墨塗り/トークン化を適用します。結果はトレーニング用にFeature Storeのオフラインストアに保存します。
- SageMaker実行ロールにCMKに対するkms:Decryptおよびkms:GenerateDataKeyを付与し、そのロールをCMKのキーポリシーに追加し、S3バケットポリシーまたはVPCエンドポイントがSageMakerからのアクセスを許可していることを確認します。
- モデルをml.inf1インスタンス上のSageMakerリアルタイムエンドポイントとしてデプロイし、DataCaptureConfigを有効にし、トレーニングデータからModel Monitorのベースラインを作成し、CloudWatchへのアラート付きで継続的なモニタリングを設定します。
論理的根拠: Kinesis + Flinkによるストリーミング集計は、イベント量とレイテンシーを最小限に抑えます。処理時の墨塗りは、プライバシーとコンプライアンスを維持します。明示的なKMS権限は、アクセス障害を防ぎます。InferentiaベースのエンドポイントとModel Monitorは、低い推論コストと運用上の可観測性のバランスを取ります。
← トレーニング、分散トレーニングとハイパーパラメータ最適化 · すべてのドメイン · セキュリティ、プライバシーとコンプライアンス →
これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
試験に合格する →