翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker トレーニングおよび推論ツールキット
SageMaker
-
コードやその他のリソースを保存する場所。
-
コンテナーの起動時に実行するコードを含むエントリポイントです。Dockerfile は、SageMaker AI と互換性のあるコンテナが想定する場所に実行する必要があるコードをコピーする必要があります。
-
このライブラリは、トレーニングと推論のためのデプロイを管理するために、コンテナで必要となるその他の情報。
SageMaker AI Toolkit コンテナの構造
SageMaker AI がモデルをトレーニングすると、コンテナの /opt/ml
ディレクトリに次のファイルフォルダ構造が作成されます。
/opt/ml ├── input │ ├── config │ │ ├── hyperparameters.json │ │ └── resourceConfig.json │ └── data │ └── <channel_name> │ └── <input data> ├── model │ ├── code │ ├── output │ └── failure
モデルトレーニングジョブを実行すると、SageMaker AI コンテナは ディレクトリを使用します。この/opt/ml/input/
ディレクトリには、アルゴリズムのハイパーパラメータを設定する JSON ファイルと、分散トレーニングに使用されるネットワークレイアウトが含まれています。/opt/ml/input/
ディレクトリには、Amazon Simple Storage Service (Amazon S3) に保存されているデータに SageMaker AI がアクセスするチャネルを指定するファイルも含まれています。SageMaker AI コンテナライブラリは、コンテナが実行するスクリプトを /opt/ml/code/
ディレクトリに配置します。スクリプトは、アルゴリズムによって生成されたモデルを /opt/ml/model/
ディレクトリに書き込む必要があります。詳細については、「カスタムトレーニングアルゴリズムを使用するコンテナ」を参照してください。
SageMaker AI でトレーニング済みモデルをホストして推論を行う場合は、モデルを HTTP エンドポイントにデプロイします。このモデルでは、推論リクエストに応じてリアルタイムの予測を実行します。コンテナには、これらのリクエストを処理するためにサービススタックが含まれている必要があります。
ホスティングコンテナまたはバッチ変換コンテナでは、モデルファイルはトレーニング中に書き込まれたフォルダと同じフォルダに配置されます。
/opt/ml/model │ └── <model files>
詳細については、「カスタム推論コードを持つコンテナ」を参照してください。
単一コンテナと複数のコンテナの比較
トレーニングアルゴリズムと推論コードに別々の Docker イメージを提供することも、これらに単一の Docker イメージを使用することもできます。SageMaker AI で使用する Docker イメージを作成するときは、次の点を考慮してください。
-
2 つの Docker イメージを提供すると、共通ライブラリが重複することがあるため、ストレージ要件とコストが増加することがあります。
-
一般的に、小さいコンテナの方がトレーニングとホスティングをより迅速に開始できます。モデルトレーニングが高速になり、ホスティングサービスはより迅速に自動スケーリングすることでトラフィックの増加に対応できます。
-
トレーニングコンテナより大幅に小さい推論コンテナを記述できます。これは、トレーニングに GPU を使用するときに特に一般的ですが、推論コードは CPU 用に最適化されています。
-
SageMaker AI では、Docker コンテナは特権アクセスなしで実行する必要があります。
-
構築した Docker コンテナと SageMaker AI が提供するコンテナの両方が、
Stdout
およびStderr
ファイルにメッセージを送信できます。SageMaker AI は、これらのメッセージを AWS アカウントの Amazon CloudWatch logs に送信します。
SageMaker AI コンテナを作成する方法と、そのコンテナ内でスクリプトを実行する方法の詳細については、GitHub のSageMaker AI Training Toolkit