SageMaker トレーニングおよび推論ツールキット - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker トレーニングおよび推論ツールキット

SageMaker Training ツールキットと SageMaker AI Inference ツールキットは、スクリプトの実行、アルゴリズムのトレーニング、SageMaker AI でのモデルのデプロイにコンテナを適応させるために必要な機能を実装します。ライブラリをインストールすると、ユーザーに対して次の内容が定義されます。

  • コードやその他のリソースを保存する場所。

  • コンテナーの起動時に実行するコードを含むエントリポイントです。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」とSageMaker AI Inference Toolkit」リポジトリを参照してください。また、SageMaker AI コンテナによって提供される重要な環境変数と環境変数のリストも提供します。