

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

# のアルゴリズムとパッケージ AWS Marketplace
<a name="sagemaker-marketplace"></a>

Amazon SageMaker AI は と統合されているため AWS Marketplace、デベロッパーは他の SageMaker AI ユーザーにアルゴリズムやモデルパッケージの使用料金を請求できます。 AWS Marketplace は、お客様がソリューションを構築してビジネスを実行するために必要なサードパーティーのソフトウェアやサービスを簡単に検索、購入、デプロイ、管理できる厳選されたデジタルカタログです。 には、セキュリティ、ネットワーキング、ストレージ、機械学習、ビジネスインテリジェンス、データベース、DevOps などの一般的なカテゴリに数千のソフトウェアリスト AWS Marketplace が含まれています。柔軟な価格設定オプションと複数の導入方法により、ソフトウェアのライセンスと調達を簡素化します。

詳細については、「[AWS Marketplace ドキュメント](https://docs.aws.amazon.com/marketplace/index.html#lang/en_us)」を参照してください。

## トピック
<a name="sagemaker-marketplace-topics"></a>
+ [SageMaker AI アルゴリズム](#sagemaker-mkt-algorithm)
+ [SageMaker AI モデルパッケージ](#sagemaker-mkt-model-package)
+ [を使用した独自のアルゴリズムとモデルの一覧表示 AWS Marketplace](sagemaker-marketplace-sell.md)
+ [でアルゴリズムとモデルパッケージを検索してサブスクライブする AWS Marketplace](sagemaker-mkt-find-subscribe.md)
+ [アルゴリズムとモデルパッケージのリソースの使用](sagemaker-mkt-buy.md)

## SageMaker AI アルゴリズム
<a name="sagemaker-mkt-algorithm"></a>

アルゴリズムにより、エンドツーエンドの機械学習を実行できます。これにはトレーニングと推論の 2 つの論理コンポーネントがあります。購入者はトレーニングコンポーネントを使用して、SageMaker AI でトレーニングジョブを作成し、機械学習モデルを構築できます。SageMaker AI は、トレーニング中にアルゴリズムが生成したモデルのアーティファクトを Amazon S3 バケットに保存します。詳細については、「[Amazon SageMaker でモデルをトレーニングする](how-it-works-training.md)」を参照してください。

購入者は、トレーニング作業時に生成されたモデルアーティファクトで推論コンポーネントを使用して、自身の SageMaker AI アカウントでデプロイ可能なモデルを作成します。購入者は、SageMaker AI ホスティングサービスを使用することで、リアルタイム推論にそのデプロイ可能なモデルを使用できます。または、バッチ変換ジョブを実行してデータセット全体の推論を取得できます。詳細については、「[Amazon SageMaker AI のモデルデプロイオプション](how-it-works-deployment.md)」を参照してください。

## SageMaker AI モデルパッケージ
<a name="sagemaker-mkt-model-package"></a>

購入者は、モデルパッケージを使用して、SageMaker AI でデプロイ可能なモデルを構築します。購入者は、SageMaker AI ホスティングサービスを使用することで、リアルタイム推論にそのデプロイ可能なモデルを使用できます。または、バッチ変換ジョブを実行してデータセット全体の推論を取得できます。詳細については、「[Amazon SageMaker AI のモデルデプロイオプション](how-it-works-deployment.md)」を参照してください。販売者は、SageMaker AI でトレーニングしてモデルアーティファクトを構築するか、SageMaker AI 以外でトレーニングしたモデルから取得した独自のモデルアーティファクトを使用できます。推論の料金を購入者に請求することができます。

**Topics**

# を使用したカスタムアルゴリズムとモデル AWS Marketplace
<a name="your-algorithms-marketplace"></a>

以下のセクションでは、ローカルで使用して AWS Marketplace に発行できるアルゴリズムとモデルパッケージリソースを作成する方法を示します。

**Topics**
+ [アルゴリズムとモデルパッケージのリソースの作成](sagemaker-mkt-create.md)
+ [アルゴリズムとモデルパッケージのリソースの使用](sagemaker-mkt-buy.md)

# アルゴリズムとモデルパッケージのリソースの作成
<a name="sagemaker-mkt-create"></a>

トレーニングや推論コードが Docker コンテナでパッケージ化されたら、お使いの Amazon SageMaker AI アカウントで使用できるアルゴリズムとモデルパッケージリソースを作成し、必要に応じて AWS Marketplaceで公開します。

**Topics**
+ [アルゴリズムリソースを作成する](sagemaker-mkt-create-algo.md)
+ [モデルパッケージのリソースを作成する](sagemaker-mkt-create-model-package.md)

# アルゴリズムリソースを作成する
<a name="sagemaker-mkt-create-algo"></a>

Amazon SageMaker AI のトレーニングジョブで使用するアルゴリズムリソースを作成し、 AWS Marketplaceに公開できます。以下のセクションでは、 AWS マネジメントコンソール と SageMaker API を使用してこれを行う方法について説明します。

アルゴリズムリソースを作成するには、次の情報を指定します。
+ トレーニングと、オプションで推論コードを含む Docker コンテナ。
+ アルゴリズムがトレーニングに対して期待する入力データの設定。
+ アルゴリズムがサポートするハイパーパラメータ。
+ トレーニングジョブ中にアルゴリズムが Amazon CloudWatch に送信するメトリクス。
+ アルゴリズムがトレーニングと推論のためにサポートするインスタンスタイプ、および複数のインスタンスにわたる分散トレーニングがサポートされるかどうか。
+ 検証プロファイルは、SageMaker AI がアルゴリズムのトレーニングコードをテストするために使用するトレーニングジョブで、SageMaker AI がアルゴリズムの推論コードをテストするために実行するバッチ変換ジョブでもあります。

  購入者と販売者が、SageMaker AI で商品が機能すると確信できるようにするには、 AWS Marketplaceに出品する前にアルゴリズムを検証する必要があります。検証が成功した AWS Marketplace 場合にのみ、 に製品を一覧表示できます。アルゴリズムを検証するために、SageMaker AI はユーザーの検証プロファイルとサンプルデータを使用して以下の検証タスクを実行します。

  1. お使いのアカウントでトレーニングジョブを作成して、トレーニングイメージが SageMaker AI で機能することを検証します。

  1. アルゴリズムに推論コードを含めた場合は、アルゴリズムの推論イメージと、トレーニングジョブによって生成されたモデルアーティファクトを使用して、アカウントでモデルを作成します。

  1. アルゴリズムに推論コードが含まれる場合は、お使いのアカウントでモデルを使用して変換ジョブを作成し、推論イメージが SageMaker AI で機能することを検証します。

  に製品を一覧表示すると AWS Marketplace、この検証プロセスの入出力は製品の一部として保持され、購入者が利用できるようになります。これにより、購入者は購入前に商品を理解し、評価することができます。購入者は、たとえば使用された入力データ、生成された出力、およびコードによって発行されたログとメトリクスを調べることができます。検証仕様がより包括的であるほど、顧客による商品の評価が容易になります。
**注記**  
検証プロファイルには、公開しても構わないデータのみを指定してください。

  検証には数時間かかることがあります。アカウントでジョブのステータスを確認するには、SageMaker AI コンソールで **[トレーニングジョブ]** ページと **[変換ジョブ]** ページを参照してください。検証に失敗した場合は、SageMaker AI コンソールからスキャンレポートと検証レポートにアクセスできます。問題が見つかった場合は、アルゴリズムをもう一度作成する必要があります。
**注記**  
アルゴリズムを公開するには AWS Marketplace、少なくとも 1 つの検証プロファイルが必要です。

アルゴリズムを作成するには、SageMaker AI コンソールまたは SageMaker AI API を使います。

**Topics**
+ [アルゴリズムリソースを作成する (コンソール)](#sagemaker-mkt-create-algo-console)
+ [アルゴリズムリソースを作成する (API)](#sagemaker-mkt-create-algo-api)

## アルゴリズムリソースを作成する (コンソール)
<a name="sagemaker-mkt-create-algo-console"></a>

**アルゴリズムリソースを作成するには (コンソール)**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左側のメニューから **[トレーニング]** を選択します。

1. ドロップダウンメニューから **[アルゴリズム]** を選択し、**[アルゴリズムの作成]** を選択します。

1. [**Training specifications (トレーニング仕様)**] ページで、以下の情報を指定します。

   1. [**アルゴリズム名**] では、アルゴリズムの名前を入力します。アルゴリズム名は、アカウントと AWS リージョンで一意である必要があります。名前は 1 ～ 64 文字で指定する必要があります。有効な文字は、a～z、A～Z、0～9、- (ハイフン) です。

   1. アルゴリズムの説明を入力します。この説明は、SageMaker AI コンソールと AWS Marketplaceに表示されます。

   1. **[Training image]** (トレーニングイメージ) には、トレーニングコンテナが保存されている Amazon ECR のパスを入力します。

   1. [**Support distributed training (分散トレーニングのサポート)**] では、アルゴリズムが複数のインスタンスでのトレーニングをサポートしている場合に [**はい**] を選択します。それ以外の場合は [**いいえ**] を選択します。

   1. [**Support instance types for training (トレーニングのインスタンスタイプをサポート)**] では、アルゴリズムがサポートしているインスタンスタイプを選択します。

   1. [**Channel specification (チャネル仕様)**] では、アルゴリズムの入力データを最大 8 チャネルまで指定します。たとえば、`train`、`validation`、および `test` という 3 つの入力チャネルを指定できます。各チャネルについて、以下の情報を指定します。

      1. [**チャネル名**] には、チャネルの名前を入力します。名前は 1 ～ 64 文字で指定する必要があります。有効な文字は、a～z、A～Z、0～9、- (ハイフン) です。

      1. アルゴリズムのチャネルを要求するには、[**Channel required (チャネルは必須)**] を選択します。

      1. チャネルの説明を入力します。

      1. [**Supported input modes (サポートされている入力モード)**] では、アルゴリズムが入力データのストリーミングをサポートしている場合は [**Pipe mode (パイプモード)**] を、入力データのファイルとしてのダウンロードをサポートしている場合は [**File mode (ファイルモード)**] を選択します。両方を選択することもできます。

      1. [**Supported content types (サポートされるコンテンツタイプ)**] には、アルゴリズムが入力データに期待する MIME タイプを入力します。

      1. [**Supported compression type (サポートされている圧縮タイプ)**] では、アルゴリズムが Gzip 圧縮をサポートしている場合に [**Gzip**] を選択します。それ以外の場合は、[**なし**] を選択します。

      1. 別のデータ入力チャネルを追加するには [**チャネルの追加**] を選択し、チャネルの追加が終わったら [**次へ**] を選択します。

1. [**Tuning specifications (調整仕様)**] ページで、以下の情報を指定します。

   1. [**Hyperparameter specification (ハイパーパラメータの仕様)**] では、JSON オブジェクトを編集して、アルゴリズムがサポートするハイパーパラメータを指定します。アルゴリズムがサポートしているハイパーパラメータごとに、次のような JSON ブロックを作成します。

      ```
      {
      "DefaultValue": "5",
      "Description": "The first hyperparameter",
      "IsRequired": true,
      "IsTunable": false,
      "Name": "intRange",
      "Range": {
      "IntegerParameterRangeSpecification": {
      "MaxValue": "10",
      "MinValue": "1"
      },
      "Type": "Integer"
      }
      ```

      JSON で以下を指定します。

      1. `DefaultValue` には、ハイパーパラメータのデフォルト値がある場合にそれを指定します。

      1. `Description` には、ハイパーパラメータの説明を指定します。

      1. `IsRequired` では、ハイパーパラメータが必要かどうかを指定します。

      1. `IsTunable` には、ユーザーがこのアルゴリズムを使用するハイパーパラメータ調整ジョブを実行するときにこのハイパーパラメータを調整できる場合に、`true` を指定します。詳細については、「[SageMaker AI の自動モデルチューニング](automatic-model-tuning.md)」を参照してください。

      1. `Name` には、ハイパーパラメータの名前を指定します。

      1. `Range` には、次のいずれかを指定します。
         + `IntegerParameterRangeSpecification` - ハイパーパラメータの値は整数である。ハイパーパラメータの最小値と最大値を指定します。
         + 
         + `ContinuousParameterRangeSpecification` - ハイパーパラメータの値は浮動小数点値である。ハイパーパラメータの最小値と最大値を指定します。
         + `CategoricalParameterRangeSpecification` - ハイパーパラメータの値はカテゴリ別の値である。指定可能なすべての値をリスト形式で指定します。

      1. `Type` には、`Integer`、`Continuous`、または `Categorical` を指定します。値は、指定した `Range` のタイプに対応している必要があります。

   1. **[Metric definitions]** (メトリクス定義) には、アルゴリズムが出力するトレーニングメトリクスを指定します。SageMaker AI は、トレーニング中にトレーニングコンテナのログを解析することにより、ここで指定された正規表現を使用してメトリクスを見つけます。ユーザーは、アルゴリズムを使用してトレーニングジョブを実行するときに、このメトリクスを表示し、Amazon CloudWatch でモニタリングおよびプロットできます。詳細については、「[トレーニングジョブのモニタリングと分析を行うための Amazon CloudWatch メトリクス](training-metrics.md)」を参照してください。各メトリクスについて、以下の情報を指定します。

      1. [**メトリクス名**] には、メトリクスの名前を入力します。

      1. `Regex` には、メトリクス値を見つけられるように、SageMaker AI がトレーニングログを解析する際に使用する正規表現を入力します。

      1. [**Objective metric support (目標メトリクスのサポート)**] では、このメトリクスをハイパーパラメータ調整ジョブの目標メトリクスとして使用できる場合に [**はい**] を選択します。詳細については、「[SageMaker AI の自動モデルチューニング](automatic-model-tuning.md)」を参照してください。

      1. 別のメトリクスを追加するには [**メトリクスの追加**] を選択し、メトリクスの追加が終わったら [**次へ**] を選択します。

1. アルゴリズムが推論をサポートしている場合は、[**Inference specifications (推論の仕様)**] ページで以下の情報を指定します。

   1. **[推論イメージの場所]** には、推論コンテナが保存されている Amazon ECR 内のパスを入力します。

   1. [**Container DNS host name (コンテナの DNS ホスト名)**] には、イメージの DNS ホストの名前を入力します。

   1. **[リアルタイム推論のサポートインスタンスタイプ]** では、SageMaker AI がホストするエンドポイントとしてデプロイされたモデル用に、アルゴリズムがサポートしているインスタンスタイプを選択します。詳細については、「[推論のためのモデルをデプロイする](deploy-model.md)」を参照してください。

   1. [**Supported instance types for batch transform jobs (バッチ変換ジョブでサポートされているインスタンスタイプ)**] では、アルゴリズムがバッチ変換ジョブ用にサポートしているインスタンスタイプを選択します。詳細については、「[Amazon SageMaker AI による推論のためのバッチ変換](batch-transform.md)」を参照してください。

   1. [**Supported content types (サポートされるコンテンツタイプ)**] には、アルゴリズムが推論リクエストに期待する入力データのタイプを入力します。

   1. [**Supported response MIME types (サポートされているレスポンス MIME タイプ)**] には、アルゴリズムが推論レスポンス用にサポートしている MIME タイプを入力します。

   1. [**次へ**] を選択します。

1. [**Validation specifications (検証の仕様)**] ページで、以下の情報を指定します。

   1. **このアルゴリズムを公開する AWS Marketplace** で、は**い** を選択してアルゴリズムを に公開します AWS Marketplace。

   1. アルゴリズムのトレーニングコードや推論コードをテストするために指定したトレーニングジョブやバッチ変換ジョブを SageMaker AI で実行する場合は、**[このリソースを検証する]** で **[はい]** を選択します。
**注記**  
アルゴリズムを公開するには AWS Marketplace、アルゴリズムを検証する必要があります。

   1. **[IAM ロール]** では、SageMaker AI でのトレーニングジョブとバッチ変換ジョブの実行に必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

   1. [**Validation profile (検証プロファイル)**] では、以下を指定します。
      + 検証プロファイルの名前。
      + [**Training job definition (トレーニングジョブ定義)**]。これは、トレーニングジョブを記述する JSON ブロックです。これは、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API の [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html) 入力パラメータと同じ形式です。
      + [**Transform job definition (変換ジョブの定義)**]。これは、バッチ変換ジョブを記述する JSON ブロックです。これは、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API の [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) 入力パラメータと同じ形式です。

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

## アルゴリズムリソースを作成する (API)
<a name="sagemaker-mkt-create-algo-api"></a>

SageMaker API を使用してアルゴリズムリソースを作成するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API を呼び出します。

# モデルパッケージのリソースを作成する
<a name="sagemaker-mkt-create-model-package"></a>

Amazon SageMaker AI でデプロイ可能なモデルを作成し、 で公開するために使用できるモデルパッケージリソースを作成するには、次の情報 AWS Marketplace を指定します。
+ 推論コード、またはモデルの学習に使用されたアルゴリズムリソースを含む Docker コンテナ。
+ モデルアーティファクトの場所。モデルアーティファクトは、推論コードと同じ Docker コンテナでパッケージ化するか、Amazon S3 に保存します。
+ モデルパッケージがリアルタイム推論ジョブとバッチ変換ジョブの両方に対してサポートするインスタンスタイプ。
+ 検証プロファイル。モデルパッケージの推論コードをテストするために SageMaker AI が実行するバッチ変換ジョブです。

  モデルパッケージを一覧表示する前に AWS Marketplace、検証する必要があります。これにより購入者と販売者は、Amazon SageMaker AI で商品が機能することを確認できます。検証が成功した AWS Marketplace 場合にのみ、 に製品を一覧表示できます。

  検証手順では、検証プロファイルとサンプルデータを使用して、以下の検証タスクを実行します。

  1. モデルパッケージの推論イメージと、Amazon S3 に保存されているオプションのモデルアーティファクトを使用して、お使いのアカウントでモデルを作成します。
**注記**  
モデルパッケージは、それを作成したリージョンに固有です。モデルアーティファクトが保存されている S3 バケットは、モデルパッケージを作成したリージョンと同じリージョンに存在している必要があります。

  1. お使いのアカウントでモデルを使用して変換ジョブを作成し、推論イメージが SageMaker AI で機能することを検証します。

  1. 検証プロファイルを作成します。
**注記**  
検証プロファイルには、公開しても構わないデータのみを指定してください。

  検証には数時間かかることがあります。アカウントでジョブのステータスを確認するには、SageMaker AI コンソールで **[変換ジョブ]** ページを参照してください。検証に失敗した場合は、SageMaker AI コンソールからスキャンレポートと検証レポートにアクセスできます。問題を修正したら、アルゴリズムを再作成します。アルゴリズムのステータスが `COMPLETED` である場合は、SageMaker AI コンソールでそのアルゴリズムを見つけて、出品プロセスを開始します。
**注記**  
モデルパッケージを に公開するには AWS Marketplace、少なくとも 1 つの検証プロファイルが必要です。

モデルパッケージを作成するには、SageMaker AI コンソールまたは SageMaker API を使用します。

**Topics**
+ [モデルパッケージのリソースを作成する (コンソール)](#sagemaker-mkt-create-model-pkg-console)
+ [モデルパッケージのリソースを作成する (API)](#sagemaker-mkt-create-model-pkg-api)

## モデルパッケージのリソースを作成する (コンソール)
<a name="sagemaker-mkt-create-model-pkg-console"></a>

**SageMaker AI コンソールでモデルパッケージを作成するには**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. 左側のメニューで、**[推論]** を選択します。

1. **[Marketplace モデルパッケージ]** を選択し、**[Marketplace モデルパッケージを作成]** を選択します。

1. [**Inference specifications (推論の仕様)**] ページで、以下の情報を指定します。

   1. [**Model package name (モデルパッケージ名)**] には、モデルパッケージの名前を入力します。モデルパッケージ名は、アカウントと AWS リージョンで一意である必要があります。名前は 1 ～ 64 文字で指定する必要があります。有効な文字は、a～z、A～Z、0～9、- (ハイフン) です。

   1. モデルパッケージの説明を入力します。この説明は、SageMaker AI コンソールと AWS Marketplaceに表示されます。

   1. [**Inference specification options (推論仕様のオプション)**] では、[**Provide the location of the inference image and model artifacts (推論イメージとモデルアーティファクトの場所を指定)**] を選択して、推論コンテナとモデルアーティファクトを使用してモデルパッケージを作成します。[**Provide the algorithm used for training and its model artifacts (トレーニング用に使用したアルゴリズムとそのモデルアーティファクトを指定)**] を選択して、 AWS Marketplaceから作成したアルゴリズムリソースまたはサブスクライブしているアルゴリズムリソースからモデルパッケージを作成します。

   1. **[Inference specification options]** (推論仕様のオプション) に **[Provide the location of the inference image and model artifacts]** (推論イメージとモデルアーティファクトの場所を指定) を選択した場合、**Container definition** (コンテナの定義) と **Supported resources** (サポートされるリソース) に以下の情報を指定します。

      1. [**Location of inference image (推論イメージの場所)**] には、推論コードを含むイメージのパスを入力します。イメージは、Amazon ECR で Docker コンテナとして保存されている必要があります。

      1. [**Location of model data artifacts (モデルデータアーティファクトの場所)**] には、モデルアーティファクトが保存されている S3 内の場所を入力します。

      1. [**Container DNS host name (コンテナの DNS ホスト名)**] には、コンテナに使用する DNS ホストの名前を入力します。

      1. **[リアルタイム推論のサポートインスタンスタイプ]** では、SageMaker AI がホストするエンドポイントからのリアルタイム推論用にモデルパッケージがサポートしているインスタンスタイプを選択します。

      1. [**Supported instance types for batch transform jobs (バッチ変換ジョブでサポートされているインスタンスタイプ)**] では、モデルパッケージがバッチ変換ジョブ用にサポートしているインスタンスタイプを選択します。

      1. [**Supported content types (サポートされるコンテンツタイプ)**] に、モデルパッケージが推論リクエストに期待するコンテンツタイプを入力します。

      1. [**Supported response MIME types (サポートされているレスポンス MIME タイプ)**] には、モデルパッケージが推論を提供するために使用する MIME タイプを入力します。

   1. **[Inference specification options]** (推論仕様のオプション) に **[Provide the algorithm used for training and its model artifacts]** (トレーニングに使用するアルゴリズムとそのモデルアーティファクトを指定) を選択した場合は、以下の情報を指定します。

      1. [**Algorithm ARN (アルゴリズム ARN)**] には、モデルパッケージの作成に使用するアルゴリズムリソースの Amazon リソースネーム (ARN) を入力します。

      1. [**Location of model data artifacts (モデルデータアーティファクトの場所)**] には、モデルアーティファクトが保存されている S3 内の場所を入力します。

   1. [**次へ**] を選択します。

1. [**Validation and scanning (検証およびスキャン)**] ページで、以下の情報を指定します。

   1. **このモデルパッケージを に公開 AWS Marketplace**するには、**はい** を選択してモデルパッケージを に公開します AWS Marketplace。

   1. モデルパッケージの推論コードをテストするために指定したバッチ変換ジョブを SageMaker AI で実行する場合は、**[このリソースを検証する]** で **[はい]** を選択します。
**注記**  
モデルパッケージを に公開するには AWS Marketplace、モデルパッケージを検証する必要があります。

   1. **[IAM ロール]** では、SageMaker AI でのバッチ変換ジョブの実行に必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

   1. [**Validation profile (検証プロファイル)**] では、以下を指定します。
      + 検証プロファイルの名前。
      + [**Transform job definition (変換ジョブの定義)**]。これは、バッチ変換ジョブを記述する JSON ブロックです。これは、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API の [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) 入力パラメータと同じ形式です。

1. **[Marketplace モデルパッケージを作成]** を選択します。

## モデルパッケージのリソースを作成する (API)
<a name="sagemaker-mkt-create-model-pkg-api"></a>

SageMaker API を使用してモデルパッケージを作成するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html) API を呼び出します。

# アルゴリズムとモデルパッケージのリソースの使用
<a name="sagemaker-mkt-buy"></a>

Amazon SageMaker AI アカウントでアルゴリズムとモデルパッケージをリソースとして作成でき、AWS Marketplace でアルゴリズムとモデルパッケージを見つけてサブスクライブできます。

アルゴリズムを使用すると、以下を実行できます。
+ トレーニングジョブを実行する。詳細については、「[アルゴリズムを使用してトレーニングジョブを実行する](sagemaker-mkt-algo-train.md)」を参照してください。
+ ハイパーパラメータ調整ジョブを実行する。詳細については、「[アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する](sagemaker-mkt-algo-tune.md)」を参照してください。
+ モデルパッケージを作成する。アルゴリズムリソースを使用してトレーニングジョブまたはハイパーパラメータ調整ジョブを実行した後、これらのジョブが出力するモデルアーティファクトをアルゴリズムと一緒に使用してモデルパッケージを作成できます。詳細については、「[モデルパッケージのリソースを作成する](sagemaker-mkt-create-model-package.md)」を参照してください。
**注記**  
AWS Marketplace でアルゴリズムをサブスクライブする場合は、モデルパッケージを作成してから、それを使用して推論を取得する必要があります。これには、ホストエンドポイントを作成するか、バッチ変換ジョブを実行します。

![\[市場購入者のワークフロー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/mkt-buyer-workflow.png)


モデルパッケージを使用すると、以下を実行できます。
+ リアルタイムでの推論の取得やバッチ変換ジョブの実行に使用できるモデルを作成する。詳細については、「[モデルパッケージを使用してモデルを作成する](sagemaker-mkt-model-pkg-model.md)」を参照してください。
+ ホストエンドポイントを作成して、リアルタイムで推論を取得する。詳細については、「[SageMaker AI ホスティングサービスにモデルをデプロイする](ex1-model-deployment.md#ex1-deploy-model)」を参照してください。
+ バッチ変換ジョブを作成する。詳細については、「[(オプション) バッチ変換を使用して予測を行う](ex1-model-deployment.md#ex1-batch-transform)」を参照してください。

**Topics**
+ [アルゴリズムを使用してトレーニングジョブを実行する](sagemaker-mkt-algo-train.md)
+ [アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する](sagemaker-mkt-algo-tune.md)
+ [モデルパッケージを使用してモデルを作成する](sagemaker-mkt-model-pkg-model.md)

# アルゴリズムを使用してトレーニングジョブを実行する
<a name="sagemaker-mkt-algo-train"></a>

アルゴリズムリソースを使用してトレーニングジョブを作成するには、Amazon SageMaker AI コンソール、低レベルの Amazon SageMaker API、または [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使います。

**注記**  
実行ロールには、指定したアルゴリズムリソースに対する`sagemaker:DescribeAlgorithm`アクセス許可が必要です。実行ロールのアクセス許可の詳細については、「」を参照してください[CreateTrainingJob API: 実行ロールアクセス許可](sagemaker-roles.md#sagemaker-roles-createtrainingjob-perms)。

**Topics**
+ [アルゴリズムを使用してトレーニングジョブを実行する (コンソール)](#sagemaker-mkt-algo-train-console)
+ [アルゴリズムを使用してトレーニングジョブを実行する (API)](#sagemaker-mkt-algo-train-api)
+ [アルゴリズムを使用してトレーニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-train-sdk)

## アルゴリズムを使用してトレーニングジョブを実行する (コンソール)
<a name="sagemaker-mkt-algo-train-console"></a>

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

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

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

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

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

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

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

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

   1. **[IAM ロール]** では、SageMaker AI でのトレーニングジョブの実行に必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

      1. [**S3 データタイプ**]、[**S3 データディストリビューションタイプ**]、および [**S3 の場所**] には、適切な値を指定します。これらの値の意味については、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html)を参照してください。

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

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

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

      1. [**S3 出力パス**] では、トレーニングジョブがモデルアーティファクトなどの出力を保存する S3 の場所を選択します。
**注記**  
この場所に保存されているモデルアーティファクトを使用して、このトレーニングジョブからモデルまたはモデルパッケージを作成します。

      1. **暗号化キー**の場合、SageMaker AI で AWS KMS キーを使用して S3 の場所に保存されている出力データを暗号化します。

   1. [**タグ**] には、トレーニングジョブを管理するためのタグを 1 つ以上指定します。各タグは、キーおよび値 (オプション) で構成されます。タグキーはリソースごとに一意である必要があります。

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

## アルゴリズムを使用してトレーニングジョブを実行する (API)
<a name="sagemaker-mkt-algo-train-api"></a>

アルゴリズムを使用してトレーニングジョブを実行する際に SageMaker API を使用するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) に渡す [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html) オブジェクトの [`AlgorithmName`] フィールドにアルゴリズムの名前または Amazon リソースネーム (ARN) を指定します。SageMaker AI でモデルをトレーニングする方法については、「[Amazon SageMaker でモデルをトレーニングする](how-it-works-training.md)」を参照してください。

## アルゴリズムを使用してトレーニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-train-sdk"></a>

で作成またはサブスクライブしたアルゴリズムを使用してトレーニングジョブ AWS Marketplace を作成し、 `AlgorithmEstimator` オブジェクトを作成し、Amazon リソースネーム (ARN) またはアルゴリズムの名前を`algorithm_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',
        instance_count=1,
        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})
```

# アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する
<a name="sagemaker-mkt-algo-tune"></a>

次のセクションでは、アルゴリズムリソースを使用して Amazon SageMaker AI でハイパーパラメータチューニングジョブを実行する方法について説明します。ハイパーパラメータ調整ジョブは、指定したアルゴリズムとハイパーパラメータの範囲を使用して、データセットに対して多数のトレーニングジョブを実行することにより、モデルの最適なバージョンを見つけます。さらに、選択したメトリクスでの測定に基づいて、最もパフォーマンスの高いモデルになるハイパーパラメータ値を選択します。詳細については、「[SageMaker AI の自動モデルチューニング](automatic-model-tuning.md)」を参照してください。

アルゴリズムリソースを使用してハイパーパラメータチューニングジョブを作成するには、Amazon SageMaker AI コンソール、低レベルの Amazon SageMaker API、または [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使用します。

**Topics**
+ [アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する (コンソール)](#sagemaker-mkt-algo-tune-console)
+ [アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する (API)](#sagemaker-mkt-algo-tune-api)
+ [アルゴリズムを使用してハイパーパラメータチューニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-tune-sdk)

## アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する (コンソール)
<a name="sagemaker-mkt-algo-tune-console"></a>

**アルゴリズムを使用してハイパーパラメータ調整ジョブを実行するには (コンソール)**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

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

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

1. [**ハイパーパラメータ調整ジョブの作成**] を選択します。

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

1. [**ハイパーパラメータ調整ジョブの作成**] ページで、以下の情報を指定します。

   1. [**Warm start (ブート)**] では、以前のハイパーパラメータ調整ジョブの情報をこのハイパーパラメータ調整ジョブの開始点として使用する場合に [**Enable warm start (ウォームスタートを有効にする)**] を選択します。詳細については、「[ウォームスタートのハイパーパラメータ調整ジョブを実行する](automatic-model-tuning-warm-start.md)」を参照してください。

      1. 入力データがこのハイパーパラメータ調整ジョブの親ジョブの入力データと同じである場合は、[**Identical data and algorithm (同一データとアルゴリズム)**] を選択します。また、このハイパーパラメータ調整ジョブに追加または異なる入力データを使用するには、[**Transfer learning (転移学習)**] を選択します。

      1. [**Parent hyperparameter tuning job(s) (親ハイパーパラメータ調整ジョブ)**] では、このハイパーパラメータ調整ジョブの親として使用するハイパーパラメータ調整ジョブを最大 5 つ選択します。

   1. [**調整ジョブ名**] には、調整ジョブの名前を入力します。

   1. **[IAM ロール]** では、SageMaker AI でのハイパーパラメータチューニングジョブの実行に必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

   1. **[VPC]** では、チューニングジョブが起動するトレーニングジョブにアクセス権を付与する Amazon VPC を選択します。詳細については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI トレーニングジョブに付与する](train-vpc.md)」を参照してください。

   1. **[Next]** (次へ) を選択します。

   1. [**Objective metric (メトリクス名)**] では、ハイパーパラメータ調整ジョブがハイパーパラメータの最適な組み合わせを決定するために使用するメトリクスを選択し、このメトリクスを最小化するか最大化するかを選択します。詳細については、「[最善のトレーニングジョブを確認する](automatic-model-tuning-ex-tuning-job.md#automatic-model-tuning-best-training-job)」を参照してください。

   1. [**ハイパーパラメータ設定**] では、調整ジョブの検索対象として調整可能なハイパーパラメータの範囲を選択し、ハイパーパラメータ調整ジョブが開始するすべてのトレーニングジョブで一定のままにする必要のあるハイパーパラメータの静的な値を設定します。詳細については、「[ハイパーパラメータの範囲を定義する](automatic-model-tuning-define-ranges.md)」を参照してください。

   1. **[Next]** (次へ) を選択します。

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

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

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

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

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

      1. [**S3 データタイプ**]、[**S3 データディストリビューションタイプ**]、および [**S3 の場所**] には、適切な値を指定します。これらの値の意味については、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html)を参照してください。

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

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

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

      1. [**S3 出力パス**] では、このハイパーパラメータ調整ジョブが起動するトレーニングジョブがモデルアーティファクトなどの出力を保存する S3 の場所を選択します。
**注記**  
この場所に保存されているモデルアーティファクトを使用して、このハイパーパラメータ調整ジョブからモデルまたはモデルパッケージを作成します。

      1. **暗号化キー**の場合、SageMaker AI で AWS KMS キーを使用して S3 の場所に保存されている出力データを暗号化します。

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

      1. [**インスタンスタイプ**] では、ハイパーパラメータ調整ジョブが起動する各トレーニングジョブに使用するインスタンスのタイプを選択します。

      1. [**インスタンス数**] には、ハイパーパラメータ調整ジョブが起動する各トレーニングジョブに使用する ML インスタンスの数を入力します。

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

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

   1. [**リソースの制限**] では、以下の情報を指定します。

      1. [**トレーニングジョブの最大数**] では、ハイパーパラメータ調整ジョブで起動するトレーニングジョブの最大数を指定します。ハイパーパラメータ調整ジョブは、最大 500 個のトレーニングジョブを起動できます。

      1. [**最大並行トレーニングジョブ**] では、ハイパーパラメータ調整ジョブが同時に起動できるトレーニングジョブの最大数を指定します。ハイパーパラメータ調整ジョブは、最大 10 個のトレーニングジョブを同時に起動することができます。

      1. [**停止条件**] には、ハイパーパラメータ調整ジョブが起動する各トレーニングジョブの最大実行時間を秒数、分数、時間数、または日数で指定します。

   1. [**タグ**] には、ハイパーパラメータ調整ジョブを管理するためのタグを 1 つ以上指定します。各タグは、キーおよび値 (オプション) で構成されます。タグキーはリソースごとに一意である必要があります。

   1. [**ジョブの作成**] を選択して、ハイパーパラメータ調整ジョブを実行します。

## アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する (API)
<a name="sagemaker-mkt-algo-tune-api"></a>

アルゴリズムを使用してハイパーパラメータ調整ジョブを実行する際に、SageMaker API を使用するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html) に渡す [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html) オブジェクトの `AlgorithmName` フィールドとしてアルゴリズムの名前または Amazon リソースネーム (ARN) を指定します。SageMaker AI でのハイパーパラメータチューニングについては、「[SageMaker AI の自動モデルチューニング](automatic-model-tuning.md)」を参照してください。

## アルゴリズムを使用してハイパーパラメータチューニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-tune-sdk"></a>

で作成またはサブスクライブしたアルゴリズムを使用してハイパーパラメータ調整ジョブ AWS Marketplace を作成し、 `AlgorithmEstimator` オブジェクトを作成し、`algorithm_arn`引数の値として Amazon リソースネーム (ARN) またはアルゴリズムの名前を指定します。その後、`estimator` 引数の値として作成した `AlgorithmEstimator` を使用して、`HyperparameterTuner` オブジェクトを初期化します。最後に `AlgorithmEstimator` の `fit` メソッドを呼び出します。例：

```
from sagemaker import AlgorithmEstimator
from sagemaker.tuner import HyperparameterTuner

data_path = os.path.join(DATA_DIR, 'marketplace', 'training')

algo = AlgorithmEstimator(
            algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022',
            role='SageMakerRole',
            instance_count=1,
            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.set_hyperparameters(max_leaf_nodes=10)
tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name',
                                objective_metric_name='validation:accuracy',
                                hyperparameter_ranges=hyperparameter_ranges,
                                max_jobs=2, max_parallel_jobs=2)

tuner.fit({'training': train_input}, include_cls_metadata=False)
tuner.wait()
```

# モデルパッケージを使用してモデルを作成する
<a name="sagemaker-mkt-model-pkg-model"></a>

モデルパッケージを使用し、ホストエンドポイントを作成するか、バッチ変換ジョブを実行して、リアルタイムの推論を得るために使用できるデプロイ可能なモデルを作成します。モデルパッケージからデプロイ可能なモデルを作成するには、Amazon SageMaker AI コンソール、低レベルの SageMaker API、または [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使用します。

**Topics**
+ [モデルパッケージを使用してモデルを作成する (コンソール)](#sagemaker-mkt-model-pkg-model-console)
+ [モデルパッケージを使用してモデルを作成する (API)](#sagemaker-mkt-model-pkg-model-api)
+ [モデルパッケージを使用してモデルを作成する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-model-pkg-model-sdk)

## モデルパッケージを使用してモデルを作成する (コンソール)
<a name="sagemaker-mkt-model-pkg-model-console"></a>

**モデルパッケージからデプロイ可能なモデルを作成するには (コンソール)**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. [**Model packages (モデルパッケージ)**] を選択します。

1. [**My model packages (自分のモデルパッケージ)**] タブのリストから作成したモデルパッケージを選択するか、[**AWS Marketplace subscriptions (AWS Marketplace サブスクリプション)**] タブでサブスクライブしたモデルパッケージを選択します。

1. **[モデルの作成]** を選択します。

1. [**モデル名**] には、モデルの名前を入力します。

1. **[IAM ロール]** では、SageMaker AI での他のサービスの代理呼び出しに必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

1. **[VPC]** には、モデルにアクセス権を付与する Amazon VPC を選択します。詳細については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI のホストされたエンドポイントに付与する](host-vpc.md)」を参照してください。

1. [**Container input options (コンテナ入力オプション)**] と [**Choose model package (モデルパッケージの選択)**] はデフォルト値のままにします。

1. 環境変数には、モデルコンテナに渡す環境変数の名前と値を入力します。

1. [**タグ**] には、モデルを管理するためのタグを 1 つ以上指定します。各タグは、キーおよび値 (オプション) で構成されます。タグキーはリソースごとに一意である必要があります。

1. **[モデルの作成]** を選択します。

デプロイ可能なモデルを作成したら、それを使用してリアルタイム推論用のエンドポイントを設定したり、データセット全体の推論を取得するためのバッチ変換ジョブを作成したりすることができます。SageMaker AI でエンドポイントをホストする方法については、「[推論のためのモデルをデプロイする](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)」を参照してください。

## モデルパッケージを使用してモデルを作成する (API)
<a name="sagemaker-mkt-model-pkg-model-api"></a>

モデルパッケージを使用してデプロイ可能なモデルを作成する際に SageMaker API を使用するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API に渡す [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) オブジェクトの `ModelPackageName` フィールドにモデルパッケージの名前または Amazon リソースネーム (ARN) を指定します。

デプロイ可能なモデルを作成したら、それを使用してリアルタイム推論用のエンドポイントを設定したり、データセット全体の推論を取得するためのバッチ変換ジョブを作成したりすることができます。SageMaker AI がホストするエンドポイントについては、「[推論のためのモデルをデプロイする](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)」を参照してください。

## モデルパッケージを使用してモデルを作成する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-model-pkg-model-sdk"></a>

モデルパッケージを使用してデプロイ可能なモデルを作成する際に SageMaker AI Python SDK を使用するには、`ModelPackage` オブジェクトを初期化し、モデルパッケージの Amazon リソースネーム (ARN) を `model_package_arn` 引数として渡します。例えば、次のようになります。

```
from sagemaker import ModelPackage
model = ModelPackage(role='SageMakerRole',
         model_package_arn='training-job-scikit-decision-trees-1542660466-6f92',
         sagemaker_session=sagemaker_session)
```

デプロイ可能なモデルを作成したら、それを使用してリアルタイム推論用のエンドポイントを設定したり、データセット全体の推論を取得するためのバッチ変換ジョブを作成したりすることができます。SageMaker AI でエンドポイントをホストする方法については、「[推論のためのモデルをデプロイする](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)」を参照してください。

# を使用した独自のアルゴリズムとモデルの一覧表示 AWS Marketplace
<a name="sagemaker-marketplace-sell"></a>

Amazon SageMaker AI アルゴリズムとモデルパッケージは、次の 3 つのステップのプロセスで販売できます。

1. アルゴリズムやモデルを開発し、それを Docker コンテナにパッケージ化します。詳細については、「[Amazon SageMaker AI でアルゴリズムとモデルを開発する](sagemaker-marketplace-develop.md)」を参照してください。

1. SageMaker AI でアルゴリズムまたはモデルパッケージリソースを作成します。詳細については、「[アルゴリズムとモデルパッケージのリソースの作成](sagemaker-mkt-create.md)」を参照してください。

1. で販売者として登録 AWS Marketplace し、 でアルゴリズムまたはモデルパッケージを一覧表示します AWS Marketplace。販売者として登録する方法については、* AWS Marketplace プロバイダー向けユーザーガイド*の「[販売者としての開始方法](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html)」を参照してください。アルゴリズムとモデルパッケージの一覧表示と収益化の詳細については、「 プロバイダー用ユーザーガイド[」のMachine Learning用の AWS Marketplace でのアルゴリズムとモデルパッケージの一覧表示](https://docs.aws.amazon.com/marketplace/latest/userguide/listing-algorithms-and-model-packages-in-aws-marketplace-for-machine-learning.html)」を参照してください。 * AWS Marketplace *

![\[SageMaker AI での販売者のワークフロー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/seller-flow.png)


## トピック
<a name="sagemaker-mkt-sell-topics"></a>
+ [Amazon SageMaker AI でアルゴリズムとモデルを開発する](sagemaker-marketplace-develop.md)
+ [アルゴリズムとモデルパッケージのリソースの作成](sagemaker-mkt-create.md)
+ [でアルゴリズムまたはモデルパッケージを一覧表示する AWS Marketplace](sagemaker-mkt-list.md)

# Amazon SageMaker AI でアルゴリズムとモデルを開発する
<a name="sagemaker-marketplace-develop"></a>

Amazon SageMaker AI で使用するアルゴリズムとモデルパッケージリソースを作成したり、 にリストしたりする前に AWS Marketplace、それらを開発して Docker コンテナにパッケージ化する必要があります。

**注記**  
アルゴリズムとモデルパッケージがリスト用に作成されると AWS Marketplace、SageMaker AI はサポートされているオペレーティングシステムのセキュリティの脆弱性についてコンテナをスキャンします。  
次のオペレーティングシステムのバージョンのみがサポートされています。  
Debian: 6.0、7、8、9、10
Ubuntu: 12.04、12.10、13.04、14.04、14.10、15.04、15.10、16.04、16.10、17.04、17.10、18.04、18.10
CentOS: 5、6、7
Oracle Linux: 5、6、7
Alpine: 3.3、3.4、3.5
Amazon Linux

**Topics**
+ [SageMaker AI でアルゴリズムを開発する](#sagmeaker-mkt-develop-algo)
+ [SageMaker AI でモデルを開発する](#sagemaker-mkt-develop-model)

## SageMaker AI でアルゴリズムを開発する
<a name="sagmeaker-mkt-develop-algo"></a>

アルゴリズムを SageMaker AI で使用するには、Docker コンテナとしてパッケージ化し、Amazon ECR に保存する必要があります。Docker コンテナには、トレーニングジョブを実行するために使用されるトレーニングコード、およびオプションで、アルゴリズムを使用してトレーニングされたモデルから推論を取得するために使用される推論コードが含まれています。

SageMaker AI でアルゴリズムを開発し、それらをコンテナとしてパッケージ化する方法については、「[モデルのトレーニングとデプロイのための Docker コンテナ](docker-containers.md)」を参照してください。アルゴリズムコンテナの作成方法の完全な例については、[https://sagemaker-examples.readthedocs.io/en/latest/advanced\$1functionality/scikit\$1bring\$1your\$1own/scikit\$1bring\$1your\$1own.html](https://sagemaker-examples.readthedocs.io/en/latest/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.html) のサンプルノートブックを参照してください。サンプルのノートブックは、SageMaker ノートブックインスタンスにもあります。このノートブックは**アドバンスト機能**セクションにあり、`scikit_bring_your_own.ipynb` という名前が付いています。

公開するアルゴリズムリソースを作成する前に、常にアルゴリズムを徹底的にテストしてください AWS Marketplace。

**注記**  
購入者がコンテナ化された製品をサブスクライブするとき、Docker コンテナは隔離された (インターネットのない) 環境で動作します。コンテナの作成時には、インターネット経由で呼び出しを行うことに頼らないでください。 AWS サービスへの呼び出しも許可されません。

## SageMaker AI でモデルを開発する
<a name="sagemaker-mkt-develop-model"></a>

SageMaker AI のデプロイ可能なモデルは、推論コード、モデルアーティファクト、リソースへのアクセスに使われる IAM ロール、および SageMaker AI でモデルをデプロイするために必要なその他の情報で構成されています。モデルアーティファクトは、機械学習アルゴリズムを使用してモデルをトレーニングした結果です。推論コードは Docker コンテナにパッケージ化し、Amazon ECR に保存する必要があります。モデルアーティファクトは、推論コードと同じコンテナでパッケージ化するか、Amazon S3 に保存します。

モデルを作成するには、SageMaker AI でトレーニングジョブを実行するか、SageMaker AI 以外の機械学習アルゴリズムをトレーニングします。SageMaker AI でトレーニングジョブを実行すると、結果として得られるモデルアーティファクトは、[DescribeTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html) オペレーションの呼び出しに対するレスポンスの [`ModelArtifacts`] フィールドに表示されます。SageMaker AI モデルコンテナを開発する方法については、「[カスタム推論コードを持つコンテナ](your-algorithms-inference-main.md)」を参照してください。SageMaker AI 以外でトレーニングされたモデルからモデルコンテナを作成する方法の完全なサンプルについては、サンプルノートブック ([https://sagemaker-examples.readthedocs.io/en/latest/advanced\$1functionality/xgboost\$1bring\$1your\$1own\$1model/xgboost\$1bring\$1your\$1own\$1model.html](https://sagemaker-examples.readthedocs.io/en/latest/advanced_functionality/xgboost_bring_your_own_model/xgboost_bring_your_own_model.html)) を参照してください。

公開するモデルパッケージを作成する前に、常にモデルを徹底的にテストしてください AWS Marketplace。

**注記**  
購入者がコンテナ化された製品をサブスクライブするとき、Docker コンテナは隔離された (インターネットのない) 環境で動作します。コンテナの作成時には、インターネット経由で呼び出しを行うことに頼らないでください。 AWS サービスへの呼び出しも許可されません。

# でアルゴリズムまたはモデルパッケージを一覧表示する AWS Marketplace
<a name="sagemaker-mkt-list"></a>

Amazon SageMaker AI でアルゴリズムやモデルを作成して検証したら、 AWS Marketplaceに製品を出品します。出品プロセスにより、 AWS Marketplace および SageMaker AI コンソールで製品を利用できるようになります。

製品を一覧表示するには AWS Marketplace、登録済みの販売者である必要があります。登録するには、 AWS Marketplace 管理ポータル (AMMP) の自己登録プロセスを使用します。詳細については、* AWS Marketplace プロバイダー向けユーザーガイド*の「[販売者としての開始方法](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html)」を参照してください。Amazon SageMaker AI コンソールから商品の出品プロセスを開始すると、販売者の登録状況が確認されます。登録していない場合は、登録するように指示します。

出品プロセスを開始するには、次のいずれかのオペレーションを行います。
+ SageMaker AI コンソールから、製品を選択して、**[アクション]** を選択し、**[新しい ML Marketplace 出品の公開]** を選択します。これにより、製品リファレンスの Amazon リソースネーム (ARN) が引き継がれ、AMMP が表示されて出品を作成します。
+ [ML 出品プロセス](https://aws.amazon.com/marketplace/management/ml-products/)に移動し、Amazon Resource Name (ARN) を手動で入力して製品リストを開始します。このプロセスでは、SageMaker AI で製品を作成したときに入力した製品メタデータが引き継がれます。アルゴリズムリストの場合、情報にはサポートされているインスタンスタイプとハイパーパラメータが含まれます。さらに、他の製品と同様に、 AWS Marketplace 製品の説明、プロモーション情報、サポート情報を入力できます。

# でアルゴリズムとモデルパッケージを検索してサブスクライブする AWS Marketplace
<a name="sagemaker-mkt-find-subscribe"></a>

を使用すると AWS Marketplace、コンピュータビジョン、自然言語処理、音声認識、テキスト、データ、音声、画像、ビデオ分析、不正検出、予測分析など、さまざまなカテゴリの数百の機械学習アルゴリズムやモデルを参照して検索できます。

![\[購入者のワークフロー。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/buyer-flow.png)


**でアルゴリズムを検索するには AWS Marketplace**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. **アルゴリズム**を選択し、次に**アルゴリズムを検索**を選択します。

   これにより、 AWS Marketplace アルゴリズムページが表示されます。でのアルゴリズムの検索とサブスクライブの詳細については AWS Marketplace、「 コンシューマー用ユーザーガイド」の[Machine Learning製品](https://docs.aws.amazon.com/marketplace/latest/buyerguide/aws-machine-learning-marketplace.html)」を参照してください。 *AWS Marketplace AWS *

**でモデルパッケージを検索するには AWS Marketplace**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. [**モデルパッケージ**] を選択して、[**モデルパッケージを検索する**] を選択する。

   これにより、 AWS Marketplace モデルパッケージページに移動します。でモデルパッケージを検索してサブスクライブする方法については AWS Marketplace、「 コンシューマー用ユーザーガイド」の[Machine Learning製品](https://docs.aws.amazon.com/marketplace/latest/buyerguide/aws-machine-learning-marketplace.html)」を参照してください。 *AWS Marketplace AWS *

## アルゴリズムとモデルパッケージの使用
<a name="sagemaker-mkt-how-to-use"></a>

SageMaker AI でサブスクライブしているアルゴリズムやモデルパッケージの使い方については、「[アルゴリズムとモデルパッケージのリソースの使用](sagemaker-mkt-buy.md)」を参照してください。

**注記**  
サブスクライブするアルゴリズムまたはモデルパッケージからトレーニングジョブ、推論エンドポイント、バッチ変換ジョブを作成すると AWS Marketplace、トレーニングコンテナと推論コンテナはインターネットにアクセスできません。コンテナはインターネットにアクセスできないため、アルゴリズムまたはモデルパッケージの販売者はデータにアクセスできません。