0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS SageMaker機能整理

Posted at

はじめに

最近、機械学習基盤の構築で SageMaker を使うことが増えてきたものの、これは単一のサービス名ではなくて、中にいろんな機能群があるため、その整理や用いる際における実務よりな注意点を整理する。

なお、今回の記事の目的は概要整理レベルなので、コード例などの詳細は割愛。
触り始めるときの判断材料になることを意識してまとめています。

0.料金の参考リンク

まず、料金周りが一番ややこしいので、公式ページを貼っておきます
大雑把にまとめると以下です。余計なものを立ち上げなければお金はかからないので、そこに注意してサービスを眺めるのは無邪気にチャレンジしてもOK

・全体GUIにあたるStudioは無料
・サーバはSageMakerに特化(インスタンス名にmlが入る)しており、オンデマンドインスタンスよりもわずかに高い
・EBS費用の無料枠はないので、作ると一律で課金
https://aws.amazon.com/jp/sagemaker/pricing/

1. SageMaker Studio

SageMakerを使うときの入り口になる Web ベースの IDE。ノートブックだけでなく、Pipelines や Model Monitor などの他サービスも Studio 上から操作できるようになっている。

image.png

  • 料金: Studio自体は無料。
    課金されるのは、起動するコンピュートインスタンスとストレージ(EBSなど)

  • 使いどころ:
    ・実験段階でのノートブック開発
    ・MLOpsワークフローの管理・可視化

  • 補足:Studioドメインを作成しただけでは課金されないが、インスタンス起動中はしっかり課金されるため、インスタンスの停止を忘れると、知らないうちにコストが跳ね上がるので要注意

2. SageMaker Pipelines

機械学習の前処理〜学習〜デプロイまでの一連の流れを コードで定義・自動化できるパイプライン機能。
Python SDK(sagemaker.workflow)を使って各ステップを定義でき、Studio上から可視化・管理できる点が強み。

  • 料金: パイプライン自体は無料。各ステップで使用されるインスタンスに課金される。

  • 使いどころ:
    ・再現性のあるMLパイプラインを構築したいとき
    ・MLタスク向けの抽象化(TrainingStep, ModelStepなど)があるので記述が楽
    ・SageMaker内の他サービス(Feature Store, Model Registry, Monitorなど)と連携がしやすい
    ・Studio上で完結するMLOps環境を作りたいとき

3.SageMaker Data Wrangler

GUIベースでS3やRedshiftなどのデータを前処理・結合・可視化できるノーコード系ツール。
データ処理フローを作って、それをスクリプトやProcessing Jobとして出力できる。

  • 料金: インスタンス起動時間 + データ処理ジョブ実行時間に課金される。

  • 使いどころ:
    ・ノートブックを書かずに前処理を済ませたいとき
     ・非エンジニアも含めてデータ探索・加工を素早く回したいとき

  • 補足:
     ・GUI操作で完結するが、裏でインスタンスが動いているため停止を忘れずに
     ・処理フローは .flow ファイルとして保存・再利用可能

4. SageMaker Inference Recommender

モデル推論用に適したインスタンスを、自動的にベンチマークして提案してくれる機能。
スループットやレイテンシの制約を設定しておくと、それに合う構成を選んでくれる。

  • 料金: Recommender自体は無料。ベンチマークに使われるインスタンスは課金対象。

  • 使いどころ:
    ・本番環境のエンドポイント設計時に、最適なインスタンス選定をしたいとき
    ・想定コストを試算したいとき

5.SageMaker Serverless Inference

インスタンスを常時起動しておかなくても、リクエストが来たときだけ動作する推論エンドポイント。いわゆる「推論版Lambda」的な使い方ができる。

  • 料金: 推論処理時間 + 同時実行数 + 転送量に応じて課金

  • 使いどころ:
    ・推論頻度が低いユースケース(例:夜間バッチ)
    ・サーバーレスアーキテクチャと統合したいとき(EventBridgeなど)

6. SageMaker Feature Store

ML用の特徴量をオンライン/オフラインで一元管理できる専用ストア。特徴量の再利用性や一貫性を保つことができる。

  • 料金: ストレージ + リクエスト数に応じて課金

  • 使いどころ:
    ・学習時と推論時で同じ特徴量を使いたいとき(再現性の担保)
     ・複数のモデルで共通の特徴量セットを使い回したいとき

7. SageMaker Processing

バッチ形式での前処理・評価処理などを、独立したジョブとしてスクリプト+コンテナベースで実行できる。ノートブックよりも運用向きの処理手段。

  • 料金: インスタンスの種類と実行時間に応じて課金

  • 使いどころ:
    ・画像の一括リサイズや、学習済みモデルのバッチ評価など
     ・データセットの前処理を定期的に回すとき

  • 補足:入出力は基本的にS3。スクリプトやDockerを準備して定義すれば再利用性が高い

8. SageMaker Debugger

学習中の勾配・損失・重みの変化などをリアルタイムで取得・可視化できる機能。過学習や学習の停滞を検知して自動停止も可能。

  • 料金: Debugger自体は無料。実行中の学習ジョブに対しては通常の課金

  • 使いどころ:
    ・高コストな長時間学習を早期に中断・修正したいとき
     ・学習挙動を分析してモデル改善したいとき

  • 補足:PyTorchやTensorFlowなど主要フレームワークにはHookを入れるだけで対応可能

    1. SageMaker Model Monitor
      本番デプロイ済みモデルに対して、入力データの分布や出力結果の異常(ドリフト)を定期的に検出できる機能。
  • 料金: Monitoring Jobで使用されるインスタンス分に課金

  • 使いどころ:
    ・本番運用中のモデルの精度劣化検知

  • 補足:ベースライン作成は自動でもできるが、チューニングが必要なケースも多い

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?