Amazon SageMaker でモデルをトレーニングする - Amazon SageMaker

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

Amazon SageMaker でモデルをトレーニングする

次の図は、モデルをトレーニングおよびデプロイする方法を示しています。Amazon SageMaker における

SageMaker というラベルの付いた領域では、SageMaker のモデルトレーニングおよびモデルデプロイメントの 2 つのコンポーネントがハイライトされています。

SageMaker でモデルをトレーニングするには、トレーニングジョブを作成します。トレーニングジョブには次の情報が含まれます。

  • トレーニングデータを保存している Amazon Simple Storage Service (Amazon S3) バケットの URL。

  • SageMaker がモデルトレーニングに使用するコンピューティングリソース。コンピューティングリソースは、SageMaker によって管理される ML コンピューティングインスタンスです。

  • ジョブの出力を保存する S3 バケットの URL。

  • トレーニングコードが保存される Amazon Elastic コンテナレジストリのパス。詳細については、「Dockerレジストリパスとサンプルコード」を参照してください。

トレーニングアルゴリズムには、次のオプションがあります。

  • SageMaker が提供するアルゴリズムを使用する—SageMaker はトレーニングアルゴリズムを提供します。そのどれかがニーズを満たしている場合、すばやく、そのまま使える優れたソリューションです。SageMaker が提供するアルゴリズムのリストについては、を参照してください。Use Amazon SageMaker Built-in Algorithms。SageMaker が提供するアルゴリズムを使用する演習を試すには、Amazon SageMaker の使用開始

  • SageMaker デバッガーを使用する— TensorFlow、PyTorch および Apache MXNet 学習フレームワークまたは XGBoost アルゴリズムで作業をする際に、トレーニングプロセス全体を通してトレーニングパラメータとデータを検査します。Debugger は、パラメータ値が大きすぎたり小さすぎたりするなど、一般的に発生するエラーを自動的に検出し、ユーザーに警告します。デバッガの使用の詳細については、「Amazon SageMaker デバッガー」を参照してください。Debuggerのサンプルノートブックは、Amazon SageMaker Debugger Samples で入手できます。

  • SageMaker でApache Spark を使用する—SageMaker は、SageMaker でモデルをトレーニングするために Apache Spark で使用できるライブラリを提供します。SageMaker が提供するライブラリを使用することは、Apache Spark MLlibの使用に似ています。詳細については、「Amazon SageMaker での Apache Spark の使用」を参照してください。

  • ディープラーニングフレームワークでトレーニングするカスタムコードを提出する-モデルトレーニングに TensorFlow、PyTorch または Apache MXNet を使用するカスタム Python コードを送信できます。詳細については、「Amazon SageMaker でTensorFlow を使用する」、「Amazon SageMaker での PyTorch の使用」、および「Amazon SageMaker での Apache MXNet の使用」を参照してください。

  • 独自のカスタムアルゴリズムを使用する— Docker イメージとしてコードをまとめ、SageMaker でイメージのレジストリパスを指定します。CreateTrainingJobAPI コールを使用します。詳細については、「SageMaker erでDockerコンテナを使用する 」を参照してください。

  • からサブスクライブしているアルゴリズムを使用する AWS Marketplace -詳細については、を参照してください。 AWS Marketplace でアルゴリズムとモデルパッケージを見つけてサブスクライブする

トレーニングジョブを作成すると、SageMaker は ML コンピューティングインスタンスを起動し、トレーニングコードとトレーニングデータセットを使用してモデルをトレーニングします。結果として得られたモデルアーティファクトおよびその他の出力を、その目的で指定した S3 バケットに保存します。

トレーニングジョブは SageMaker コンソールまたは API を使用して作成できます。API を使用してトレーニングジョブを作成する方法については、「CreateTrainingJob」を参照してください。

API を使用してトレーニングジョブを作成すると、SageMaker はデフォルトでデータセット全体を ML コンピューティングインスタンスにレプリケートします。各 ML コンピューティングインスタンス上の SageMaker でデータのサブセットをレプリケートするには、S3DataDistributionTypefield をShardedByS3Key。このフィールドは、低レベルの SDK を使用して設定できます。詳細については、「」を参照してください。S3DataDistributionType S3DataSource

重要

アルゴリズムコンテナがメモリと競合しないようにするには、ML コンピューティングインスタンス上の SageMaker の重要なシステムプロセス用に、メモリを予約しておく必要があります。したがって、インスタンスタイプのすべてのメモリを表示することはできません。