1. Amazon SageMakerとは
Amazon SageMakerは、AWSが提供するエンドツーエンドの機械学習(ML)開発プラットフォームです。
データ準備からモデルの構築・トレーニング・デプロイ・運用監視まで、すべてAWS環境内で完結できます。
※2024年12月3日より「SageMaker AI」に改称されましたが、2025年3月時点のAWS認定試験では依然として「SageMaker」という名称が使われている可能性があります。
2. 一般的なワークフロー
2.1. SageMaker Studioを起動する
AWSマネジメントコンソールから「SageMaker」を選択し、統合開発環境(IDE)であるSageMaker Studioを起動します。
2.2. データを準備する
学習データは主にAmazon S3に保存し、SageMakerから取り込みます。
取り込みモードによるパフォーマンスの違いに注意が必要です。
- Pipe:ストリーミング方式。低レイテンシ・高速処理向き。
- File:標準的なファイル読み込み方式。
- FastFile:Pipeよりさらに高速な最新方式。
2.3. ノートブック環境でコーディングする
SageMaker Studio内のJupyterベースノートブックで、データ処理・モデル構築・トレーニングコードを記述します。
2.4. トレーニングジョブを実行する
定義したトレーニングジョブをSageMaker上で実行し、必要に応じてインスタンスタイプや分散学習を選択できます。
2.5. モデルをホスティング(デプロイ)する
完成したモデルをエンドポイントとしてデプロイし、リアルタイム推論またはバッチ推論を実施します。
3. SageMakerの主要機能
機能名 | 概要 | Studio依存 |
---|---|---|
3.1. SageMaker Managed Warm Pools | トレーニングインスタンスの事前起動保持 | ❌ 不要 |
3.2. SageMaker Canvas | ノーコードでのML構築ツール | ✅ 必須(Canvas専用UI) |
3.3. SageMaker Clarify | バイアス検出と説明可能性分析 | ❌ 不要(SDKで利用可) |
3.4. SageMaker Feature Store | 特徴量の保存と共有 | ❌ 不要(ただしStudioでのGUI表示は便利) |
3.5. SageMaker JumpStart | 事前学習済みモデルのテンプレート群 | ✅ 必須(StudioのGUI上のみ) |
3.6. SageMaker Model Cards | モデルのドキュメントテンプレート | ✅ StudioからのGUI操作が基本(SDKでも可) |
3.7. SageMaker Neo | モデルのクロスコンパイル | ❌ 不要 |
3.8. SageMaker Pipelines | ワークフロー自動化 | ✅ Studio推奨(SDK単独でも利用可だがUIはStudio限定) |
3.9. SageMaker with TensorBoard | トレーニング中の可視化 | ✅ Studioに統合されている |
3.10. SageMaker Data Wrangler | GUIによる前処理パイプライン構築 | ✅ 必須(Studio専用) |
3.1. SageMaker Managed Warm Pools
トレーニング後のインフラを保持し、再利用することで次回トレーニングの起動レイテンシーを削減できます。
反復実験やパラメータチューニング時に有効。
3.2. SageMaker Canvas
コード不要で機械学習モデルを作成・予測できるノーコードツール。
主に非エンジニア向け。
3.3. SageMaker Clarify
データやモデルの潜在的バイアス検出と 説明可能性評価(Explainability) をサポートします。
バイアス対策や監査対応に必須。
3.4. SageMaker Feature Store
特徴量データ を保存・管理・共有できるサービス。
オンラインストア(リアルタイム推論用) と オフラインストア(バッチ学習用 を区別して使用します。
3.5. SageMaker JumpStart
事前学習済みモデルやテンプレートソリューションをすぐに利用できる。
内部ではSageMakerインスタンスを使用するため、サーバーレスではない点に注意。
3.6. SageMaker Model Cards
モデルの目的・使用データ・リスクなどを記述するドキュメントテンプレートを提供。
モデルガバナンスや説明責任が求められる場面で有効。
3.7. SageMaker Neo
一度学習したモデルを、どこでも超高速に動かすためにコンパイルするサービス。
3.8. SageMaker Pipelines
データ前処理、トレーニング、デプロイなどMLワークフローを一連のパイプラインとして自動化します。
CSV, JSON, Parquetなど、複数のデータ形式に対応。
3.9. SageMaker with TensorBoard
トレーニング過程の可視化とデバッグを支援。
ただし、自動で異常検知や最適化を行う機能はない点に注意。
3.10. SageMaker Data Wrangler
GUIベースでデータ前処理・特徴量エンジニアリングを効率化できる。
特に大量の特徴量作成や前処理パイプライン構築など 重いGUI系 に用いる。
【Data WranglerでTF-IDFを適用する例】
- データインポート:Amazon S3からレビューや売上データを取り込む。
- 特徴量化:Data Wranglerの「変換」機能でTF-IDFを適用。
- エクスポート:前処理後のデータをSageMakerトレーニング用に保存。
4. SageMaker組み込みアルゴリズム例
-
Linear Learner(線形学習器)
線形回帰・ロジスティック回帰・二項分類・多クラス分類・回帰タスク対応。 -
XGBoost
勾配ブースティングによる分類・回帰タスク。 -
k-means
非階層型クラスタリングアルゴリズム。 -
Factorization Machines
レコメンデーションシステム向け、疎データにも対応可能。 -
DeepAR
RNNを用いた時系列モデル。