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 Container Registry パス。詳細については、を参照してください 組み込みアルゴリズムの共通パラメータ

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

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

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

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

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

  • 独自のカスタムアルゴリズムを使用する — Docker イメージとしてコードをまとめ、 API コールでイメージのレジストリパスを指定します。SageMakerCreateTrainingJob詳細については、を参照してください Amazon SageMaker で独自のアルゴリズムやモデルを使用する

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

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

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

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

重要

アルゴリズムコンテナがメモリと競合しないようにするには、ML コンピューティングインスタンス上の SageMaker の重要なシステムプロセス用に、ある程度のメモリを予約しておく必要があります。アルゴリズムコンテナがシステムプロセスに必要なメモリを使用することを許可されると、システム障害が発生する可能性があります。