Amazon SageMaker
開発者ガイド

アルゴリズムを使用してトレーニングジョブを実行する

アルゴリズムリソースを使用してトレーニングジョブを作成するには、Amazon SageMaker コンソール、低レベルの Amazon SageMaker API、または Amazon SageMaker Python SDK を使用します。

アルゴリズムを使用してトレーニングジョブを実行する (コンソール)

アルゴリズムを使用してトレーニングジョブを実行するには (コンソール)

  1. https://console.aws.amazon.com/sagemaker/ で Amazon SageMaker コンソールを開きます。

  2. [Algorithms (アルゴリズム)] を選択します。

  3. [My algorithms (マイアルゴリズム)] タブのリストから作成したアルゴリズムを選択するか、[AWS Marketplace subscriptions (AWS Marketplace サブスクリプション)] タブでサブスクライブしたアルゴリズムを選択します。

  4. [トレーニングジョブの作成] を選択します。

    選択したアルゴリズムが自動的に選択されます。

  5. [トレーニングジョブの作成] ページで、以下の情報を指定します。

    1. [ジョブ名] には、トレーニングジョブの名前を入力します。

    2. [IAM ロール] では、Amazon SageMaker でトレーニングジョブを実行するために必要なアクセス権限を持つ IAM ロールを選択するか、[新しいロールの作成] を選択して、AmazonSageMakerFullAccess 管理ポリシーがアタッチされたロールの作成を Amazon SageMaker に許可します。詳細については、Amazon SageMaker ロール を参照してください。

    3. [リソース設定] では、以下の情報を指定します。

      1. [インスタンスタイプ] では、トレーニングに使用するインスタンスタイプを選択します。

      2. [インスタンス数] には、トレーニングジョブに使用する ML インスタンス数を入力します。

      3. [インスタンスあたりのボリュームサイズ (GB)] には、プロビジョニングする ML ストレージボリュームのサイズを入力します。ML ストレージボリュームには、モデルアーティファクトと増分ステートが保存されます。

      4. [暗号化キー] では、AWS Key Management Service キーを使用してトレーニングインスタンスにアタッチされている ML ストレージボリューム内のデータを暗号化するように Amazon SageMaker に指示する場合にキーを指定します。

      5. [停止条件] には、トレーニングジョブの最大実行時間を秒数、分数、時間数、または日数で指定します。

    4. [VPC] では、トレーニングコンテナにアクセスを許可する Amazon VPC を選択します。詳細については、「Amazon VPC のリソースへのアクセス権を Amazon SageMaker トレーニングジョブに付与する」を参照してください。

    5. [ハイパーパラメータ] には、トレーニングジョブに使用するハイパーパラメータの値を指定します。

    6. [入力データ設定] には、トレーニングジョブに使用する入力データのチャネルごとに以下の値を指定します。アルゴリズムの [Algorithm summary (アルゴリズムの要約)] ページの [Channel specification (チャネル仕様)] セクションで、スポーツのトレーニングに使用しているアルゴリズムのチャネル、および各チャネルのコンテンツタイプ、サポートされている圧縮タイプ、サポートされている入力モードを確認できます。

      1. [チャネル名] には、入力チャネルの名前を入力します。

      2. [コンテンツタイプ] には、アルゴリズムがチャネルに期待するデータのコンテンツタイプを入力します。

      3. [圧縮タイプ] では、使用するデータ圧縮タイプがあればそれを選択します。

      4. [レコードラッパー] では、アルゴリズムで RecordIO 形式のデータが必要な場合に [RecordIO] を選択します。

      5. [S3 データタイプ]、[S3 データディストリビューションタイプ]、および [S3 の場所] には、適切な値を指定します。これらの値の意味については、S3DataSourceを参照してください。

      6. [入力モード] では、プロビジョニングされた ML ストレージボリュームからデータをダウンロードし、ディレクトリを Docker ボリュームにマウントする場合に [ファイル] を選択します。Amazon S3 からコンテナに直接データをストリーミングする場合は [Pipe (パイプ)] を選択します。

      7. 別の入力チャンネルを追加するには、[チャネルの追加] を選択します。入力チャネルの追加が完了したら、[完了] を選択します。

    7. [出力] 場所には、以下の値を指定します。

      1. [S3 出力パス] では、トレーニングジョブがモデルアーティファクトなどの出力を保存する S3 の場所を選択します。

        注記

        この場所に保存されているモデルアーティファクトを使用して、このトレーニングジョブからモデルまたはモデルパッケージを作成します。

      2. [暗号化キー] では、AWS KMS キーを使用して S3 の場所に保存されている出力データを暗号化するように Amazon SageMaker に指示する場合にキーを指定します。

    8. [タグ] には、トレーニングジョブを管理するためのタグを 1 つ以上指定します。各タグはキーとオプションの値で構成されます。タグキーはリソースごとに一意である必要があります。タグの詳細については、AWS Tagging Strategies (AWS タグ戦略) を参照してください。

    9. [トレーニングジョブの作成] を選択して、トレーニングジョブを実行します。

アルゴリズムを使用してトレーニングジョブを実行する (API)

アルゴリズムを使用してトレーニングジョブを実行する際に、Amazon SageMaker API を使用するには、CreateTrainingJob に渡す AlgorithmSpecification オブジェクトの AlgorithmName フィールドとして名前または Amazon リソースネーム (ARN) を指定します。Amazon SageMaker でモデルをトレーニングする方法については、「Amazon SageMaker によるモデルのトレーニング 」を参照してください。

アルゴリズムを使用してトレーニングジョブを実行する (Amazon SageMaker Python SDK)

AWS Marketplace で作成またはサブスクライブしたアルゴリズムを使用してトレーニングジョブを作成し、AlgorithmEstimator オブジェクトを作成して、algorithm_arn 引数の値として Amazon リソースネーム (ARN) またはアルゴリズムの名前を指定します。その後、推定器の fit メソッドを呼び出します。例:

from sagemaker import AlgorithmEstimator data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm', role='SageMakerRole', train_instance_count=1, train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.fit({'training': train_input})