Amazon SageMaker リソースの作成 - AWS Marketplace

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

Amazon SageMaker リソースの作成

モデルパッケージまたはアルゴリズム製品を公開するには、Amazon SageMaker でそれぞれのモデルパッケージリソースまたはアルゴリズムリソースを作成する必要があります。

AWS Marketplace 製品用のリソースを作成するときは、検証ステップを通じて認定を受ける必要があります。検証ステップでは、公開前にモデルパッケージまたはアルゴリズムリソースをテストするためのデータを提供する必要があります。

注記

製品のイメージをまだ作成しておらず、Amazon Elastic Container Registry (Amazon ECR) にアップロードしていない場合は、その方法の情報について、「コードをイメージにパッケージ化する」および「イメージのアップロード」を参照してください。

モデルパッケージの作成

AWS Marketplace のモデルパッケージを作成するための要件は次のとおりです。

  • Amazon ECR に保存されている推論イメージ

  • (オプション) Amazon S3 に個別に保存されているモデルアーティファクト

  • Amazon Simple Storage Service (Amazon S3) に保存されている、推論に使用されるテストデータ

注記

以下は、モデルパッケージ製品の作成に関するものです。SageMaker のモデルパッケージの詳細については、「モデルパッケージリソースの作成」を参照してください。

モデルパッケージリソースの作成

以下の手順では、モデルパッケージリソースを作成する方法を順を追って説明します。

ステップ 1: モデルパッケージリソースを作成する
  1. Amazon SageMaker コンソールを開きます。

  2. ページの右上を見て、公開元の AWS リージョンにいることを確認してください。公開については、「公開でサポートされる AWS リージョン」セクションを参照してください。前のステップで Amazon ECR にアップロードした推論イメージが同じリージョンに存在する必要があります。

  3. 左側のナビゲーションメニューから [モデルパッケージ] を選択します。

  4. [Create model package (モデルパッケージの作成)] を選択します。

パッケージを作成したら、推論パッケージの仕様を設定する必要があります。

ステップ 2: 推論の仕様を設定する
  1. モデルパッケージの [名前] (例えば、my-model-package) を指定します。

  2. [推論イメージの場所] には、Amazon ECR にアップロードされた推論イメージの URI を入力します。URI は Amazon ECR コンソールでイメージを検索すると取得できます。

  3. トレーニングで得たモデルアーティファクトが推論イメージのロジックにバンドルされている場合、モデルデータアーティファクトの場所は空欄のままにしておきます。それ以外の場合は、モデルアーティファクトの圧縮ファイル (.tar.gz) の、Amazon S3 の完全な場所を指定します。

  4. ドロップダウンボックスを使用して、リアルタイム推論 (エンドポイントとも呼ばれる) ジョブとバッチ変換ジョブの両方でサポートされる推論イメージのインスタンスタイプを選択します。

  5. [Next] (次へ) をクリックします。

モデルパッケージを作成して公開するには、期待どおりに機能するかを確認するための検証が必要です。そのためには、提供した推論用テストデータを使用してバッチ変換ジョブを実行する必要があります。検証仕様は、SageMaker に検証の実行方法を指示します。

ステップ 3: 検証仕様を設定する
  1. [AWS Marketplace でこのモデルパッケージを公開する][はい] に設定します。これを [いいえ] に設定すると、このモデルパッケージを後で公開することはできません。[はい] を選択すると、モデルパッケージが認証され、検証ステップが必要になります。

  2. このプロセスを初めて完了する場合は、IAM ロール[新規ロールの作成] を選択します。Amazon SageMaker はモデルパッケージをデプロイするときにこのロールを使用します。これには、Amazon ECR からのイメージの取得や Amazon S3 からのアーティファクトの取得などのアクションが含まれます。設定を確認し、[ロールを作成] を選択します。ここでロールを作成すると、作成したロールに、AmazonSageMakerFullAccess IAM ポリシーに記述されているアクセス許可が付与されます。

  3. 検証プロファイルの JSON を編集します。許可される値の詳細については、「TransformJobDefinition」を参照してください。

    1. TransformInput.DataSource.S3Uri: 推論用のテストデータを保存する場所を設定します。

    2. TransformInput.ContentType: テストデータのコンテンツタイプ (application/jsontext/plainimage/png 、またはその他の値など) を指定します。SageMaker は実際の入力データを検証しません。この値は、Content-type ヘッダー値としてコンテナの HTTP エンドポイントに渡されます。

    3. TransformInput.CompressionType: Amazon S3 の推論用テストデータが圧縮されていない場合は None に設定します。

    4. TransformInput.SplitType: None に設定して、Amazon S3 内の各オブジェクトを推論用にまとめて渡します。

    5. TransformOutput.S3OutputPath: 推論出力が保存される場所に設定します。

    6. TransformOutput.AssembleWith: None に設定して、各推論を Amazon S3 の個別のオブジェクトとして出力します。

  4. [Create model package (モデルパッケージの作成)] を選択します。

SageMaker は Amazon ECR から推論イメージを取得して、すべてのアーティファクトを推論コンテナにコピーし、テストデータを推論に使用してバッチ変換ジョブを実行します。検証が成功すると、ステータスは [完了済み] に変わります。

注記

検証ステップでは、テストデータによるモデルの精度は評価されません。検証ステップでは、コンテナが実行されて期待どおりに応答するかどうかが確認されます。

モデル製品リソースの作成が完了しました。「AWS Marketplace での製品の公開」に進みます。

アルゴリズムの作成

AWS Marketplace のアルゴリズムを作成するための要件は次のとおりです。

  • Amazon ECR に保存された推論イメージ

  • Amazon ECR に保存されたトレーニングイメージ

  • Amazon S3 に保存されたトレーニング用テストデータ

  • Amazon S3 に保存された推論用テストデータ

注記

次のウォークスルーでは、アルゴリズム製品を作成します。詳細については、「アルゴリズムリソースを作成する」を参照してください。

アルゴリズムリソースの作成

以下の手順では、アルゴリズムパッケージのリソースを作成する方法を順を追って説明します。

ステップ 1: アルゴリズムリソースを作成する
  1. Amazon SageMaker コンソールを開きます。

  2. ページの右上を見て、公開元の AWS リージョンにいることを確認してください (「公開でサポートされる AWS リージョン」を参照)。前のステップで Amazon ECR にアップロードしたトレーニングイメージと推論イメージが同じリージョンに存在する必要があります。

  3. 左のナビゲーションペインで [アルゴリズム] をクリックします。

  4. [Create algorithm (アルゴリズムの作成)] を選択します。

アルゴリズムパッケージを作成したら、モデルのトレーニングとチューニングの仕様を設定する必要があります。

ステップ 2: トレーニングとチューニングの仕様を設定する
  1. アルゴリズムの[名前] (例えば my-algorithm) を入力します。

  2. [トレーニングイメージ] には、Amazon ECR にアップロードされたトレーニングイメージの、完全な URI の場所を貼り付けます。URI は Amazon ECR コンソールでイメージを検索すると取得できます。

  3. ドロップダウンボックスを使用して、トレーニングイメージがサポートするトレーニング用のインスタンスタイプを選択します。

  4. [チャネルの仕様]セクションで、アルゴリズムがサポートする各入力データセットに 1 つのチャネルを追加します (入力ソースの最大数は 20 チャネル)。詳細については、「入力データ設定」を参照してください。

  5. [Next] (次へ) をクリックします。

  6. アルゴリズムがハイパーパラメータとハイパーパラメータ調整をサポートしている場合は、調整パラメータを指定する必要があります。

  7. [Next] (次へ) をクリックします。

注記

アルゴリズムがハイパーパラメータ調整をサポートして適切なパラメータを調整できるようになっていることが、強く推奨されます。これにより、データサイエンティストはモデルを調整して最良の結果を得ることができます。

調整パラメータがある場合、そのパラメータを設定したら、推論イメージの仕様を設定する必要があります。

ステップ 3: 推論イメージ仕様を設定する
  1. [推論イメージの場所] には、Amazon ECR にアップロードされた推論イメージの URI を貼り付けます。URI は Amazon ECR コンソールでイメージを検索すると取得できます。

  2. ドロップダウンボックスを使用して、リアルタイム推論 (エンドポイントとも呼ばれる) ジョブとバッチ変換ジョブの両方でサポートされる推論イメージのインスタンスタイプを選択します。

  3. [Next] (次へ) をクリックします。

アルゴリズムを作成して公開するには、期待どおりに機能するかを確認するための検証が必要です。そのためには、トレーニング用のテストデータを使用するトレーニングジョブと、提供した推論用テストデータを使用してバッチ変換ジョブの両方を実行する必要があります。検証仕様は、SageMaker に検証の実行方法を指示します。

ステップ 4: 検証仕様を設定する
  1. [AWS Marketplace でこのアルゴリズムを公開する][はい] に設定します。これを [いいえ] に設定すると、このアルゴリズムを後で公開することができません。[はい] を選択すると、AWS Marketplace のアルゴリズムが認定され、検証仕様が必要になります。

  2. AWS Marketplace の機械学習パッケージを初めて作成する場合は、IAM ロール[新しいロールの作成] を選択します。Amazon SageMaker は、アルゴリズムをトレーニングして後続のモデルパッケージをデプロイするときにこのロールを使用します。これには、Amazon ECR からのイメージの取得、Amazon S3 へのアーティファクトの保存、Amazon S3 からのトレーニングデータのコピーなどのアクションが含まれます。設定を確認し、[ロールを作成] を選択します。ここでロールを作成すると、作成したロールに、AmazonSageMakerFullAccess IAM ポリシーに記述されているアクセス許可が付与されます。

  3. [トレーニングジョブ定義] の検証プロファイルの [JSON] ファイルを編集します。許可される値の詳細については、「 TrainingJobDefinition」を参照してください。

    1. InputDataConfig: この JSON 配列に、トレーニング仕様のステップで指定した各チャネルの [チャネルオブジェクト] を追加します。チャネルごとに、トレーニング用のテストデータを保存する場所を指定します。

    2. OutputDataConfig: トレーニングが完了すると、トレーニングコンテナディレクトリパス /opt/ml/model/ 内のモデルアーティファクトが圧縮され、Amazon S3 にコピーされます。圧縮ファイル (.tar.gz) が保存されている Amazon S3 の場所を指定します。

  4. [変換ジョブの定義] の検証プロファイルの JSON ファイルを編集します。許可される値の詳細については、「TransformJobDefinition」を参照してください。

    1. TransformInput.DataSource.S3Uri: 推論用のテストデータを保存する場所を設定します。

    2. TransformInput.ContentType: テストデータのコンテンツタイプを指定します。例えば、application/jsontext/plainimage/png、またはその他の値です。Amazon SageMaker は実際の入力データを検証しません。この値は、Content-type ヘッダー値としてコンテナの HTTP エンドポイントに渡されます。

    3. TransformInput.CompressionType: Amazon S3 の推論用テストデータが圧縮されていない場合は None に設定します。

    4. TransformInput.SplitType: S3 内のオブジェクトをどのように分割するかを選択します。例えば、None では、Amazon S3 内の各オブジェクトが推論用にまとめて渡されます。詳細については、「Amazon SageMaker API リファレンス」の「SplitType」を参照してください。

    5. TransformOutput.S3OutputPath: 推論出力が保存される場所に設定します。

    6. TransformOutput.AssembleWith: None に設定して、各推論を Amazon S3 の個別のオブジェクトとして出力します。

  5. [アルゴリズムパッケージの作成] を選択します。

SageMaker は Amazon ECR からトレーニングイメージを取得して、データを使用してテストトレーニングジョブを実行し、モデルアーティファクトを Amazon S3 に保存します。次に、Amazon ECR から推論イメージを取得して、アーティファクトを Amazon S3 から推論コンテナにコピーし、推論用のテストデータを使用してバッチ変換ジョブを実行します。検証が成功すると、ステータスは [完了済み] に変わります。

注記

検証ステップでは、テストデータによるトレーニングまたはモデルの精度は評価されません。検証ステップでは、コンテナが実行されて期待どおりに応答するかどうかが確認されます。

検証ステップではバッチ処理のみが検証されます。リアルタイム処理が製品で機能することを検証するのはユーザーしだいです。

アルゴリズム製品リソースの作成が完了しました。「AWS Marketplace での製品の公開」に進みます。