Amazon SageMaker Python SDK v3が発表、スクリプトモード刷新で学習とデプロイのAPIを単一化
要点
-
米Amazon Web Services(AWS)が、機械学習プラットフォーム「Amazon SageMaker AI」向けPython SDK v3における「スクリプトモード」の刷新内容を発表した。
-
フレームワーク固有のクラスを廃止し、学習用を「ModelTrainer」、デプロイ用を「ModelBuilder」の単一クラスにそれぞれ統合した。
-
新機能「SourceCode」により、コンテナの再ビルドを行うことなくローカルコードを実行時に同期・注入可能となった。
-
独自コンテナやAWS公式イメージを問わず、同一のインターフェースで多様な機械学習フレームワークを柔軟に扱えるようになった。
-
米Amazon Web Services(AWS)は2026年8月26日、公式技術ブログ「AWS ML Blog」において、機械学習プラットフォーム「Amazon SageMaker AI」のPython SDKバージョン3(SDK v3)における「スクリプトモード」の刷新を発表した。
-
スクリプトモードは、ユーザー自身がコンテナイメージの構築や保守を行うことなく、独自の学習コードや推論コードを実行できるようにする仕組みだ。今回のSDK v3ではこの設計がゼロから見直され、自前の機械学習モデルを持ち込んで運用する「Bring your own model」ワークフローの大幅な効率化が図られたという。
学習とデプロイのAPIを単一クラスへ統合
従来のSDK v2では、scikit-learnやPyTorch、XGBoostといったフレームワークごとに専用のEstimator(学習ジョブの設定・実行を担うクラス)が提供されていた。これに対しSDK v3ではフレームワーク別の個別クラスが廃止され、単一の統合クラス「ModelTrainer」に一本化された。学習ジョブの構成および起動は、すべてこのクラスから統一的に実行される。
モデルのデプロイ処理においても同様の簡素化が行われている。SDK v2で用いられていた「Model」クラスと「Predictor」クラスを組み合わせる構成に代わり、SDK v3では「ModelBuilder」クラスが導入された。ModelBuilderによって推論ハンドラーがパッケージングされてエンドポイントに配備され、予測処理はinvokeメソッドの一部として実行される仕様へと整理されたという。
このクラス統合により、scikit-learnのような古典的な機械学習ライブラリから、PyTorch、画像生成AIのStable Diffusion、さらにはC++で記述された独自の推論バイナリに至るまで、同一のAPIインターフェースで扱えるようになったとしている。
「SourceCode」による実行時コード注入とコンテナ制御の柔軟化
SDK v3のアーキテクチャにおける中核要素として、新たに「SourceCode」構成オブジェクトが導入された。このオブジェクトは、ローカル環境のソースコードディレクトリ(source_dir)と、学習用コマンド(command)または推論用エントリースクリプト(entry_script)を指定して使用する。
ジョブ起動時にSDKが指定ディレクトリの内容を実行時コンテナへ自動的に同期するため、コードをあらかじめコンテナイメージ内にビルドして埋め込む必要がない。スクリプトを修正した際もイメージを再ビルドすることなく直ちに再実行できるため、AWSは開発時の反復作業が大幅に高速化されると説明している。
コンテナイメージの選択肢も広がった。Amazon Elastic Container Registry(Amazon ECR:コンテナイメージの保管・管理サービス)上のイメージであれば、ユーザー独自ビルドのイメージ、AWS公式の深層学習コンテナ(AWS Deep Learning Containers)、サードパーティ製イメージのいずれも利用可能だ。SDK側でコンテナ内部の構成を前提としないため、必要なCUDAライブラリやシステムパッケージをイメージ側で自由に管理できる。なお、依存ライブラリについては従来同様、ディレクトリ内のrequirements.txtを通じて指定する形が維持されている。
テーブルデータから生成AIまで対応する2つの実装例
ブログ記事では、新しいスクリプトモードの有効性を示すエンドツーエンドの検証例として、以下の2つのワークフローが紹介された。
1つ目は、古典的なテーブルデータ機械学習の事例である「scikit-learnを用いたランダムフォレストの学習とデプロイ」だ。糖尿病(diabetes)のデータセットを用いて学習を行い、高性能なモデルサーバーである「Deep Java Library(DJL)Serving」を活用したリアルタイムエンドポイントへのデプロイが示されている。
2つ目は、生成AIの事例である「LoRA(低負荷でモデルを追加学習させる手法)を用いたStable Diffusion 3.5のファインチューニング」だ。マルチGPU環境での分散学習を行うため、Hugging Face Accelerateライブラリと組み合わせた実装が紹介されている。
いずれの事例においても、学習にはModelTrainer、デプロイにはModelBuilderという同一のコアクラスが使用されている。
サンプルコードの公開
AWSは、今回の発表で解説した2つの検証ワークフローのコードを、GitHubリポジトリ(aws-samples/sample-sagemaker-pysdkv3-script-mode)にて公開した。開発者は公開されたサンプルを参照しながら、新しいスクリプトモードの実装や移行を進めることができるとしている。