この記事について海外で公開された情報をもとにAIが要約・解説した記事です。原文の翻訳ではありません。正確な内容は記事末尾の出典元をご確認ください。
この記事の要点
  • v3でEstimator系を廃止し、訓練はModelTrainerに統一
  • SourceCodeでコードを実行時に注入、コンテナ再ビルド不要
  • scikit-learnとStable Diffusion 3.5の例を公開

発表の概要

アマゾン・ウェブ・サービス(AWS)は2026年8月26日、機械学習プラットフォーム「Amazon SageMaker AI」向けのPython SDK v3でスクリプトモードを刷新したと発表した。スクリプトモードは、AWSが提供するマネージドなコンテナ上で独自の学習・推論コードを動かす仕組みで、2021年にも解説記事が公開されていた。今回の記事では、v3で追加された新APIの使い方を、2つの実例を通して説明している。

v3では、従来のフレームワーク別Estimatorクラス(SKLearn、PyTorch、XGBoost)を廃止し、訓練にはModelTrainer、デプロイにはModelBuilderという2クラスに統一した。これにより、フレームワークの種類によらず同じインターフェースで操作できるようになったとしている。また、ローカルのソースコードディレクトリを実行時に訓練ジョブへ同期するSourceCodeオブジェクトも導入された。

新APIの仕組み

SourceCodeオブジェクトは、source_dirで指定したローカルディレクトリを、ジョブ起動時にコンテナ内へ同期する。訓練時はcommandでシェルコマンドを指定し、推論時はentry_scriptでエントリポイントを指定する。この設計により、コードとコンテナイメージが分離され、学習スクリプトを変更してもDockerイメージの再ビルドが不要になる。

ModelTrainerは、従来のEstimatorの後継に当たるクラスで、訓練イメージ、SourceCode、計算リソース、出力先などを指定してtrainメソッドを呼ぶ。ModelBuilderは推論ハンドラとモデルアーティファクトをまとめてパッケージ化し、リアルタイムエンドポイントを作成する。どちらも既存のv2のAPIよりも少ないコードで記述できるとみられる。

v2との違い

v2ではフレームワークごとにSKLearn、PyTorch、XGBoostといったEstimatorクラスが存在し、学習コードをコンテナに組み込むための仕組みも異なっていた。v3ではこれらがModelTrainerに統合され、コンテナに対する前提条件が減った。AWS Deep Learning Containerを使う場合も、自作イメージを使う場合も、同じAPIで扱える。

推論側も、v2のModel/PredictorパターンがModelBuilderに置き換わった。ModelBuilderは選択したモデルサーバー(例: DJL Serving)の慣習に合わせて、推論ハンドラとモデルアーティファクトを自動的に再パッケージする。コンテナ内のPythonライブラリやCUDAライブラリも自由に導入でき、SDKが内部を仮定しない点が特徴だ。

具体例と注意点

1つ目の例は、糖尿病データセットを使ったscikit-learnのRandom Forest分類器の訓練とデプロイだ。訓練用コンテナはPython 3.13ベースの最小限のDockerfileで構成され、コードは含めない。学習スクリプトを変更しても、イメージはそのままにSourceCodeの内容だけを差し替えて再実行できる。デプロイには、AWSが提供するDJL ServingのDockerコンテナを利用している。

2つ目の例は、Hugging Face Accelerateを使ったStable Diffusion 3.5のLoRA微調整で、マルチGPU分散訓練に対応する。一方で、v3のスクリプトモードを使うには、SageMaker SDK v3のインストールに加え、訓練用のコンテナイメージをAmazon ECRにプッシュしておく必要がある。SageMaker StudioのJupyterLabスペースで利用する場合は、ドメインレベルでDockerアクセスを有効化しなければならない。

SageMaker SDK v2とv3のスクリプトモードの比較
項目SDK v2SDK v3
訓練用クラスフレームワーク別EstimatorModelTrainer
推論用クラスModel / PredictorModelBuilder
コードの指定方法Estimatorにsource_dir等を指定SourceCodeオブジェクトで指定
フレームワーク対応フレームワークごとに別クラス共通インターフェース
原文からの引用
Script mode was a leap forward: you didn’t need to build or maintain Docker images to run your own algorithm on Amazon SageMaker AI.

スクリプトモードは飛躍的な進歩でした。Amazon SageMaker AI上で独自のアルゴリズムを動かすために、Dockerイメージを構築したり管理したりする必要がなくなったのです。

今後の見通し

v3のスクリプトモードは、コンテナの再ビルド不要でイテレーションを高速化できるため、SageMaker AIを使う開発者にとっては、モデル開発のワークフローが大きく変わる可能性がある。今後は、既存のv2コードを機械的に移行するツールや、より詳細な比較資料が提供されるかどうかが、普及の鍵になりそうだ。また、今回紹介された2つの例以外にも、独自の推論バイナリやCUDAライブラリを使うケースでの実績が増えれば、採用を検討しやすくなるとみられる。

日本の開発者・IT企業にとっての意味

日本のIT企業では、PoCや内製モデルの開発にAmazon SageMakerを利用するケースが増えている。v3のスクリプトモードは、Dockerに詳しくないMLエンジニアでも独自の学習コードを動かしやすくなる点で意味がある。訓練用イメージを一度ビルドしておけば、アルゴリズムの修正はコードだけを同期して再実行できるため、実験サイクルの短縮につながる。また、ModelBuilderによるデプロイも統一APIで行えるため、フレームワークの移行コストを下げられる。一方、既存のv2ベースのコード資産は書き換えが必要であり、移行計画を立てる際には、APIの差分を把握しておくことが重要だ。

気になる点

SageMaker SDK v3はどこからインストールできますか?
pip install sagemaker>=3.0 でインストールできます。公開済みのバージョンを利用でき、AWSアカウントとAmazon SageMaker AIのアクセス権限が必要です。
訓練用のDockerイメージは必須ですか?
はい。v3のスクリプトモードでは、訓練用にAmazon ECRへプッシュしたコンテナイメージが必要です。自作のほか、AWS Deep Learning Containerやサードパーティのイメージも利用できます。推論側はマネージドのDJL Servingコンテナも使えます。
既存のv2スクリプトはどう移行すればよいですか?
移行手順は現時点では公表されていません。ただし、v2のEstimatorやModel/PredictorはModelTrainerとModelBuilderに置き換わるため、対応が必要とみられます。詳細な移行ガイドが公開されるかどうかは不明です。

用語解説

SageMaker AI
AWSの機械学習プラットフォーム。モデルの訓練・デプロイをマネージドに実行できる。
ModelTrainer
SageMaker SDK v3で導入された、訓練ジョブを設定・起動する新しいクラス。
ModelBuilder
SageMaker SDK v3で導入された、推論ハンドラとモデルをまとめてデプロイするクラス。
SourceCode
ローカルのコードディレクトリを、実行時にコンテナへ同期するための設定オブジェクト。
DJL Serving
高性能なモデルサーバー。Deep Java Libraryの略。SageMakerの推論コンテナとして利用できる。
LoRA
大規模モデルを低コストで微調整する手法。Stable Diffusionなどで利用される。

出典

Bring your own model with Amazon SageMaker AI: Script mode in SDK v3

Amazon Web Services / Bobby Lindsey / 2026年8月27日

https://aws.amazon.com/blogs/machine-learning/bring-your-own-model-with-amazon-sagemaker-ai-script-mode-in-sdk-v3

AI導入も顧問も、お任せください

何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。

AI導入について相談する