

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

# SageMaker Autopilot
<a name="autopilot-automate-model-development"></a>

**重要**  
2023 年 11 月 30 日現在、Autopilot の UI は、[Amazon SageMaker Studio](studio-updated.md) エクスペリエンスの更新の一環として [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) に移行しています。SageMaker Canvas は、データ準備、特徴量エンジニアリング、アルゴリズムの選択、トレーニングと調整、推論などのタスクを対象として、アナリストやシチズンデータサイエンティストにノーコード機能を提供します。ユーザーは、組み込みの視覚化と what-if 分析を活用して、データやさまざまなシナリオを調査できます。また自動予測により、モデルを簡単に実稼働化できます。Canvas は、コンピュータビジョン、需要予測、インテリジェント検索、生成 AI など、さまざまなユースケースをサポートしています。  
 [Studio](studio-updated.md) の以前のエクスペリエンスである [Amazon SageMaker Studio Classic](studio.md) のユーザーは、Studio Classic で Autopilot UI を引き続き使用できます。コーディング経験のあるユーザーは、サポートされている SDK のあらゆる [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を引き続き使用して、技術的な実装を行うことができます。  
Studio Classic でこれまで Autopilot を使用しており、SageMaker Canvas に移行する場合は、SageMaker Canvas アプリケーションを作成して使用できるように、追加のアクセス許可をユーザープロファイルまたは IAM ロールに付与する必要が生じる場合があります。詳細については、「[(オプション) Studio Classic の Autopilot から SageMaker Canvas に移行する](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot)」を参照してください。  
このガイドのすべての UI 関連の手順は、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) に移行する前の Autopilot のスタンドアロン機能に適用されます。これらの手順に従うユーザーは、[Studio Classic](studio.md) を使用する必要があります。

Amazon SageMaker Autopilot は、機械学習モデル (AutoML) の構築とデプロイのプロセスを自動化することにより、機械学習ワークフローのさまざまなステージの簡素化および高速化を行う機能セットです。このページでは、Amazon SageMaker Autopilot に関する重要な情報について説明します。

Autopilot は、オートパイロット、またはさまざまな程度のヒューマンガイダンスで使用できる、以下の主要なタスクを実行します。
+ **データ分析と前処理:** Autopilot は、特定の問題タイプを識別し、欠落した値を処理し、データを正規化し、特徴量を選択して、全体的にモデルトレーニング用データを準備します。
+ **モデルの選択:** Autopilot は、さまざまなアルゴリズムを調べ、交差検証リサンプリングテクニックを使用して、事前定義された目標メトリクスに基づいてアルゴリズムの予測品質を評価するメトリクスを生成します。
+ **ハイパーパラメータの最適化:** Autopilot は、最適なハイパーパラメータ構成の検索を自動化します。
+ **モデルトレーニングと評価:** Autopilot は、さまざまなモデル候補のトレーニングと評価のプロセスを自動化します。データをトレーニングおよび検証セットに分割し、トレーニングデータを使用して選択したモデル候補をトレーニングし、検証セットの未見データに基づいてパフォーマンスを評価します。最後に、パフォーマンスに基づいて最適化されたモデル候補をランク付けし、最もパフォーマンスの高いモデルを特定します。
+ **モデルのデプロイ:** Autopilot は、最もパフォーマンスの高いモデルを特定すると、モデルアーティファクトと API を公開するエンドポイントを生成することで、モデルを自動でデプロイするオプションを提供します。外部アプリケーションはエンドポイントにデータを送信し、対応する予測や推論を受信することができます。

Autopilot は、最大数百 GB の大規模データセットでの機械学習モデルの構築をサポートしています。

Autopilot が管理するこの AutoML プロセスのタスクについて以下の図に説明します。

![\[Amazon SageMaker Autopilot AutoML プロセスの概要。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/Autopilot-process-graphic-1.png)


機械学習プロセスにどれだけ慣れているかとコーディング経験に応じて、さまざまな方法で Autopilot を使用できます。
+ **Studio Classic UI を使用する**: ユーザーはコードを必要としないエクスペリエンスまたはある程度の人間による入力を選択できます。
**注記**  
リグレッションまたは分類などの問題タイプに関する表形式のデータから作成された実験のみ、Studio Classic UI 経由で使用可能です。
+ **AutoML API を使用する**: コーディング経験のあるユーザーは使用可能な SDK を使って AutoML ジョブを作成できます。このアプローチにより、柔軟性とカスタマイズオプションが向上します。すべての問題タイプで使用が可能です。

現在、Autopilot は以下の問題タイプをサポートしています。

**注記**  
表形式のデータに関係するリグレッションまたは分類問題の場合、ユーザーは Studio Classic ユーザーインターフェイスを使用するか、[API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用するかの 2 つのオプションから選択できます。  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。
+ CSV ファイルまたは Parquet ファイルとしてフォーマットした表形式のデータを使用した**リグレッション、バイナリ、および多クラス分類**。ファイルの各列には特定のデータ型の特徴量が入り、各行には観測値が入ります。受け入れられる列データ型には、数値、カテゴリ、テキスト、およびカンマ区切りの数値の文字列で構成される時系列が含まれます。
  + SageMaker API リファレンスを使用してパイロット実験として Autopilot ジョブを作成する方法については、「[AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)」を参照してください。
  + Studio Classic UI を使用してパイロット実験として Autopilot ジョブを作成する方法については、「[Studio Classic UI を使用して表形式データのリグレッション用または分類用 Autopilot 実験を作成する](autopilot-automate-model-development-create-experiment-ui.md)」を参照してください。
  + 管理者として、Autopilot 実験のデフォルトのインフラストラクチャ、ネットワーク、またはセキュリティパラメータを Studio Classic UI で事前設定することを検討している場合は、「[Autopilot 実験のデフォルトパラメータを設定する (管理者用)](autopilot-set-default-parameters-create-experiment.md)」を参照してください。
+ CSV ファイルまたは Parquet ファイルとしてフォーマットしたデータを使用した**テキスト分類**。1 つの列で分類するための文章を提供し、別の列で対応するクラスラベルを提供する必要があります。「[API を使用してテキスト分類用の AutoML ジョブを作成する](autopilot-create-experiment-text-classification.md)」を参照してください。
+ PNG、JPEG、または両方の組み合わせなどのイメージ形式を使用した**画像分類**。「[AutoML API を使用して画像分類ジョブを作成する](autopilot-create-experiment-image-classification.md)」を参照してください。
+ CSV ファイルまたは Parquet ファイルとしてフォーマットした時系列データを使用した**時系列予測**。「[API を使用して時系列予測用の AutoML ジョブを作成する](autopilot-create-experiment-timeseries-forecasting.md)」を参照してください。
+ CSV ファイルまたは Parquet ファイルとしてフォーマットされたデータを使用した、**テキスト生成**のための大規模言語モデル (LLM) のファインチューニング。「[API を使用してテキスト生成モデルをファインチューニングする AutoML ジョブを作成する](autopilot-create-experiment-finetune-llms.md)」を参照してください。

さらに、Autopilot は、個々の特徴量の重要性を示すレポートを自動的に生成して、モデルが予測を行う方法をユーザーが理解できるようにします。これにより、リスクチームとコンプライアンスチーム、外部規制機関が使用できる、予測に影響を与える要素に関する透明性とインサイトが得られます。また、Autopilot は、評価メトリクスの要約、混同行列、受信者操作特性曲線や適合率-再現率曲線などのさまざまな視覚化を包含するモデルパフォーマンスレポートも提供します。各レポートの具体的なコンテンツは、Autopilot 実験の問題タイプによって異なります。

Autopilot 実験が提供する最適なモデル候補の説明可能性とパフォーマンスのレポートは、テキスト、イメージ、表形式データの分類の問題タイプで使用可能です。

リグレッションまたは分類などの表形式データのユースケースの場合、データがどのように操作されたか、モデル候補がどのように選択、トレーニング、調整されたかについて詳細に把握できるように、Autopilot は、データを調べて最適なパフォーマンスのモデルを見つけるために使用されたコードを含むノートブックを生成します。これらのノートブックはインタラクティブで探索的な環境を提供し、さまざまな入力の影響や実験におけるトレードオフについて学習するのに役立ちます。Autopilot が提供するデータ探索と候補定義ノートブックに独自の変更を加えることにより、よりパフォーマンスの高いモデル候補でさらに実験することもできます。

Amazon SageMaker AI では、料金は実際に使用する分に対してのみ発生します。SageMaker AI または他の AWS サービス内の基盤となるコンピューティングリソースとストレージリソースについては、使用量に基づいてお支払いいただきます。SageMaker AI の使用料金の詳細については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing)」を参照してください。

**Topics**
+ [AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)
+ [AutoML API を使用して画像分類ジョブを作成する](autopilot-create-experiment-image-classification.md)
+ [API を使用してテキスト分類用の AutoML ジョブを作成する](autopilot-create-experiment-text-classification.md)
+ [API を使用して時系列予測用の AutoML ジョブを作成する](autopilot-create-experiment-timeseries-forecasting.md)
+ [API を使用してテキスト生成モデルをファインチューニングする AutoML ジョブを作成する](autopilot-create-experiment-finetune-llms.md)
+ [Studio Classic UI を使用して表形式データのリグレッション用または分類用 Autopilot 実験を作成する](autopilot-automate-model-development-create-experiment-ui.md)
+ [Amazon SageMaker Autopilot のサンプルノートブック](autopilot-example-notebooks.md)
+ [動画: Autopilot を使用して機械学習プロセスを自動化および探索する](autopilot-videos.md)
+ [Autopilot のクォータ](autopilot-quotas.md)
+ [Autopilot の API リファレンスガイド](autopilot-reference.md)

# AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する
<a name="autopilot-automate-model-development-create-experiment"></a>

Autopilot または AWS CLIがサポートする任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API アクションを呼び出すことで、表形式データの Autopilot リグレッションジョブまたは分類ジョブをプログラムで作成できます。`CreateAutoMLJobV2` API アクションの必須およびオプションの入力リクエストパラメータを以下に示します。このアクションの以前のバージョン `CreateAutoMLJob` に関する代替情報もあります。ただし、`CreateAutoMLJobV2` を使用することをお勧めします。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、 AWS SDK for Python (Boto3)の `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` の完全なリクエスト構文を参照してください。

**注記**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) と [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) は [CreateAutomlJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) と [DescribeAutomlJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) の新しいバージョンで、下位互換性があります。  
`CreateAutoMLJobV2` の使用をお勧めします。`CreateAutoMLJobV2` は以前のバージョンの `CreateAutoMLJob` と同じ表形式の問題タイプだけでなく、画像やテキストの分類、時系列予測などの表形式以外の問題タイプも管理できます。

少なくとも、表形式のデータに対するすべての実験には、実験名、入力データおよび出力データの場所、および予測するターゲットデータの指定が必要です。オプションで、解決する問題のタイプ (リグレッション、分類、多クラス分類) を指定したり、モデリング戦略 (*スタックアンサンブル*または*ハイパーパラメータ最適化*) を選択したり、Autopilot ジョブがデータをトレーニングするために使用するアルゴリズムのリストを選択したりすることもできます。

 実験後は、トライアルを比較して、各モデルの前処理ステップ、アルゴリズム、ハイパーパラメータ範囲の詳細を詳しく調べることができます。また、[説明可能性](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html)のレポートや[パフォーマンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html)のレポートをダウンロードすることもできます。提供された[ノートブック](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )を使用して、自動データ探索の結果や候補となるモデル定義を確認します。

`CreateAutoMLJob` を `CreateAutoMLJobV2` に移行する方法に関するガイドラインについては、「[CreateAutoMLJob を CreateAutoMLJobV2 に移行する](#autopilot-create-experiment-api-migrate-v1-v2)」を参照してください。

## 必須パラメータ
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して、表形式データの Autopilot 実験を作成するためには、次の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。
+ データソースを指定するための `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 内の少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`。
+ `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` メトリクスと `AutoMLProblemTypeConfig` で選択した教師あり学習の問題タイプ (二項分類、多クラス分類、回帰) の両方を含む、またはどちらも含まない。表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。教師あり学習の問題の場合、`TabularJobConfig` の `ProblemType` 属性で設定します。
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用されるロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。

------
#### [ CreateAutoMLJob ]

`[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` を呼び出して、AutoML 実験を作成するには、次の 4 つの値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)`。
+ データソースを指定するための `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` 内の少なくとも 1 つの `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)`。
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用されるロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。

------

その他のすべてのパラメータは省略可能です。

## 任意指定のパラメータ
<a name="autopilot-create-experiment-api-optional-params"></a>

次のセクションでは、表形式データを使用する場合に `CreateAutoMLJobV2` API アクションに渡すことができるいくつかのオプションパラメータの詳細を説明します。このアクションの以前のバージョン `CreateAutoMLJob` に関する代替情報もあります。ただし、`CreateAutoMLJobV2` を使用することをお勧めします。

### AutoML ジョブのトレーニングモードを設定する方法
<a name="autopilot-set-training-mode"></a>

表形式データの場合、モデル候補をトレーニングするためにデータに対して実行される一連のアルゴリズムは、モデリング戦略 (`ENSEMBLING`または`HYPERPARAMETER_TUNING`) によって異なります。以下では、このトレーニングモードの設定方法について詳しく説明します。

空白 (または`null`) のままにすると、`Mode` はデータセットのサイズに基づいて推測されます。

Autopilot のスタックアンサンブルとハイパーパラメータ最適化のトレーニング方法については、「[トレーニングモードとアルゴリズムのサポート](autopilot-model-support-validation.md)」を参照してください。

------
#### [ CreateAutoMLJobV2 ]

表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。

AutoML ジョブ V2 の[トレーニング方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)は、`[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` パラメータで設定できます。

------
#### [ CreateAutoMLJob ]

AutoML ジョブの[トレーニング方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)は、`[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)` パラメータで設定できます。

------

### AutoML ジョブをトレーニングするための特徴量とアルゴリズムの選択方法
<a name="autopilot-feature-selection"></a>

#### 特徴量の選択
<a name="autopilot-automl-job-feature-selection-api"></a>

Autopilot には、特徴量の選択や特徴量の抽出を含む自動データ前処理ステップがあります。ただし、トレーニングに使用する特徴量は `FeatureSpecificatioS3Uri` 属性を使用して手動で指定できます。

選択した特徴量は、次の形式の JSON ファイルに含まれている必要があります。

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

`["col1", "col2", ...]` にリストされている値は大文字と小文字が区別されます。これらは、入力データ内の列名のサブセットである一意の値を含む文字列のリストである必要があります。

**注記**  
特徴量として提供される列のリストには、対象列を含めることはできません。

------
#### [ CreateAutoMLJobV2 ]

表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。

`[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` パラメータを使用して、選択した特徴量の URL を設定できます。

------
#### [ CreateAutoMLJob ]

[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) API で [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) 属性を次の形式で設定できます。

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### アルゴリズムの選択
<a name="autopilot-automl-job-algorithms-selection-api"></a>

デフォルトでは、Autopilot ジョブはデータセットにあらかじめ定義されたアルゴリズムのリストを実行して、モデル候補をトレーニングします。アルゴリズムのリストは、ジョブが使用するトレーニングモード (`ENSEMBLING`または`HYPERPARAMETER_TUNING`) によって異なります。

デフォルトで選択されているアルゴリズムのサブセットを指定できます。

------
#### [ CreateAutoMLJobV2 ]

表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。

[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) の `AlgorithmsConfig` 属性には、選択した `AutoMLAlgorithms` の配列を指定できます。

以下は、アンサンブルトレーニングモードの `AutoMLAlgorithms` フィールドに 3 つのアルゴリズム (「xgboost」、「fastai」、「catboost」) を正確にリストした `AlgorithmsConfig` 属性の例です。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

[AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) の `AlgorithmsConfig` 属性には、選択した `AutoMLAlgorithms` の配列を指定できます。

以下は、アンサンブルトレーニングモードの `AutoMLAlgorithms` フィールドに 3 つのアルゴリズム (「xgboost」、「fastai」、「catboost」) を正確にリストした `AlgorithmsConfig` 属性の例です。

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

トレーニング `Mode` ごとに使用できるアルゴリズムのリストについては、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)」を参照してください。各アルゴリズムの詳細については、「[トレーニングモードとアルゴリズムのサポート](autopilot-model-support-validation.md)」を参照してください。

### AutoML ジョブのトレーニングデータセットと検証データセットを指定する方法
<a name="autopilot-data-sources-training-or-validation"></a>

独自の検証データセットとカスタムデータ分割率を指定することも、Autopilot にデータセットを自動的に分割させることもできます。

------
#### [ CreateAutoMLJobV2 ]

各 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) オブジェクト (必須パラメータ「[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)」を参照) には `ChannelType` があり、`training` 値または `validation` 値に設定することで、機械学習モデルを構築するときにデータをどのように使用するかを指定できます。少なくとも 1 つのデータソースを指定する必要があり、最大 2 つのデータソースを指定できます。1 つはトレーニングデータ用、もう 1 つは検証データ用です。

データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。
+ **データソースが 1 つ**のみである場合、`ChannelType` はデフォルトで `training` に設定され、この値を持つ必要があります。
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) の `ValidationFraction` 値を設定しないと、このソースのデータの 0.2 (20%) がデフォルトで検証に使用されます。
  + `ValidationFraction` を 0 から 1 の間の値に設定すると、データセットは指定した値に基づいて分割されます。この値は、検証に使用されるデータセットの割合を指定します。
+ **データソースが 2 つ**である場合は、`AutoMLJobChannel` オブジェクトの 1 つの `ChannelType` を `training` (デフォルト値) に設定する必要があります。他のデータソースの `ChannelType` は `validation` に設定する必要があります。2 つのデータソースは、同じ形式 (CSV または Parquet) と同じスキーマを持つ必要があります。この場合、`ValidationFraction` の値を設定してはいけません。各ソースのすべてのデータがトレーニングまたは検証に使用されるためです。この値を設定すると、エラーが発生します。

------
#### [ CreateAutoMLJob ]

各 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) オブジェクト (必須パラメータ [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig) を参照) には `ChannelType` があり、`training` 値または `validation` 値に指定することで、機械学習モデルを構築するときにデータをどのように使用するかを指定できます。少なくとも 1 つのデータソースを指定する必要があり、最大 2 つのデータソースを指定できます。1 つはトレーニングデータ用、もう 1 つは検証データ用です。

データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。
+ **データソースが 1 つ**のみである場合、`ChannelType` はデフォルトで `training` に設定され、この値を持つ必要があります。
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) の `ValidationFraction` 値を設定しないと、このソースのデータの 0.2 (20%) がデフォルトで検証に使用されます。
  + `ValidationFraction` を 0 から 1 の間の値に設定すると、データセットは指定した値に基づいて分割されます。この値は、検証に使用されるデータセットの割合を指定します。
+ **データソースが 2 つ**である場合は、`AutoMLChannel` オブジェクトの 1 つの `ChannelType` を `training` (デフォルト値) に設定する必要があります。他のデータソースの `ChannelType` は `validation` に設定する必要があります。2 つのデータソースは、同じ形式 (CSV または Parquet) と同じスキーマを持つ必要があります。この場合、`ValidationFraction` の値を設定してはいけません。各ソースのすべてのデータがトレーニングまたは検証に使用されるためです。この値を設定すると、エラーが発生します。

------

Autopilot の分割と相互検証について詳しくは、「[Autopilot での交差検証](autopilot-metrics-validation.md#autopilot-cross-validation)」を参照してください。

### AutoML ジョブの問題タイプを設定する方法
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。

さらに `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` パラメータを指定して、AutoML ジョブ V2 のモデル候補に使用できる教師あり学習の問題タイプ (二項分類、多クラス分類、回帰) を指定できます。

------
#### [ CreateAutoMLJob ]

`[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)` パラメータを使用して、AutoML ジョブの問題のタイプを設定できます。これにより、Autopilot が試す前処理の種類とアルゴリズムが制限されます。ジョブが終了すると、`[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)` を設定している場合、`[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` は設定した `ProblemType` と一致します。空白 (または`null`) のままにしておくと、`ProblemType` がユーザーに代わって推測されます。

------

**注記**  
場合によっては、Autopilot は十分な信頼度で `ProblemType` を推論できません。その場合、ジョブを成功させるために値を指定する必要があります。

### AutoML ジョブにサンプルの重みを追加する方法
<a name="autopilot-add-sample-weights-api"></a>

表形式のデータセットにサンプルの重み列を追加し、それを AutoML ジョブに渡して、トレーニングと評価中にデータセットの行に重み付けをするように要求できます。

サンプルの重みのサポートは、[アンサンブルモード](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)でのみ使用できます。ウェイトは負でない数値でなければなりません。無効な重み値または重み値がないデータポイントは除外されます。使用可能な目標メトリクスの詳細については、「[Autopilot 加重メトリクス](autopilot-metrics-validation.md#autopilot-weighted-metrics)」を参照してください。

------
#### [ CreateAutoMLJobV2 ]

表形式データの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` を選択する必要があります。

実験の作成時にサンプルの重みを設定するには ([CreateAutomLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) を参照)、`TabularJobConfig` オブジェクトの `SampleWeightAttributeName` 属性でサンプルの重み列の名前を渡すことができます。これにより、目標メトリクスがモデル候補のトレーニング、評価、選択にその重みを使用するようになります。

------
#### [ CreateAutoMLJob ]

実験の作成時にサンプルの重みを設定するには ([CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) を参照)、[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) オブジェクトの `SampleWeightAttributeName` 属性でサンプルの重み列の名前を渡すことができます。これにより、目標メトリクスがモデル候補のトレーニング、評価、選択にその重みを使用するようになります。

------

### 大規模なデータセットのために EMR Serverless でリモートジョブを開始するように AutoML を設定する方法
<a name="autopilot-set-emr-serverless-api-tabular"></a>

大規模なデータセットを処理するために追加のコンピューティングリソースが必要なときに、Amazon EMR Serverless で自動的にリモートジョブを開始するように AutoML ジョブ V2 を設定できます。必要に応じて EMR Serverless にシームレスに移行することで、AutoML ジョブは、ユーザーが手動で介入することなく、最初にプロビジョニングされたリソースを超えるデータセットを処理できます。EMR Serverless は、表形式および時系列の問題タイプで使用できます。5 GB を超える表形式のデータセットには、このオプションを設定することをお勧めします。

AutoML ジョブ V2 が大規模なデータセットに対して EMR Serverless に自動的に移行できるようにするには、`ExecutionRoleARN` フィールドを含む `EmrServerlessComputeConfig` オブジェクトを、AutoML ジョブ V2 入力リクエストの `AutoMLComputeConfig` に指定する必要があります。

`ExecutionRoleARN` は、EMR Serverless ジョブを実行するために必要なアクセス許可を AutoML ジョブ V2 に 付与する IAM ロールの ARN です。

このロールには、次の信頼関係が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

以下を行うアクセス許可を付与します。
+ EMR Serverless アプリケーションを作成、一覧表示、更新する。
+ EMR Serverless アプリケーションでのジョブの実行を開始、一覧表示、取得、またはキャンセルする。
+ EMR Serverless リソースにタグを付ける。
+ 実行のために IAM ロールを EMR Serverless サービスに渡す。

  `iam:PassRole` アクセス許可を付与することで、AutoML ジョブ V2 は一時的に `EMRServerlessRuntimeRole-*` ロールを引き受け、EMR Serverless サービスに渡すことができます。これらは、EMR Serverless ジョブ実行環境が、データアクセス用の Amazon S3、ログ記録用の CloudWatch、 AWS Glue データカタログへのアクセス、ワークロード要件に基づくその他のサービスなど、ランタイムに必要な他の AWS サービスとリソースにアクセスするために使用する IAM ロールです。

  このロールのアクセス許可の詳細については、「[Amazon EMR Serverless のジョブランタイムロール](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)」を参照してください。

提供されている JSON ドキュメントで定義された IAM ポリシーでは、これらのアクセス許可が付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## CreateAutoMLJob を CreateAutoMLJobV2 に移行する
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

`CreateAutoMLJob` のユーザーは `CreateAutoMLJobV2` に移行することをお勧めします。

このセクションでは、[CreateAutomLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax) と [CreateAutomlJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) の入力パラメータの違いを説明します。また、2 つのバージョン間の入力リクエストのオブジェクトと属性の位置、名前、構造の変化に焦点を当てて説明します。
+ **バージョン間で変更されていないリクエスト属性。**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **バージョン間で位置と構造が変更されたリクエスト属性。**

  次の属性の位置が変更されました。`DataSplitConfig`、`Security Config`、`CompletionCriteria`、`Mode`、`FeatureSpecificationS3Uri`、`SampleWeightAttributeName`、`TargetAttributeName`。

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **次の属性は、バージョン間で位置と構造が変更されました。**

  次の JSON は、[AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) 型の [AutoMLJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig) が、V2 で [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) 型の [AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) にどのように移行したかを示しています。

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **名前と構造が変更されたリクエスト属性。**

  次の JSON は、[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig) ([AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) の配列) が V2 で [AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) ([AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) の配列) にどのように変更されたかを示しています。属性 `SampleWeightAttributeName` および `TargetAttributeName` が `InputDataConfig` から `AutoMLProblemTypeConfig` に移動されることに注意してください。

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Autopilot のデータセットと問題タイプ
<a name="autopilot-datasets-problem-types"></a>

表形式データ (つまり、各列に特定のデータ型の特徴量が含まれ、各行に観測値が含まれるデータ) の場合、Autopilot では、AutoML ジョブのモデル候補に使用できる教師あり学習問題のタイプ (二項分類や回帰など) を指定するオプション、または提供されたデータに基づいてユーザーに代わってそれを検出するオプションを提供します。Autopilot は、複数のデータ形式とデータ型もサポートしています。

**Topics**
+ [Autopilot のデータセット、データ型、フォーマット](#autopilot-datasets)
+ [オートパイロットの問題タイプ](#autopilot-problem-types)

## Autopilot のデータセット、データ型、フォーマット
<a name="autopilot-datasets"></a>

Autopilot は、CSV ファイルまたは Parquet ファイルとしてフォーマットされた表形式のデータをサポートします。各列には特定のデータ型の特徴量が入り、各行には観測値が入ります。これら 2 つのファイル形式のプロパティは大きく異なります。
+ **CSV** (カンマ区切り値) は、データを人間が読めるプレーンテキストで格納する行ベースのファイル形式で、幅広いアプリケーションでサポートされているため、データ交換に一般的に採用されています。
+ **Parquet** は、列ベースのファイル形式で、行ベースのファイル形式よりも効率的にデータを格納および処理します。このため、ビッグデータの問題にはより適したオプションです。

列として受け入れられる**データ型**には、数値、カテゴリ、テキスト、時系列 (カンマ区切りの数値の文字列で構成) が含まれます。Autopilot は、**時系列**シーケンスを扱っていることを検出すると、それを処理するために [tsfresh](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html) ライブラリが提供する専用の特徴変換器を使用します。このライブラリは、時系列を入力として受け取り、時系列の絶対最大値や自己相関の記述統計などの特徴を出力します。これらの出力された特徴量は、3 つの問題タイプのいずれかに対する入力として使用されます。

Autopilot は、最大 100 GB の大規模なデータセットでの機械学習モデルの構築をサポートします。入力データセットに対するデフォルトのリソース制限と、これらの制限を引き上げる方法の詳細については、「[Autopilot のクォータ](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)」を参照してください。

## オートパイロットの問題タイプ
<a name="autopilot-problem-types"></a>

表形式のデータでは、モデル候補で使用できる教師あり学習の問題タイプを次のようにさらに指定します。

### リグレッション
<a name="autopilot-automate-model-development-problem-types-regression"></a>

リグレッションでは、従属ターゲット変数の値は、それと相関する 1 つ以上の他の変数または属性に基づいて推定されます。一例として、バスルームと寝室の数、家と庭の平方フィートなどの特徴を使用した住宅価格の予測があります。回帰分析では、これらの特徴量の 1 つ以上を入力として受け取り、家の価格を予測するモデルを作成できます。

### 二項分類
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

二項分類は、教師あり学習の一種で、属性に基づいて、事前に定義された相互に排他的な 2 つのクラスのいずれかに個人を割り当てます。属性が正しくラベル付けされたオブジェクトを提供する例を使用してモデルがトレーニングされるため、教師ありです。診断検査の結果に基づいて、個人が疾患を有するか否かの医学的診断が二値分類の一例です。

### 多クラス分類
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

多クラス分類とは、教師あり学習の一種で、その属性に基づいて複数のクラスのいずれかに個人を割り当てる分類です。属性が正しくラベル付けされたオブジェクトを提供する例を使用してモデルがトレーニングされるため、教師ありです。一例として、テキストドキュメントに最も関連性の高いトピックの予測があります。ドキュメントは、たとえば、宗教、政治、金融、または他のいくつかの事前定義されたトピッククラスのいずれかについてであるとして分類することができます。

# トレーニングモードとアルゴリズムのサポート
<a name="autopilot-model-support-validation"></a>

Autopilot は、機械学習の問題に対処し、品質と目標のメトリクスをレポートし、必要に応じて交差検証を自動的に使用するためのさまざまなトレーニングモードとアルゴリズムをサポートします。

## トレーニングモード
<a name="autopilot-training-mode"></a>

SageMaker Autopilot は、データセットのサイズに基づいてトレーニング方法を自動的に選択することも、手動で選択することもできます。次のような選択肢があります。
+ **アンサンブル** – Autopilot は [AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html) ライブラリを使用して複数のベースモデルをトレーニングします。データセットに最適な組み合わせを見つけるために、アンサンブルモードではモデルとメタパラメータの設定を変えて 10 回の試行を実行します。次に、Autopilot はスタッキングアンサンブル手法を使用してこれらのモデルを組み合わせて、最適な予測モデルを作成します。Autopilot が表形式データのアンサンブルモードでサポートするアルゴリズムの一覧については、以下の「**アルゴリズムサポート**」セクションを参照してください。
+ **ハイパーパラメータ最適化 (HPO)** – Autopilot は、データセットでトレーニングジョブを実行しながら、ベイズ最適化または多重忠実度最適化を使用してハイパーパラメータを調整することにより、モデルの最適なバージョンを見つけます。HPO モードは、データセットに最も関連するアルゴリズムを選択し、モデルのチューニングに最適な範囲のハイパーパラメータを選択します。モデルを調整するために、HPO モードでは最大 100 回の試行 (デフォルト) を実行して、選択した範囲内で最適なハイパーパラメータ設定を見つけます。データセットのサイズが 100 MB 未満の場合、Autopilot はベイズ最適化を使用します。データセットが 100 MB より大きい場合、Autopilot は多重忠実度最適化を選択します。

  多重忠実度最適化では、メトリクスはトレーニングコンテナから継続的に出力されます。選択した目標メトリクスに対してパフォーマンスが低いトライアルは早期に中止されます。パフォーマンスが良好なトライアルには、より多くのリソースが割り当てられます。

  Autopilot が HPO モードでサポートするアルゴリズムの一覧については、以下の「**アルゴリズムサポート**」セクションを参照してください。
+ **自動** – Autopilot は、データセットのサイズに基づいてアンサンブルモードまたは HPO モードのいずれかを自動的に選択します。データセットが 100 MB を超える場合、オートパイロットは HPO を選択します。それ以外の場合は、アンサンブルモードを選択します。次の場合、Autopilot はデータセットのサイズを読み取れないことがあります。
  + AutoML ジョブに対して Virtual Private Cloud (VPC) モードを有効にすると、データセットを含む S3 バケットでは VPC からのアクセスのみが許可されます。
  + データセットの入力 [S3DataType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) が `ManifestFile` です。
  + 入力 [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) には 1,000 個を超えるアイテムが含まれています。

  Autopilot がデータセットのサイズを読み取れない場合、デフォルトで HPO モードが選択されます。

**注記**  
最適なランタイムとパフォーマンスを得るには、100 MB 未満のデータセットにはアンサンブルトレーニングモードを使用してください。

## アルゴリズムのサポート
<a name="autopilot-algorithm-support"></a>

**HPO モード**では、Autopilot は次の種類の機械学習アルゴリズムをサポートします。
+  [線形学習](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html) – 分類または回帰の問題の解決に使用する、教師あり学習アルゴリズム。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) – 一連のより単純でより弱いモデルから得られた推定のアンサンブルを組み合わせることで、ターゲット変数の正確な予測を試みる、教師あり学習アルゴリズム。
+ 深層学習アルゴリズム 多層パーセプトロン (MLP) とフィードフォワード人工ニューラルネットワーク。このアルゴリズムは、線形分離不可能なデータを処理できます。

**注記**  
機械学習の問題に使用するアルゴリズムを指定する必要はありません。Autopilot は、トレーニングのために適切なアルゴリズムを自動的に選択します。

**アンサンブルモード**では、Autopilot は次の種類の機械学習アルゴリズムをサポートします。
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – 勾配ブースティングを備えたツリーベースのアルゴリズムを使用する最適化されたフレームワーク。このアルゴリズムは、深さではなく幅が大きくなるツリーを使用しており、速度に関して高度に最適化されています。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html) – 勾配ブースティングを備えたツリーベースのアルゴリズムを使用する最適化されたフレームワーク。カテゴリ変数の処理に最適化されています。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) – ツリーベースのアルゴリズムと幅ではなく深さが増す勾配ブーストを使用するフレームワーク。
+ [ランダムフォレスト](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – データのランダムなサブサンプルに対して複数のデシジョンツリーを使用し、置換を行うツリーベースのアルゴリズム。ツリーは各レベルで最適なノードに分割されます。各ツリーの判断は、過剰適合を防ぎ、予測を改善するためにまとめて平均化されます。
+ [エクストラツリー](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) — データセット全体で複数のデシジョンツリーを使用するツリーベースのアルゴリズム。ツリーは各レベルでランダムに分割されます。各ツリーの判断は、過剰適合を防ぎ、予測を改善するために平均化されます。ツリーが追加され、ランダムフォレストアルゴリズムと比較してある程度のランダム化が可能になります。
+ [線形モデル](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – 線形方程式を使用して観測データ内の 2 つの変数間の関係をモデル化するフレームワーク。
+ ニューラルネットワーク torch – [Pytorch](https://pytorch.org/) を使用して実装されたニューラルネットワークモデル。
+ ニューラルネットワーク fast.ai – [fast.ai](https://www.fast.ai/) を使用して実装されたニューラルネットワークモデル。

# メトリクスと検証
<a name="autopilot-metrics-validation"></a>

このガイドでは、機械学習モデルのパフォーマンスを測定するために使用できるメトリクスと検証手法について説明します。Amazon SageMaker Autopilot は、機械学習モデル候補の予測品質を測定するメトリクスを生成します。候補に対して計算されるメトリクスは、[MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) タイプの配列を使用して指定します。

## Autopilot メトリクス
<a name="autopilot-metrics"></a>

次のリストは、Autopilot 内でモデルのパフォーマンスを測定するために現在使用可能なメトリクスの名前を示しています。

**注記**  
Autopilot はサンプルの重みをサポートしています。サンプルの重みと使用可能な目標メトリクスの詳細については、「[Autopilot 加重メトリクス](#autopilot-weighted-metrics)」を参照してください。

以下は使用可能なメトリクスです。

**`Accuracy`**  
 正しく分類された項目の数の、(正しくおよび誤って) 分類された項目の総数に対する比率。二項分類と多クラス分類の両方で使用されます。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。

**`AUC`**  
 曲線下面積 (AUC) メトリクスは、ロジスティック回帰など、確率を返すアルゴリズムによる二項分類の比較と評価に使用します。確率を分類にマッピングするには、しきい値と比較します。  
関連する曲線は、受信者操作特性曲線です。曲線は、予測の偽陽性率 (FPR) に対する真陽性率 (TPR)/再現率を、しきい値 (これを超えれば予測を陽性とみなす) の関数としてプロットします。しきい値を高くすると偽陽性は小さくなりますが、偽陰性が増加します。  
AUC は、この受信者操作特性曲線の下面積です。したがって、AUC は、考えられるすべての分類しきい値にわたってモデルパフォーマンスの集約評価基準を提供します。AUC スコアは 0～1 の間の値をとります。1 のスコアは完全な精度を示し、半分のスコア (0.5) は予測がランダム分類器を上回らないことを示します。

**`BalancedAccuracy`**  
`BalancedAccuracy` は、すべての予測に対する正確な予測の比率を測定するメトリクスです。この比率は、真陽性 (TP) と真陰性 (TN) を陽性 (P) と陰性 (N) の合計数で正規化した後に計算します。これは、二項分類と多クラス分類の両方で使用し、0.5\$1((TP/P)\$1(TN/N)) として定義します。値は 0～1 の範囲です。`BalancedAccuracy` は、不均衡なデータセットで陽性と陰性の数が相互に大きく異なる場合に、より優れた精度の尺度となります。

**`F1`**  
`F1` スコアは適合率と再現率の調和平均で、F1 = 2 \$1 (適合率 \$1 再現率) / (適合率 \$1 再現率) のように定義されます。これは、従来、正と負と呼ばれているクラスへの二項分類に使用されます。予測は、実際の (正しい) クラスと一致する場合は true、そうでない場合は false とみなされます。  
精度は、すべての陽性予測数に対する真陽性予測数の比率であり、データセット内の偽陽性予測数を含みます。精度は、陽性クラスを予測するときの予測品質を測定します。  
再現率 (または感度) は、すべての実際の陽性インスタンス数に対する真陽性予測数の比率です。再現率は、モデルがデータセット内の実際のクラスメンバーをどれだけ完全に予測したかを測定します。  
F1 のスコアは 0～1 の間の値です。スコアが 1 の場合は可能な限り最高のパフォーマンスを示し、0 は最悪を示します。

**`F1macro`**  
`F1macro` スコアは、多クラス分類問題に F1 スコアリングを適用します。これを行うために、精度と再現率を計算し、その調和平均をとって各クラスの F1 スコアを計算します。最後に、`F1macro` は個々のスコアを平均化し、`F1macro` スコアを取得します。`F1macro` スコアは 0～1 の間の値をとります。スコアが 1 の場合は可能な限り最高のパフォーマンスを示し、0 は最悪を示します。

**`InferenceLatency`**  
推論待ち時間は、モデル予測のリクエストを送信してから、モデルがデプロイされているリアルタイムエンドポイントからそのリクエストを受け取るまでのおおよその時間です。このメトリクスは秒単位で測定され、アンサンブルモードでのみ使用できます。

**`LogLoss`**  
対数損失は、クロスエントロピー損失とも呼ばれ、確率出力そのものではなく、出力の品質を評価するために使用するメトリクスです。二項分類と多クラス分類の両方、およびニューラルネットで使用されます。ロジスティック回帰のコスト関数でもあります。対数損失は、モデルが高い確率で誤った予測を行っていることを示す重要なメトリクスです。値の範囲は 0 から無限大です。値 0 は、データを完全に予測するモデルを表します。

**`MAE`**  
平均絶対誤差 (MAE) は、すべての値を平均化した際に予測値と実際の値がどの程度異なるかを示す尺度です。MAE は、モデルの予測誤差を理解するために回帰分析で一般的に使用します。線形回帰がある場合、MAE は予測線から実際の値までの平均距離を表します。MAE は、絶対誤差の合計を観測値の数で割った値として定義されます。値の範囲は 0 から無限大で、数字が小さいほど、モデルがよりデータに適合していることを示します。

**`MSE`**  
平均二乗誤差 (MSE) は、予測値と実際の値の差の二乗の平均です。これは回帰に使用します。MSE の値は常に正です。モデルによる実際の値の予測精度が高くなるほど、MSE 値は小さくなります。

**`Precision`**  
精度は、アルゴリズムが識別したすべての陽性のうち、真陽性 (TP) をどの程度適切に予測したかを測定します。精度は Precision = TP/(TP\$1FP) として定義し、値は 0～1 の範囲です。二項分類で使用します。偽陽性のコストが高い場合、精度は重要なメトリクスです。例えば、航空機の安全システムが誤って安全に飛行可能と判断した場合、偽陽性のコストは非常に高くなります。偽陽性 (FP) は、陽性予測であるが、データ内で実際には陰性であることを示します。

**`PrecisionMacro`**  
精度マクロは、多クラス分類問題の精度を計算します。そのために、各クラスの精度を計算し、スコアを平均化して複数のクラスの精度を取得します。`PrecisionMacro` のスコアは 0～1 の範囲です。スコアが高いほど、モデルが特定したすべての陽性のうち、真陽性 (TP) を予測した能力が高いこと (複数のクラスを平均化した結果) を示します。

**`R2`**  
R2 は、決定係数とも呼ばれ、モデルが従属変数の分散をどれだけ説明できるかを定量化するために回帰で使用します。値は 1 から -1 の範囲です。数値が大きいほど、変動性を説明した割合が高いことを示します。ゼロ (0) に近い `R2` 値は、従属変数のほとんどをモデルが説明できなかったことを示します。負の値は、適合度が悪く、モデルは定数関数と比べてパフォーマンスが下回ることを示します。線形回帰の場合、これは水平線です。

**`Recall`**  
再現率は、アルゴリズムがデータセット内のすべての真陽性 (TP) をどれだけ正しく予測するかを測定します。真陽性は、陽性予測のうち、データ内で実際にも陽性である値を示します。再現率は、Recall = TP/(TP\$1FN) として定義し、値は 0～1 の範囲です。スコアが高いほど、データの真陽性 (TP) を予測するモデルの能力が高いことを示します。二項分類で使用します。  
再現率は、すべての真陽性を見つけるために使用されるため、がんの検査で重要です。偽陰性 (FN) は、陰性予測であるが、データ内で実際には陽性であることを示します。再現率を測定するだけでは不十分な場合があります。すべての出力を真陽性として予測すると、完全な再現率スコアになってしまうためです。

**`RecallMacro`**  
`RecallMacro` は、多クラス分類問題の再現率を計算します。そのために、各クラスの再現率を計算し、スコアを平均化して複数のクラスの再現率を取得します。`RecallMacro` のスコアは 0～1 の範囲の値です。スコアが高いほど、データセット内の真陽性 (TP) を予測するモデルの能力が高いことを示します。真陽性は、陽性予測のうち、データ内で実際にも陽性である値です。再現率を測定するだけでは不十分な場合があります。すべての出力を真陽性として予測すると、完全な再現率スコアになってしまうためです。

**`RMSE`**  
二乗平均平方根誤差 (RMSE) は、予測値と実際値の二乗差の平均値を求め、その値の平方根を計算したものです。これは、モデルの予測誤差を理解するために回帰分析で使用します。これは、大きなモデル誤差や外れ値の存在を示す重要なメトリクスです。値はゼロ (0) から無限大の範囲で、数値が小さいほど、モデルがデータにより適合していることを示します。RMSE は規模に依存するため、サイズが異なるデータセットの比較には使用しないでください。

モデル候補に対して自動的に計算されるメトリクスは、対象としている問題のタイプによって決まります。

Autopilot でサポートされている使用可能なメトリクスのリストについては、[Amazon SageMaker API リファレンスのドキュメント](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)を参照してください。

## Autopilot 加重メトリクス
<a name="autopilot-weighted-metrics"></a>

**注記**  
Autopilot は、`Balanced Accuracy` と `InferenceLatency` を除くすべての[利用可能なメトリクス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics)について、アンサンブルモードでのみサンプルの重みをサポートしています。`BalanceAccuracy` には、不均衡なデータセットに対する独自の重み付けスキームが用意されており、サンプルの重みは必要ありません。`InferenceLatency` ではサンプルの重みはサポートされません。目的 `Balanced Accuracy` と `InferenceLatency` メトリクスはどちらも、モデルのトレーニングと評価時に既存のサンプルの重みを無視します。

ユーザーはデータにサンプルの重み列を追加して、機械学習モデルのトレーニングに使用される各観測に、モデルにとって認識されている重要度に応じた重みが割り当てられるようにすることができます。これは、データセット内の観測の重要度が異なる場合や、あるクラスのサンプル数が他のクラスと比較して不釣り合いな数のデータセットに含まれている場合に特に役立ちます。各観測にその重要度または少数クラスに対する重要度に基づいて重みを割り当てると、モデルの全体的なパフォーマンスが向上したり、モデルが多数派のクラスに偏らないようにしたりできます。

Studio Classic UI で実験を作成する際にサンプルの重みを渡す方法については、「[Studio Classic UI を使用して Autopilot 実験を作成するには](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)」の*ステップ 7* を参照してください。

API を使用して Autopilot を作成するときにサンプルの重みをプログラムで渡す方法については、「[Create an Autopilot experiment programmatically](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)」の「How to add sample weights to an AutoML job」を参照してください。

## Autopilot での交差検証
<a name="autopilot-cross-validation"></a>

交差検証は、モデル選択における過剰適合やバイアスを減らすために使用されます。このメソッドは、検証データセットが同じ集団から抽出された場合、モデルが未確認の検証データセットの値をどれだけセ核に予測できるかを評価するためにも使用されます。この方法は、トレーニングインスタンスの数が限られているデータセットをトレーニングする場合に特に重要です。

Autopilot は交差検証を使用して、ハイパーパラメータ最適化 (HPO) モードとアンサンブルトレーニングモードでモデルを構築します。Autopilot の交差検証プロセスの最初のステップは、データを K 分割することです。

### K 分割
<a name="autopilot-cross-validation-kfold"></a>

K 分割は、入力トレーニングデータセットを複数のトレーニングデータセットと検証データセットに分割する方法です。データセットは、`k` 個の同じサイズのサブサンプルまたは Fold に分割されます。その後、モデルは `k-1` fold でトレーニングされ、残りの K 番目の fold (検証データセット) に対してテストされます。このプロセスは、検証用に別のデータセットを使って `k` 回繰り返されます。

次の画像は、K = 4 fold の K 分割を示しています。各 fold は行として表されます。濃い色のボックスは、トレーニングに使用されたデータの一部を表しています。残りの明るい色のボックスは検証データセットを表しています。

![\[K 分割は 4 fold のボックスで示されます。使用したデータは暗い色、検証データセットは明るい色です。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


Autopilot は、ハイパーパラメータ最適化 (HPO) モードとアンサンブルモードの両方に K 分割交差検証を使用します。

他の Autopilot モデルや SageMaker AI モデルと同様に、交差検証を使って構築された Autopilot モデルをデプロイできます。

### HPO モード
<a name="autopilot-cross-validation-hpo"></a>

K 分割交差検証は、交差検証に K 分割メソッドを使用します。HPO モードでは、50,000 以下のトレーニングインスタンスを持つ小さなデータセットに対して、Autopilot が自動的に k-fold 分割交差検証を実行します。交差検証の実行は、過剰適合や選択バイアスを防ぐため、小規模なデータセットでトレーニングを行う場合に特に重要です。

HPO モードは、データセットのモデル化に使用される各候補アルゴリズムに対して 5 の k 値を使用します。複数のモデルが異なる分割でトレーニングされ、モデルは別々に保存されます。トレーニングが完了すると、各モデルの検証メトリクスが平均化され、1 つの推定メトリクスが生成されます。最後に、Autopilot は、試験で得られたモデルと最適な検証メトリクスを組み合わせてアンサンブルモデルにします。Autopilot はこのアンサンブルモデルを使用して予測を行います。

Autopilot によってトレーニングされたモデルの検証メトリクスは、モデルリーダーボードに目標メトリクスとして表示されます。特に指定しない限り、Autopilot は扱う各問題タイプに対してデフォルトの検証メトリクスを使用します。Autopilot が使用するすべてのメトリクスのリストについては、「[Autopilot メトリクス](#autopilot-metrics)」を参照してください。

例えば、[ボストンの住宅のデータセット](http://lib.stat.cmu.edu/datasets/boston)には 861 個のみのサンプルが含まれています。このデータセットを使用して、交差検証なしで、住宅販売価格を予測するモデルを構築する場合、ボストンの住宅ストックを代表しないデータセットでトレーニングするというリスクが伴います。データをトレーニング用と検証用に一度だけ分割すると、トレーニング用には主に郊外からのデータしか含まれていない可能性があります。その結果、ボストンの他の地域を代表していないデータでトレーニングを行うことになります。この例では、モデルはこの偏った選択により過剰適合する可能性があります。K 分割交差検証は、トレーニングと検証に利用可能なデータを完全かつランダムに使用することで、このようなエラーのリスクを軽減することができます。

交差検証を行うと、トレーニング時間が平均 20% 長くなる可能性があります。また、データセットが複雑な場合、トレーニング時間が大幅に長くなる可能性があります。

**注記**  
HPO モードでは、各 fold のトレーニングメトリクスと検証メトリクスは、`/aws/sagemaker/TrainingJobs` CloudWatch Logs で確認できます。CloudWatch Logs の詳細については、「[Amazon SageMaker AI 用 CloudWatch Logs](logging-cloudwatch.md)」を参照してください。

### アンサンブルモード
<a name="autopilot-cross-validation-ensemble"></a>

**注記**  
Autopilot はアンサンブルモードでのサンプルの重みをサポートします。サンプルの重みをサポートする使用可能なメトリクスのリストについては、「[Autopilot メトリクス](#autopilot-metrics)」を参照してください。

アンサンブルモードでは、データセットのサイズに関係なく交差検証が実行されます。お客様は、独自の検証データセットとカスタムデータ分割比率を指定することも、Autopilot にデータセットを自動的に 80～20% の分割比率に分割させることもできます。トレーニングデータは交差検証のために `k` 分割に分割され、`k` の値は AutoGluon エンジンによって決定されます。アンサンブルは複数の機械学習モデルで構成され、各モデルはベースモデルと呼ばれます。1 つの基本モデルが (`k`-1) fold でトレーニングされ、残りの部分で out-of-fold 予測が行われます。このプロセスはすべての `k` fold で繰り返され、Out of fold (OOF) 予測が連結されて 1 つの予測セットになります。アンサンブル内のすべての基本モデルは、これと同じ OOF 予測の生成プロセスに従います。

以下の画像は、`k` = 4 fold での k 分割検証を示しています。各 fold は行として表されます。濃い色のボックスは、トレーニングに使用されたデータの一部を表しています。残りの明るい色のボックスは検証データセットを表しています。

画像の上部では、各 fold において、最初の基本モデルがトレーニングデータセットでトレーニングした後に検証データセットの予測を行います。それ以降の fold では、データセットの役割が変わります。以前はトレーニングに使用されていたデータセットが検証に使用されるようになり、これは逆にも当てはまります。`k` fold の最後には、すべての予測が連結されて、Out of fold (OOF) 予測と呼ばれる 1 つの予測セットが形成されます。このプロセスは `n` ベースモデルごとに繰り返されます。

![\[K 分割検証:4 行のボックスは 4 fold を表しており、これにより 1 行の OOF 予測が生成されます。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


次に、各基本モデルの OOF 予測がスタッキングモデルをトレーニングするための特徴として使用されます。スタッキングモデルは各ベースモデルの重要度の重みを学習します。これらの重みを使用して OOF 予測を組み合わせて最終予測を作成します。検証データセットのパフォーマンスによって、どのベースモデルまたはスタッキングモデルが最適かが決まり、このモデルが最終モデルとして返されます。

アンサンブルモードでは、独自の検証データセットを提供することも、Autopilot に入力データセットを 80% のトレーニングと 20% の検証データセットに自動的に分割させることもできます。次に、トレーニングデータを `k` 分割に分割して交差検証を行い、fold ごとに OOF 予測と基本モデルを生成します。

これらの OOF 予測はスタッキングモデルをトレーニングするための特徴として使用され、スタッキングモデルは各ベースモデルの重みを同時に学習します。これらの重みを使用して OOF 予測を組み合わせ、最終予測を作成します。各 fold の検証データセットは、すべてのベースモデルとスタッキングモデルのハイパーパラメータ調整に使用されます。検証データセットのパフォーマンスによって、どのベースモデルまたはスタッキングモデルが最適かが決まり、このモデルが最終モデルとして返されます。

# Autopilot モデルのデプロイと予測
<a name="autopilot-deploy-models"></a>

この Amazon SageMaker Autopilot ガイドには、モデルのデプロイ、リアルタイム推論の設定、バッチジョブによる推論の実行の手順が記載されています。

Autopilot モデルをトレーニングしたら、以下の 2 つのいずれかの方法でそれらのモデルをデプロイして、予測を取得することができます。

1. [リアルタイム推論用のモデルをデプロイする](autopilot-deploy-models-realtime.md) を使用して、エンドポイントを設定し、インタラクティブに予測を取得します。リアルタイム推論は、リアルタイム、インタラクティブ、低レイテンシーの要件がある推論ワークロードに最適です。

1. [バッチ推論ジョブを実行する](autopilot-deploy-models-batch.md) を使用して、データセット全体の観測値のバッチを並列的に予測します。バッチ推論は、データセットが大きい場合や、モデル予測のリクエストにすぐに応答する必要がない場合に適しています。

**注記**  
不要な料金が発生しないようにするには: モデルのデプロイで作成されたエンドポイントとリソースが不要になったら、それらを削除できます。リージョン別のインスタンスの料金については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

# リアルタイム推論用のモデルをデプロイする
<a name="autopilot-deploy-models-realtime"></a>

リアルタイム推論は、リアルタイム、インタラクティブ、低レイテンシーの要件がある推論ワークロードに最適です。このセクションでは、リアルタイム推論を使用してモデルからインタラクティブに予測を取得する方法を説明します。

Autopilot 実験で最良の検証メトリクスを出したモデルをデプロイするには、オプションがいくつかあります。例えば、SageMaker Studio Classic で Autopilot を使用する場合、モデルを自動または手動でデプロイできます。SageMaker API を使用して Autopilot モデルを手動でデプロイすることもできます。

次のタブは、モデルをデプロイするための 3 つのオプションを示しています。これらの手順は、Autopilot で既にモデルを作成していることを前提としています。モデルがない場合は、「[AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)」を参照してください。各オプションの例を見るには、各タブを開いてください。

## Autopilot ユーザーインターフェイス (UI) を使用してデプロイする
<a name="autopilot-deploy-models-realtime-ui"></a>

Autopilot UI には、モデルのデプロイをナビゲートするのに役立つドロップダウンメニュー、トグル、ツールチップなどが含まれています。自動または手動の手順のいずれかを使用してデプロイできます。
+ **自動デプロイ**: Autopilot の実験から得た最適なモデルをエンドポイントに自動的にデプロイします

  1. SageMaker Studio Classic で[実験を作成](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)します。

  1. **[自動デプロイ]** の値を **[はい]** に切り替えます。
**注記**  
**リージョン内のエンドポイントインスタンスに対するデフォルトのリソースクォータまたはカスタマークォータのいずれかが過度に制限されていると、自動デプロイは失敗します。**ハイパーパラメータ最適化 (HPO) モードでは、少なくとも 2 つの ml.m5.2xlarge インスタンスが必要です。アンサンブルモードでは、少なくとも 1 つの ml.m5.12xlarge インスタンスが必要です。クォータに関連する障害が発生した場合は、SageMaker AI エンドポイントインスタンスの[サービス制限の引き上げをリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)できます。
+ **手動デプロイ**: Autopilot テストから得た最適なモデルをエンドポイントに手動でデプロイします

  1. SageMaker Studio Classic で[実験を作成](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)します。

  1. **[自動デプロイ]** の値を **[いいえ]** に切り替えます。

  1. **[モデル名]** には、デプロイするモデルを選択します。

  1. リーダーボードの右側にあるオレンジ色の **[デプロイと詳細設定]** ボタンを選択します。これにより、新しいタブが開きます。

  1. エンドポイント名、インスタンスタイプ、その他のオプション情報を設定します。

  1.  オレンジ色の **[デプロイモデル]** を選択してエンドポイントにデプロイします。

  1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) の「エンドポイント」セクションに移動して、エンドポイント作成プロセスの進行状況を確認します。このセクションはナビゲーションパネルの **[推論]** ドロップダウンメニューにあります。

  1. 以下に示すように、エンドポイントのステータスが **[作成中]** から **[InService]** に変わったら、Studio Classic に戻り、エンドポイントを呼び出します。  
![\[SageMaker AI コンソール: エンドポイントを作成したり、エンドポイントのステータスを確認したりするためのエンドポイントページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## SageMaker API を使用してデプロイする
<a name="autopilot-deploy-models-api"></a>

**API コール**を使用してモデルをデプロイすることで、リアルタイムの推論を取得することもできます。このセクションでは、 AWS Command Line Interface (AWS CLI) コードスニペットを使用したこのプロセスの 5 つのステップを示します。

 AWS CLI コマンドと AWS SDK for Python (boto3) の両方の完全なコード例については、以下の手順に従ってタブを直接開きます。

1. **候補定義を取得する**

   [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から候補コンテナ定義を取得します。これらの候補定義は、SageMaker AI モデルを作成するために使用されます。

   以下の例では [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) API を使用して、最適なモデル候補の候補定義を取得しています。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **候補を一覧表示する**

   次の例では、[ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API を使用してすべての候補を一覧表示しています。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI モデルを作成する**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **エンドポイント設定を作成する** 

   次の例では、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **エンドポイントの作成** 

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. **エンドポイントの呼び出し** 

   以下のコマンド構造は、エンドポイントを呼び出してリアルタイム推論を行います。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

次のタブには、 AWS SDK for Python (boto3) または AWS CLIを使用してモデルをデプロイするための完全なコード例が含まれています。

------
#### [ AWS SDK for Python (boto3) ]

1. 次のコード例を使用して**候補定義を入手**します。

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. 次のコード例を使用して**モデルを作成**します。

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. 次のコード例を使用して**エンドポイント設定を作成**します。

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. **エンドポイントを作成**し、次のコード例を使用してモデルをデプロイします。

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   次のコード例を使用して、**エンドポイントの作成状況を確認**します。

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. 次のコマンド構造を使用して、**エンドポイントを呼び出し**てリアルタイム推論を行います。

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 次のコード例を使用して**候補定義を取得**します。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 次のコード例を使用して、**モデルを作成**します。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   詳細については、「[creating a model](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html)」を参照してください。

   `create model` コマンドでは、次の形式のレスポンスが返されます。

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. 次のコード例を使用して、**エンドポイント設定を作成**します。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   `create endpoint` 設定コマンドでは、次の形式のレスポンスが返されます。

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. 次のコード例を使用して、**エンドポイントを作成**します。

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   `create endpoint` コマンドでは、次の形式のレスポンスが返されます。

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   次の [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html) CLI コード例を使用して、エンドポイントのデプロイの進行状況を確認します。

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   前回の進捗確認では、次の形式でレスポンスが返されます。

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   `EndpointStatus` が `InService` に変わると、エンドポイントはリアルタイム推論に使用できるようになります。

1. 次のコマンド構造を使用して、**エンドポイントを呼び出し**てリアルタイム推論を行います。

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   その他のオプションについては、「[invoking an endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html)」を参照してください。

------

## さまざまなアカウントからモデルをデプロイできます。
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

Autopilot モデルは、モデルを生成した元のアカウントとは別のアカウントからデプロイできます。クロスアカウントモデルのデプロイを実装するために、このセクションでは以下の方法を説明します。   デプロイ元のアカウント (生成アカウント) にロールを引き受けるアクセス許可を付与します。   デプロイするアカウントから `DescribeAutoMLJob` を呼び出して、モデル情報を取得します。   生成アカウントからモデルアーティファクトへのアクセス権を付与します。   

1. **デプロイするアカウントにアクセス許可を付与する** 

   生成アカウントでロールを引き受けるには、デプロイするアカウントにアクセス許可を付与する必要があります。これにより、デプロイするアカウントは、生成アカウントの Autopilot ジョブを記述できるようになります。

   次の例では、信頼できる `sagemaker-role` エンティティの生成アカウントを使用しています。この例は、ID 111122223333 のデプロイするアカウントに、生成アカウントのロールを引き継ぐアクセス許可を付与する方法を示しています。

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   これで、ID 111122223333 の新しいアカウントが、生成アカウントのロールを引き継ぐことができます。

   次に、デプロイするアカウントから `DescribeAutoMLJob` API を呼び出して、生成アカウントによって作成されたジョブの説明を取得します。

   次のコード例では、デプロイするアカウントからモデルを説明しています。

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. 生成アカウントのモデルアーティファクトに**デプロイするアカウントへのアクセス許可を付与**します。

   デプロイするアカウントには、デプロイするために生成アカウントのモデルアーティファクトへのアクセスのみが必要です。これらは、モデル生成時に元の `CreateAutoMLJob` API 呼び出しで指定された [S3OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) にあります。

   デプロイするアカウントにモデルアーティファクトへのアクセス許可を付与するには、以下のいずれかのオプションを選択します。

   1. 生成アカウントからデプロイするアカウントに `ModelDataUrl` への[アクセスを許可](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/)します。

      次に、デプロイするアカウントにロールを引き受けるアクセス許可を付与する必要があります。[リアルタイム推論の手順](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)に従ってデプロイします。

   1. 生成アカウントの元の [S3OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) から生成アカウントに[モデルアーティファクトをコピー](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/)します。

      モデルアーティファクトへのアクセスを許可するには、`best_candidate` モデルを定義し、モデルコンテナを新しいアカウントに再割り当てする必要があります。

      次の例は、`best_candidate` モデルを定義して `ModelDataUrl` を再割り当てする方法を示しています。

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      このコンテナの割り当てが終わったら、[SageMaker API を使用してデプロイする](#autopilot-deploy-models-api) の手順に従ってデプロイします。

リアルタイム推論でペイロードを構築するには、ノートブックの例を参照して[テストペイロードを定義](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models)してください。CSV ファイルからペイロードを作成してエンドポイントを呼び出すには、「[機械学習モデルを自動的に作成する](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room)」の「**モデルを使用して予測を行う**」セクションを参照してください。

# バッチ推論ジョブを実行する
<a name="autopilot-deploy-models-batch"></a>

バッチ推論はオフライン推論とも呼ばれ、複数の観測値に基づいてモデル予測を生成します。バッチ推論は、データセットが大きい場合や、モデル予測のリクエストにすぐに応答する必要がない場合に適しています。これとは対照的に、オンライン推論 ([リアルタイム推論](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) はリアルタイムで予測を生成します。[SageMaker Python SDK、Autopilot ユーザーインターフェイス (UI](https://sagemaker.readthedocs.io/en/stable/))、[AWS SDK for Python (boto3)、または () を使用して](https://aws.amazon.com/sdk-for-python/)、Autopilot モデルからバッチ推論を行うことができます[AWS CLI](https://docs.aws.amazon.com/cli/)。 AWS Command Line Interface 

以下のタブでは、モデルをデプロイするための 3 つのオプションを示しています。「API を使用する」、「Autopilot UI」、「API を使用して異なるアカウントからデプロイする」です。これらの手順は、Autopilot で既にモデルを作成していることを前提としています。モデルがない場合は、「[AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)」を参照してください。各オプションの例を見るには、各タブを開いてください。

## Autopilot UI を使用してモデルをデプロイする
<a name="autopilot-deploy-models-batch-ui"></a>

Autopilot UI には、モデルのデプロイをナビゲートするのに役立つドロップダウンメニュー、トグル、ツールチップなどが含まれています。

以下の手順は、Autopilot 実験からバッチ予測用のモデルをデプロイする方法を示しています。

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) にサインインし、ナビゲーションペインから **[Studio]** を選択します。

1. 左側のナビゲーションペインで、**[Studio]** を選択します。

1. **[使用を開始]** で、Studio アプリケーションを起動するドメインを選択します。ユーザープロファイルが 1 つのドメインにのみ属している場合、ドメインの選択オプションは表示されません。

1. Studio Classic アプリケーションを起動するユーザープロファイルを選択します。ドメインにユーザープロファイルがない場合は、**[ユーザープロファイルを作成]** を選択します。詳細については、「[Add user profiles](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html)」を参照してください。

1. **[Studio を起動]** を選択します。ユーザープロファイルが共有スペースに属している場合は、**[オープンスペース]** を選択します。

1. SageMaker Studio Classic コンソールが開いたら、**[SageMaker Studio を起動]** ボタンを選択します。

1. 左のナビゲーションペインで **[AutoML]** を選択します。

1. **[名前]** で、デプロイするモデルに対応する Autopilot 実験を選択します。これにより、新しい **[Autopilot ジョブ]** タブが開きます。

1. **[モデル名]** セクションで、デプロイするモデルを選択します。

1. [**Deploy model (モデルのデプロイ)**] を選択します。これにより、新しいタブが開きます。

1. ページ上部の **[バッチ予測を行う]** を選択します。

1. **[バッチ変換ジョブの設定]** に、**[インスタンスタイプ]**、**[インスタンス数]**、その他のオプション情報を入力します。

1. **[入力データ設定]** セクションで、ドロップダウンメニューを開きます。

   1. **[S3 データタイプ]** には、**[マニフェストファイル]** または **[S3 プレフィックス]** を選択します。

   1. **[分割タイプ]** には、**[ライン]**、**[RecordIO]**、**[TFRecord]**、または **[なし]** を選択します。

   1. **[圧縮]** には、**[Gzip]** または **[なし]** を選択します。

1. **[S3 の場所]** には、入力データの Amazon S3 バケットの場所とそれ以外のオプション情報を入力します。

1. **[出力データ設定]** で、出力データの S3 バケットを入力し、ジョブの[出力をアセンブルする](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith)方法を選択します。

   1. **[追加設定 (オプション)]** では、MIME タイプと **[S3 暗号化キー]** を入力できます。

1. **[入力/出力フィルタリングとデータ結合 (オプション)]** では、JSONpath 式を入力して入力データをフィルタリングし、入力ソースデータを出力データと結合し、JSONpath 式を入力して出力データをフィルタリングします。

   1. 各タイプのフィルターの例については、「[DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter)」を参照してください。

1. 入力データセットのバッチ予測を実行するには、**[バッチ変換ジョブの作成]** を選択します。新しい **[バッチ変換ジョブ]** タブが表示されます。

1. **[バッチ変換ジョブ]** タブの、**[ステータス]** セクションでジョブの名前を見つけます。次に、ジョブの進行状況を確認します。

## SageMaker API を使用してデプロイする
<a name="autopilot-deploy-models-batch-steps"></a>

SageMaker API をバッチ推論に使用するには、次の 3 つのステップがあります。

1. **候補定義を入手する** 

   SageMaker AI モデルの作成には、[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) からの候補定義が使用されます。

   次の例は、[DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) API を使用して最適なモデル候補の候補定義を取得する方法を示しています。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API を使用して、すべての候補を一覧表示します。次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI モデルを作成する**

   [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成するには、前のステップのコンテナ定義を使用します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **SageMaker AI 変換ジョブを作成する** 

   次の例では、[CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html) API を使用して SageMaker AI 変換ジョブを作成します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html) API を使用して変換ジョブの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

ジョブが終了すると、予測された結果が `<your-output-path>` で利用可能になります。

出力ファイル名は次の形式です。`<input_data_file_name>.out`。例えば、入力ファイルが `text_x.csv` の場合、出力名は `text_x.csv.out` になります。

次のタブは、SageMaker Python SDK、 AWS SDK for Python (boto3)、および のコード例を示しています AWS CLI。

------
#### [ SageMaker Python SDK ]

次の例では、**[SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html)** を使用してバッチで予測を実行します。

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 次の例では、**AWS SDK for Python (boto3)** を使用してバッチで予測を実行します。

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

バッチ推論ジョブは、以下の形式でレスポンスを返します。

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 次のコード例を使用して**候補定義を取得**します。

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 次のコード例を使用して**モデルを作成**します。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. 以下のコード例を使用して**変換ジョブを作成**します。

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. 次のコード例を使用して、**変換ジョブの進行状況を確認**します。

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   以下は、変換ジョブからのレスポンスです。

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   `TransformJobStatus` が `Completed` に変わったら、`S3OutputPath` で推論結果を確認できます。

------

## 異なるアカウントからモデルをデプロイする
<a name="autopilot-deploy-models-batch-across-accounts"></a>

モデルを生成したアカウントとは別のアカウントでバッチ推論ジョブを作成するには、「[さまざまなアカウントからモデルをデプロイできます。](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts)」の手順に従います。その後、「[SageMaker API を使用してデプロイする](#autopilot-deploy-models-batch-steps)」に従ってモデルを作成し、ジョブを変換できます。

# モデルの詳細を表示する
<a name="autopilot-models-details"></a>

Autopilot は、取得できる候補モデルに関する詳細を生成します。これらの詳細には以下が含まれます。
+ 各特徴の重要度を示す、集計された SHAP 値のプロット。これはモデルの予測を説明するのに役立ちます。
+ 目標メトリクスなど、さまざまなトレーニングと検証のメトリクスの集約統計。
+ モデルのトレーニングとチューニングに使用されるハイパーパラメータのリスト。

Autopilot ジョブの実行後にモデルの詳細を表示するには、以下の手順に従います。

1. 左側のナビゲーションペインから**ホーム**アイコン (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png)) を選択し、**[Amazon SageMaker Studio Classic]** の最上位のナビゲーションメニューを表示します。

1. メインワークエリアから **[AutoML]** カードを選択します。新しい **[Autopilot]** タブが開きます。

1. **[名前]** セクションで、調べたい詳細を含む Autopilot ジョブを選択します。新しい **[Autopilot ジョブ]** タブが開きます。

1. **[Autopilot ジョブ]** パネルには、**[モデル名]** の下に各モデルの **[目標]** メトリクスを含むメトリクス値が表示されます。**[最適なモデル]** はリストの一番上にある **[モデル名]** の下に表示され、**[モデル]** タブでも強調表示されます。

   1. モデルの詳細を確認するには、確認したいモデルを選択し、**[モデル詳細の表示]** を選択します。新しい **[モデルの詳細]** タブが開きます。

1. **[モデルの詳細]** タブは 4 つのサブセクションに分かれています。

   1. **[説明可能性]** タブの上部には、各特徴の重要性を示す集計された SHAP 値のプロットが表示されます。その後に、このモデルのメトリクスとハイパーパラメータの値が表示されます。

   1. **[パフォーマンス]** タブには、メトリクス、統計、混同行列が含まれています。

   1. **[アーティファクト]** タブには、モデルの入力、出力、中間結果に関する情報が含まれています。

   1. **[ネットワーク]** タブには、ネットワークの分離と暗号化に関する選択肢がまとめられています。
**注記**  
**[パフォーマンス]** タブの特徴の重要性と情報は、**[最適なモデル]** についてのみ生成されます。

   SHAP 値が特徴の重要度に基づく予測の説明にどう役立つかの詳細については、「[モデルの説明可能性の概要](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf)」ホワイトペーパーを参照してください。追加情報は、SageMaker AI デベロッパーガイド」の[モデルの説明可能性](clarify-model-explainability.md)トピックでも入手できます。

# Autopilot モデルのパフォーマンスレポートを表示する
<a name="autopilot-model-insights"></a>

Amazon SageMaker AI モデル品質レポート (パフォーマンスレポートとも呼ばれる) は、AutoML ジョブによって生成された最適なモデル候補に関するインサイトと品質情報を提供します。これには、ジョブの詳細、モデルの問題タイプ、目的関数、および問題タイプに関連するその他の情報が含まれます。このガイドでは、Amazon SageMaker Autopilot のパフォーマンスメトリクスをグラフィカルに表示する方法、または JSON ファイル内の raw データとしてメトリクスを表示する方法を説明します。

例えば、分類問題の場合、モデル品質レポートには以下が含まれます。
+ 混同行列
+ 受信者操作特性曲線の下面積 (AUC)
+ 偽陽性と偽陰性を理解するための情報
+ 真陽性と偽陽性のトレードオフ
+ 精度と再現率のトレードオフ

Autopilot は、候補となるすべてのモデルのパフォーマンスメトリクスも提供します。これらのメトリクスはすべてのトレーニングデータを使用して計算され、モデルのパフォーマンスの推定に使用されます。メイン作業領域には、デフォルトでこれらのメトリクスが含まれます。メトリクスの種類は、対処する問題の種類によって決まります。

Autopilot でサポートされている使用可能なメトリクスのリストについては、[Amazon SageMaker API リファレンスのドキュメント](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)を参照してください。

関連するメトリクスを使用してモデル候補を並べ替えると、ビジネスニーズに対処するモデルを選択してデプロイしやすくなります。これらのメトリクスの定義については、「[Autopilot candidate metrics](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics)」トピックを参照してください。

Autopilot ジョブのパフォーマンスレポートを表示するには、以下の手順に従います。

1. 左側のナビゲーションペインから**ホーム**アイコン (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png)) を選択し、**[Amazon SageMaker Studio Classic]** の最上位のナビゲーションメニューを表示します。

1. メインワークエリアから **[AutoML]** カードを選択します。新しい **[Autopilot]** タブが開きます。

1. **[名前]** セクションで、調べたい詳細を含む Autopilot ジョブを選択します。新しい **[Autopilot ジョブ]** タブが開きます。

1. **[Autopilot ジョブ]** パネルには、**[モデル名]** の下に各モデルの **[目標]** メトリクスを含むメトリクス値が表示されます。**[最適なモデル]** はリストの一番上にある **[モデル名]** の下に表示され、**[モデル]** タブで強調表示されます。

   1. モデルの詳細を確認するには、確認したいモデルを選択し、**[モデル詳細の表示]** を選択します。新しい **[モデルの詳細]** タブが開きます。

1. **[説明可能性]** タブと **[アーティファクト]** タブの間の **[パフォーマンス]** タブを選択します。

   1. タブの右上にある **[パフォーマンスレポートのダウンロード]** ボタンの下向き矢印を選択します。

   1. 下向き矢印には、Autopilot のパフォーマンスメトリクスを表示するためのオプションが 2 つあります。

      1. パフォーマンスレポートの PDF をダウンロードして、メトリクスをグラフィカルに表示できます。

      1. メトリクスを raw データとして表示し、JSON ファイルとしてダウンロードできます。

SageMaker Studio Classic で AutoML ジョブを作成して実行する方法については、「[AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)」を参照してください。

パフォーマンスレポートには 2 つのセクションがあります。1 つ目のセクションには、モデルを作成した Autopilot ジョブに関する詳細が含まれています。2 つ目のセクションには、モデル品質レポートが含まれています。

## Autopilot ジョブの詳細
<a name="autopilot-model-insights-details-and-metrics-table"></a>

レポートの最初のセクションには、モデルを作成した Autopilot ジョブに関する一般的な情報が記載されています。ジョブの詳細には、以下の情報が含まれます。
+ Autopilot 候補名
+ Autopilot ジョブ名
+ 問題タイプ
+ 目標メトリクス
+ 最適化の方向

## モデル品質レポート
<a name="autopilot-model-quality-report"></a>

モデル品質情報は、Autopilot モデルインサイトによって生成されます。生成されるレポートの内容は、対処する問題のタイプ (回帰、二項分類、または多クラス分類) によって異なります。このレポートは、評価データセットに含まれていた行の数と、評価が行われた時刻を示します。

### メトリクステーブル
<a name="autopilot-model-quality-report-metrics"></a>

モデル品質レポートの最初の部分にはメトリクステーブルが含まれています。これらは、モデルが対処した問題のタイプに適したものです。

以下の図は、Autopilot が回帰問題に対して生成するメトリクステーブルの例です。メトリクスの名前、値、標準偏差が表示されます。

![\[Amazon SageMaker Autopilot モデルインサイトの回帰メトリクスレポートの例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


以下の図は、多クラス分類問題に関して、Autopilot によって生成されるメトリクステーブルの例です。メトリクスの名前、値、標準偏差が表示されます。

![\[Amazon SageMaker Autopilot モデルインサイトの多クラス分類メトリクスレポートの例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### グラフィカルなモデルパフォーマンス情報
<a name="autopilot-model-quality-report-graphs"></a>

 モデル品質レポートの 2 つ目の部分には、モデルのパフォーマンスを評価するのに役立つグラフィカルな情報が含まれています。このセクションの内容は、モデリングで使用した問題タイプに応じて異なります。

#### 受信者操作特性曲線の下面積
<a name="autopilot-model-insights-auc-roc"></a>

受信者操作特性曲線の下面積は、真陽性率と偽陽性率のトレードオフを表します。これは、二項分類モデルで使用される業界標準の精度メトリクスです。AUC (受信者操作特性曲線) は、モデルが陰性の例と比較して陽性の例により高いスコアを予測する能力を測定します。AUC メトリクスは、考えられるすべての分類しきい値にわたってモデルパフォーマンスの集約評価基準を提供します。

AUC のメトリクスは 0 から 1 の 10 進値を返します。1 に近い AUC 値は、極めて正確な機械学習モデルであることを示します。0.5 付近の値は、モデルのパフォーマンスがランダムな推測を上回っていないことを示します。0 に近い AUC 値は、機械学習モデルが正しいパターンを学習したが、これらのパターンを使用して可能な限り不正確な予測を行っていることを示します。値がゼロに近い場合、データに問題がある可能性があります。AUC メトリクスの詳細については、Wikipedia の記事「[Receiver operating characteristic](https://en.wikipedia.org/wiki/Receiver_operating_characteristic)」を参照してください。

以下は、バイナリ分類モデルによる予測を評価するための、受信者操作特性曲線グラフの下面積の例です。細い点線は、ランダムな推測を上回ることがないモデルの受信者操作特性曲線の下面積を表し、AUC スコアは 0.5 です。より正確な分類モデルの曲線は、このランダムベースラインより上にあり、真陽性の割合が偽陽性の率を超えています。二項分類モデルの性能を表す受信機動作特性曲線の下面積は、太い実線です。

![\[Amazon SageMaker Autopilot の受信者操作特性曲線の下面積の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


グラフを構成する**偽陽性率** (FPR) と**真陽性率** (TPR) の構成要素の概要は、次のように定義されます。
+ 正しい予測
  + **真陽性** (TP): 予測値は 1 で、真の値は 1 です。
  + **真陰性** (TN): 予測値は 0 で、真の値は 0 です。
+ 誤った予測
  + **偽陽性** (FP): 予測値は 1 ですが、真の値は 0 です。
  + **偽陰性** (FN): 予測値は 0 ですが、真の値は 1 です。

**偽陽性率** (FPR) は、FP と TN の合計に対して、陽性として誤って予測された (FP) 真陰性 (TN) の割合を測定します。範囲は 0～1 です。値が小さいほど予測精度が高いことを示します。
+ FPR = FP/(FP\$1TN)

**真陽性率** (TPR) は、TP と偽陰性 (FN) の合計に対して、陽性として正しく予測された真陽性 (TP) の割合を測定します。範囲は 0～1 です。値が大きいほど予測精度が良いことを示します。
+ TPR = TP/(TP\$1FN)

#### 混同行列
<a name="autopilot-model-insights-confusion-matrix"></a>

混同行列は、さまざまな問題に対して、二項分類および多クラス分類のモデルで行われた予測の精度を可視化する方法を提供します。モデル品質レポートの混同行列には以下が含まれます。
+ 実際のラベルの予測の正解と誤りの数と割合
+ 左上から右下までの対角線上に示される、正確な予測の数と割合
+ 右上から左下までの対角線上に示される、不正確な予測の数と割合

混同行列上の誤った予測は、混同値です。

次の図は、二項分類問題に関する混同行列の例です。これには、以下の情報が含まれています。
+ 縦軸は、真と偽の実際のラベルを含む 2 つの行に分かれています。
+ 横軸は、モデルによって予測された真と偽のラベルを含む 2 つの列に分かれています。
+ カラーバーは、各カテゴリに分類された値の数を視覚的に示すために、サンプル数が多いほど暗い色調を割り当てます。

この例では、モデルは 2,817 個の実際の false 値を正しく予測し、353 個の実際の true 値を正しく予測しました。このモデルでは、130 個の実際の true 値が false で、33 個の実際の false 値が true であると誤って予測されていました。階調の違いは、データセットのバランスが取れていないことを示しています。この不均衡は、実際の false ラベルの方が実際の true ラベルよりもはるかに多いためです。

![\[Amazon SageMaker Autopilot の二項混同行列の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


次の図は、多クラス分類問題に関する混同行列の例です。モデル品質レポートの混同行列には以下が含まれます。
+ 縦軸は、3 つの異なる実際のラベルを含む 3 つの行に分かれています。
+ 横軸は、モデルによって予測されたラベルを含む 3 つの列に分かれています。
+ 色付きのバーは、各カテゴリに分類された値の数を視覚的に示すため、サンプル数が多いほど濃い色調を割り当てています。

以下の例では、モデルはラベル **f** の実際の値を 354 個、ラベル **i** の値を 1,094 個、ラベル **m** の値を 852 個正しく予測しています。色調の違いは、値 **i** のラベルが **f** や **m** よりも多いため、データセットのバランスが取れていないことを示しています。

![\[Amazon SageMaker Autopilot マルチモデル混同行列の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


提供されたモデル品質レポートの混同行列は、多クラス分類問題タイプに対して、最大 15 個のラベルを収容することができます。ラベルに対応する行に `Nan` 値が表示されている場合、モデル予測のチェックに使用された検証データセットにはそのラベルのデータが含まれていないことを意味します。

#### ゲイン曲線
<a name="autopilot-model-insights-precision-gain-curve"></a>

二項分類では、ゲイン曲線は、データセットの割合を使用して陽性ラベルを見つけることによる累積的なメリットを予測します。ゲイン値は、トレーニング中に、陽性観測値の累積数をデータ内の陽性観測値の総数で除算し、各十分位数で算出されます。トレーニング中に作成した分類モデルが目に見えないデータを表すものであれば、ゲイン曲線を使用して、陽性ラベルの割合を取得するためにターゲットにしなければならないデータの割合を予測できます。使用するデータセットの割合が高いほど、検出された陽性ラベルの割合も高くなります。

次のグラフ例では、ゲイン曲線は傾きが変化する線です。直線は、データセットからランダムにデータの割合を選択して見つかった陽性ラベルの割合です。データセットの 20% をターゲットにすると、陽性ラベルの 40% を超えるものが見つかると予想されます。一例として、ゲイン曲線を使用してマーケティングキャンペーンにおける取り組みを決定することを検討するとします。ゲイン曲線の例で言うと、ある地域の 83% の人がクッキーを購入するためには、その地域の約 60% に広告を送信することになります。

![\[Amazon SageMaker Autopilot ゲイン曲線の例 (割合とゲイン値を含む)。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### リフト曲線
<a name="autopilot-model-insights-lift-curve"></a>

二項分類におけるリフト曲線は、トレーニング済みのモデルを使用して陽性ラベルが見つかる可能性を無作為に推定した場合と比較して向上することを示しています。リフト値は、各十分位数における陽性ラベルの比率に対する増加率の比率を使用してトレーニング中に計算されます。トレーニング中に作成したモデルが目に見えないデータを表すものである場合は、リフト曲線を使用して、ランダムに推測するよりもそのモデルを使用するメリットを予測します。

次のグラフ例では、リフト曲線は傾きが変化する線です。直線は、データセットから対応する割合をランダムに選択したときのリフト曲線です。データセットの 40% をモデルの分類ラベルでターゲットにすると、目に見えないデータの 40% を無作為に選択した場合に見つかる陽性ラベルの数の約 1.7 倍が見つかると予想されます。

![\[Amazon SageMaker Autopilot リフト曲線の例 (割合とリフト値を含む)。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### 精度-再現率曲線
<a name="autopilot-model-insights-precision-recall-curve"></a>

精度-再現率曲線は、二項分類問題における精度と再現率のトレードオフを表します。

**精度**は、陽性と予測されたすべての結果 (TP と偽陽性) のうち、実際の陽性が陽性と予測された (TP) 割合を測定します。範囲は 0～1 です。値が大きいほど、予測された値の精度が高いことを示します。
+ 精度 = TP/(TP\$1FP)

**再現率**は、すべての実際の陽性予測数 (TP と偽陰性) のうち、実際の陽性が陽性と予測された (TP) 割合を測定します。これは、感度または真陽性率とも呼ばれます。範囲は 0～1 です。値が大きいほど、サンプルからの陽性値の検出率が高いことを示します。
+ 再現率 = TP/(TP\$1FN)

分類問題の目的は、できるだけ多くの要素に正しくラベルを付けることです。再現率は高いが精度が低いシステムでは、偽陽性の割合が高くなります。

次の図は、すべての E メールをスパムとしてマークするスパムフィルターを示しています。再現率は偽陽性を測定しないため、再現率は高くなりますが、精度は低くなります。

偽陽性の値に対するペナルティは低いが、真陽性の結果を見逃した場合は高いペナルティがある問題の場合は、精度よりも再現率に重きを置きます。例えば、自動運転車両で差し迫った衝突を検出する場合などです。

![\[すべてのサンプルを陽性としてモデル化する、再現率が高く精度の低いシステムの Autopilot の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


これとは対照的に、精度は高いが再現率が低いシステムでは、偽陰性の割合が高くなります。すべての E メールを望ましい (スパムではない) ものとしてマークするスパムフィルターは精度は高くなりますが、精度が偽陰性を測定しないため、再現率は低くなります。

問題で、偽陰性の値に対するペナルティは低いが、真陰性の結果を見逃した場合のペナルティが高い場合は、再現率よりも精度を重視してください。例えば、税務監査のために疑わしいフィルターにフラグを立てる場合などです。

次の図は、精度が高いが再現率が低いスパムフィルターを示しています。精度では偽陰性を測定できないためです。

![\[すべてのサンプルを陰性としてモデル化した、高精度で再現率の低いシステムの Autopilot の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


高い精度と高い再現率の両方を備えたモデルが予測を行う場合、正しくラベル付けされた結果が数多く生成されます。詳細については、Wikipedia の「[Precision and recall](https://en.wikipedia.org/wiki/Precision_and_recall)」 (精度と再現率) を参照してください。

#### 精度-再現率曲線の下面積 (AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

二項分類の問題の場合、Amazon SageMaker Autopilot には精度-再現率曲線の下面積 (AUPRC) のグラフが含まれます。AUPRC メトリクスは、考えられるすべての分類しきい値にわたってモデルパフォーマンスの集約評価基準を提供し、精度と再現率の両方を使用します。AUPRC は真陰性の数を取得しません。そのため、データに真陰性が多数含まれている場合は、モデルのパフォーマンスを評価すると便利な場合があります。例えば、まれな突然変異を含む遺伝子をモデル化する場合などです。

以下の図は AUPRC グラフの例です。精度の最高値は 1 で、再現率は 0 です。グラフの右下隅では、再現率は最高値 (1) で、精度は 0 です。これら 2 つの点の間にある AUPRC 曲線は、異なるしきい値での精度と再現率のトレードオフを示しています。

![\[精度-再現率曲線は、異なるしきい値における精度と再現率のトレードオフを示しています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### 予測値に対する実際値のプロット
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

予測値に対する実際値のプロットには、実際のモデル値と予測されたモデル値の差が表示されます。次のグラフ例では、実線は最適な直線です。モデルが 100% 正確であれば、予測される各点は対応する実際の点と等しく、最も適合するこの線上にあることになります。最適な線からの距離は、モデルエラーを視覚的に示します。最適な線からの距離が大きいほど、モデル誤差は大きくなります。

![\[最適な直線、実際のプロットと予測されたプロットの違い、およびモデル誤差の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### 標準化残差プロット
<a name="autopilot-model-insights-standardized-residual"></a>

標準化残差プロットには以下の統計用語が含まれます。

**`residual`**  
(未加工の) 残差は、実際の値とモデルによって予測された値との差を示します。差が大きいほど、残差値は大きくなります。

**`standard deviation`**  
標準偏差は、値が平均値とどの程度異なるかを示す尺度です。標準偏差が高いということは、多くの値が平均値と大きく異なることを示しています。標準偏差が低いということは、多くの値が平均値に近いことを示しています。

**`standardized residual`**  
標準化残差は、未加工の残差を標準偏差で割ります。標準化残差には標準偏差の単位があり、未加工残差のスケールの違いに関係なくデータ内の外れ値を特定するのに役立ちます。標準化残差が他の標準化残差よりもはるかに小さいか大きい場合は、モデルがこれらの観測値にうまく適合していないことを示しています。

標準化残差プロットは、観測値と期待値の差の強度を測定します。実際の予測値は X 軸に表示されます。絶対値 3 よりも大きい値のポイントは、通常、外れ値と見なされます。

次のグラフ例は、多数の標準化残差が横軸の 0 を中心に集まっていることを示しています。ゼロに近い値は、モデルがこれらの点にうまく適合していることを示しています。プロットの上部と下部にある点は、モデルによって適切に予測されません。

![\[Amazon SageMaker Autopilot の標準化残差プロットの例\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### 残差ヒストグラム
<a name="autopilot-model-insights-residual-histogram"></a>

残差ヒストグラムには以下の統計用語が含まれます。

**`residual`**  
(未加工の) 残差は、実際の値とモデルによって予測された値との差を示します。差が大きいほど、残差値は大きくなります。

**`standard deviation`**  
標準偏差は、値が平均値とどの程度異なるかを示す尺度です。標準偏差が高いということは、多くの値が平均値と大きく異なることを示しています。標準偏差が低いということは、多くの値が平均値に近いことを示しています。

**`standardized residual`**  
標準化残差は、未加工の残差を標準偏差で割ります。標準化残差には標準偏差の単位があります。これらは、未加工の残差のスケールの違いに関係なく、データ内の外れ値を特定するのに役立ちます。標準化残差が他の標準化残差よりもはるかに小さいか大きい場合は、そのモデルがこれらの観測値にうまく適合していないことを示しています。

**`histogram`**  
ヒストグラムは、ある値が出現する頻度を示すグラフです。

残差ヒストグラムは、標準化された残差値の分布を示します。ヒストグラムが、ゼロを中心とするベル形状で分布している場合、モデルがターゲット値の特定の範囲で体系的に過大予測または過小予測していないことを示します。

以下の図では、標準化された残差値は、モデルがデータにうまく適合していることを示しています。グラフに中央値から遠く離れた値が表示されている場合は、それらの値がモデルにうまく適合していないことを示しています。

![\[標準化された残差値がゼロに近く、モデルがデータによく適合していることを示しています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# AutoML タスクを管理するために生成される Autopilot ノートブック
<a name="autopilot-automate-model-development-notebook-output"></a>

Amazon SageMaker Autopilot は、AutoML ジョブを使用して自動機械学習 (AutoML) プロセスの主要タスクを管理します。AutoML ジョブは、3 つのノートブックベースのレポートを作成します。これらのレポートは、候補モデルを生成するために Autopilot が従う計画を説明します。

候補モデルは、(パイプライン、アルゴリズム) ペアで構成されています。1 つ目の**データ探索**ノートブックは、提供されたデータに関して Autopilot が学習した内容を説明しています。2 つ目の**候補定義**ノートブックは、データに関する情報を使用して候補を生成します。3 つ目の**モデルインサイト**レポートは、Autopilot 実験のリーダーボードの中で最適なモデルのパフォーマンス特性を詳しく示します。

**Topics**
+ [Autopilot データ探索レポート](autopilot-data-exploration-report.md)
+ [候補定義ノートブックを検索して実行する](autopilot-candidate-generation-notebook.md)

これらのノートブックは、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) がインストールされている場合、Amazon SageMaker AI またはローカルで実行できます。また、他の SageMaker Studio Classic ノートブックと同じように共有することもできます。こうしたノートブックは、実験を行うために作成されます。例えば、ノートブックで次の項目を編集できます。
+ データに対して使用するプリプロセッサ 
+ ハイパーパラメータ最適化 (HPO) の実行および並行処理の回数
+ 試すアルゴリズム
+ HPO ジョブで使用するインスタンスタイプ
+ ハイパーパラメータの範囲

候補定義ノートブックの変更は、学習手段として行うことをお勧めします。この機能により、機械学習プロセス中に行われた決定が結果にどのように影響するかについて学べます。

**注記**  
デフォルトインスタンスでノートブックを実行した場合は、基準コストの負担で済みます。ただし、候補ノートブックから HPO ジョブを実行すると、これらのジョブは追加のコンピューティングリソースを使用するため、追加コストが発生します。

# Autopilot データ探索レポート
<a name="autopilot-data-exploration-report"></a>

Amazon SageMaker Autopilot は、データセットのクリーンアップと前処理を自動的に行います。高品質のデータにより、機械学習をより効率的に行い、より正確に予測を行うモデルを作成できます。

顧客が提供するデータセットには、ある程度のドメイン知識がないと自動的に修正できない問題があります。例えば、回帰問題に対するターゲット列の外れ値が大きいと、外れ値以外の値に対して最適さに欠ける予測が発生する可能性があります。モデリングの目的によっては、外れ値の削除が必要になることがあります。ターゲット列が誤って入力特徴の 1 つとして含まれている場合、最終モデルは適切に検証されますが、将来の予測にはほとんど価値がありません。

このような問題を顧客が検出できるように、Autopilot は、データの潜在的な問題に関するインサイトを含むデータ探索レポートを提供しています。レポートでは、問題の対処方法も提示されています。

レポートを含むデータ探索ノートブックは、すべての Autopilot ジョブに対して生成されます。レポートは Amazon S3 バケットに保存され、出力パスからアクセスできます。データ探索レポートのパスは通常、次のパターンに従います。

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

データ探索ノートブックの場所は、[DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation) に保存されている [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) オペレーションからのレスポンスを使用する Autopilot API から入手できます。

SageMaker Studio Classic から Autopilot を実行している場合、次の手順を使用してデータ探索レポートを開くことができます。

1. *左側のナビゲーションペイン*から**ホーム**アイコン ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png) を選択し、**[Amazon SageMaker Studio Classic]** の最上位のナビゲーションメニューを表示します。

1. メインワークエリアから **[AutoML]** カードを選択します。これにより、新しい **[Autopilot]** タブが開きます。

1. **[名前]** セクションで、調べたいデータ探索ノートブックを含む Autopilot ジョブを選択します。これにより、新しい **[Autopilot ジョブ]** タブが開きます。

1. **[Autopilot ジョブ]** タブの右上のセクションから **[データ探索ノートブックを開く]** を選択します。

データ探索レポートは、トレーニングプロセスの開始前にデータから生成されます。これにより、意味のない結果につながる可能性のある Autopilot ジョブを停止できます。同様に、Autopilot を再実行する前にデータセットの問題や改善に対処できます。このように、より適切にキュレートされたデータセットでモデルをトレーニングする前に、ドメインの専門知識を活用してデータ品質を手動で改善できます。

データレポートには静的マークダウンのみが含まれており、どの Jupyter 環境でも開くことができます。レポートを含むノートブックは、PDF や HTML などの他の形式に変換できます。変換の詳細については、「[Using the nbconvert script to convert Jupyter notebooks to other formats](https://nbconvert.readthedocs.io/en/latest/usage.html )」を参照してください。

**Topics**
+ [データセットの概要](#autopilot-data-exploration-report-dataset-summary)
+ [ターゲット分析](#autopilot-data-exploration-report-target-analysis)
+ [データサンプル](#autopilot-data-exploration-report-data-sample)
+ [重複行](#autopilot-data-exploration-report-duplicate-rows)
+ [相互相関列](#autopilot-data-exploration-report-cross-column-correlations)
+ [異常な行](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [欠損値、濃度、記述統計](#autopilot-data-exploration-report-description-statistics-and-values)

## データセットの概要
<a name="autopilot-data-exploration-report-dataset-summary"></a>

この**[データセットの概要]** では、行数、列数、重複行の割合、および欠落している目標値を含め、データセットを特徴付ける主要な統計情報を提供します。これは、Amazon SageMaker Autopilot によってデータセットの問題が検出され、ユーザーの介入が必要と見られる場合に、迅速にアラートを提供することを目的としています。インサイトは、重要度が「高」または「低」に分類される警告として示されます。分類は、問題がモデルのパフォーマンスに悪影響を与えることを示す信頼度に依存します。

重要度が高と低のインサイトは概要にポップアップ表示されます。ほとんどのインサイトの場合、データセットに注意を要する問題があることを確認する方法についてレコメンデーションが提供されます。また、これらの問題の解決方法に関する提案も提供されます。

Autopilot は、データセット内の欠落したターゲット値や無効なターゲット値に関する追加の統計を提供し、重要度の高いインサイトではキャプチャされないような他の問題を検出できるようにします。特定タイプの列が予期しない数である場合は、使用する列の一部がデータセットから欠落している可能性があります。また、データを準備または保存する方法に問題があったことを示している可能性もあります。Autopilot によって知らされるこれらのデータの問題を修正することにより、データでトレーニングされた機械学習モデルのパフォーマンスを向上させることができます。

重要度の高いインサイトは、レポートの概要セクションと、他の関連するセクションに表示されます。通常、データレポートのセクションに応じて、重要度の高い/低いインサイトの例が示されます。

## ターゲット分析
<a name="autopilot-data-exploration-report-target-analysis"></a>

このセクションには、ターゲット列の値の分布に関連して、重要度が高い/低いさまざまなインサイトが表示されます。ターゲット列に正しい値が含まれていることを確認してください。ターゲット列の値が間違っていると、機械学習モデルが意図したビジネス目的に役立たない可能性があります。このセクションには、重要度が高い/低いデータインサイトがいくつかあります。次にいくつかの例を示します。
+ **外れターゲット値** - 裾の重いターゲットなど、回帰に対する歪んだまたは異常なターゲット分布。
+ **高いまたは低いターゲット基数** - 分類のクラスラベルの頻度が小さいか、一意のクラス数が非常に大きい。

回帰および分類の両方の問題タイプで、数値の無限、`NaN`、ターゲット列の空白などの無効な値が表示されます。問題タイプに応じて異なるデータセット統計が表示されます。回帰問題に対するターゲット列の値の分布により、分布が期待どおりであるかどうかを簡単に検証できます。

次のスクリーンショットは、データセット内の外れ値の平均、中央値、最小値、最大値、パーセンテージなどの統計を含む Autopilot データレポートを示しています。スクリーンショットには、ターゲット列のラベルの分布を示すヒストグラムも含まれています。ヒストグラムでは、横軸に**ターゲット列の値**、縦軸に**個数**が表示されます。スクリーンショットの**外れ値の割合**セクションがボックスで強調表示され、この統計が表示されている場所を示しています。

![\[ターゲット列の値のディストリビューションに関する Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


ターゲット値とその分布に関する複数の統計が表示されます。外れ値、無効な値、または欠落している値の割合のいずれかがゼロより大きい場合、その値が表示され、使用できないターゲット値がデータに含まれている理由を調査できます。一部の使用できないターゲット値は、重要度が低いインサイト警告として強調表示されます。

次のスクリーンショットでは、「`」記号が誤ってターゲット列に追加されたため、ターゲットの数値が解析されなくなっています。**重要度が低いインサイト: 「無効なターゲット値」**という警告が表示されています。この例の警告は次のとおりです: 「ターゲット列のラベルの 0.14% は数値に変換できませんでした。最も一般的な数値以外の値には、["-3.8e-05","-9-05","-4.7e-05","-1.4999999999999999e-05","-4.3e-05"] があります。これは通常、データの収集または処理に問題があることを示しています。Amazon SageMaker Autopilot は、無効なターゲットラベルが付いた観測値をすべて無視します。」

![\[無効なターゲット値に関する重要度の低い警告の Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


Autopilot では、分類のラベルの分布を示すヒストグラムも提供されます。

次のスクリーンショットは、クラス数、欠落している値、または無効な値など、ターゲット列に与えられた統計の例を示しています。横軸が**ターゲットラベル**、縦軸が**頻度**のヒストグラムで、各ラベルカテゴリの分布を示しています。

![\[分類の高濃度を示す Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**注記**  
このセクションおよびその他のセクションに記載されているすべての用語の定義は、レポートノートブックの下部にある **[Definitions]** (定義) セクションで確認できます。

## データサンプル
<a name="autopilot-data-exploration-report-data-sample"></a>

Autopilot は、データセットの問題の特定に役立つ実際のデータのサンプルを提示します。サンプルテーブルは水平方向にスクロールします。サンプルデータを調べて、必要な列すべてがデータセットに存在することを確認してください。

Autopilot では予測能力のメジャーも計算されるため、特徴量とターゲット変数の間の線形または非線形の関係を識別できます。値が `0` の場合、その特徴量にはターゲット変数の予測において予測値がないことを示します。値が `1` の場合は、ターゲット変数の予測能力が最も高いことを示しています。予測能力の詳細については、**[定義]** セクションを参照してください。

**注記**  
特徴量の重要度の代わりに予測能力を使用することはお勧めしません。予測能力がユースケースに適切なメジャーであることがはっきりしている場合にのみ使用してください。

次のスクリーンショットは、データサンプルの例を示しています。一番上の行にはデータセットの各列の予測能力が含まれています。2 行目には列のデータ型が含まれています。以降の行にはラベルが含まれます。列にはターゲット列、各特徴量列が続きます。各特徴量列には関連付けられた予測能力があり、このスクリーンショットではボックスで強調表示されています。この例では、特徴量 `x51` を含む列にはターゲット変数 `y` に対して `0.68` の予測能力があります。特徴量 `x55` は、`0.59` の予測能力より予測がわずかに小さくなります。

![\[データサンプルの予測能力を示す Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## 重複行
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

データセット内に重複行がある場合、Amazon SageMaker Autopilot はそれらのサンプルを表示します。

**注記**  
Autopilot に提供する前に、アップサンプリングによってデータセットをバランスさせることは推奨されません。これを行うと、Autopilot によってトレーニングされたモデルの検証スコアが正しくなくなり、生成されたモデルが使用できなくなる可能性があります。

## 相互相関列
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

Autopilot は、2 つの特徴量間の線形相関の尺度であるピアソンの相関係数を使用して相関行列を作成します。相関行列では、数値の特徴量が横軸と縦軸の両方にプロットされ、ピアソンの相関係数はそれらの交点にプロットされます。2 つの特徴量間の相関が高ければ係数も大きくなり、最大値は `|1|` です。
+ 値が `-1` の場合、特徴量には完全に負の相関があることを示します。
+ 値が `1` の場合、特徴量がそれ自体と相関関係にあり、完全に正の相関があることを示します。

相関行列の情報を使用して、高い相関関係にある特徴量を削除できます。特徴の数が少ないほど、モデルの過剰適合の可能性が少なくなり、2 つの方法で運用コストを削減できます。これにより、必要な Autopilot ランタイムが少なくなり、アプリケーションによってはデータ収集手順をより安価に実行できます。

次のスクリーンショットは、`7` つの特徴量間の相関行列の例を示しています。各特徴量は、横軸と縦軸の両方に行列として表示されています。ピアソンの相関係数は 2 つの特徴量が交差する場所に表示されています。各特徴量が交差する場所には、関連付けられた色調が表示されています。相関が高いほど色調は濃くなります。最も濃い色調は行列の対角線上にあり、各特徴量はそれ自体と相関関係にあり、完全な相関があることを示しています。

![\[データの相互相関行列を示す Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## 異常な行
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

Amazon SageMaker Autopilot は、データセット内で異常の可能性がある行を検出します。次に、各行に異常スコアを割り当てます。負の異常スコアがある行は、異常とみなされます。

次のスクリーンショットは、異常を含む行に関する Autopilot 分析からの出力を示しています。各行のデータセット列の横に、異常なスコアを含む列が表示されています。

![\[異常な行を含む Autopilot データセット。負の異常スコアを示している。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## 欠損値、濃度、記述統計
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

Amazon SageMaker Autopilot は、データセットの個々の列のプロパティを調べてレポートします。この分析を示すデータレポートの各セクションでは、コンテンツが順番に並べられています。これは、最も「疑わしい」値を最初にチェックできるようにするためです。この統計を使用することで、個々の列のコンテンツを改善し、Autopilot が生成するモデルの品質を向上させることができます。

Autopilot は、これらが含まれる列のカテゴリ値に関するいくつかの統計を計算します。これには、ユニークなエントリの数とユニークな単語の数 (テキストの場合) が含まれます。

Autopilot は、これらが含まれる列の数値に関するいくつかの標準統計を計算します。次の図は、平均値、中央値、最小値と最大値、数値タイプおよび外れ値の割合を含む統計を示しています。

![\[数値が含まれる列の統計を示す Autopilot データレポート。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# 候補定義ノートブックを検索して実行する
<a name="autopilot-candidate-generation-notebook"></a>

候補定義ノートブックには、推奨されるそれぞれの前処理ステップ、アルゴリズム、ハイパーパラメータの範囲が含まれています。

どの候補をトレーニングして調整するかは 2 つの方法で選択できます。1 つ目は、ノートブックのセクションを実行する方法です。2 つ目は、すべての候補を最適化し、最適な候補を特定するようノートブック全体を実行する方法です。ノートブック全体を実行した場合、ジョブ完了後に最適な候補のみが表示されます。

SageMaker Studio Classic から Autopilot を実行するには、次の手順に従って候補定義ノートブックを開きます。

1. 左側のナビゲーションペインから**ホーム**アイコン ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/icons/house.png) を選択し、**[Amazon SageMaker Studio Classic]** の最上位のナビゲーションメニューを表示します。

1. メインワークエリアから **[AutoML]** カードを選択します。これにより、新しい **[Autopilot]** タブが開きます。

1. **[名前]** セクションで、調べたい候補定義ノートブックがある Autopilot ジョブを選択します。これにより、新しい **[Autopilot ジョブ]** タブが開きます。

1. **[Autopilot ジョブ]** タブの右上のセクションから、**[候補生成ノートブックを開く]** を選択します。これにより、読み取り専用で新しい **[Amazon SageMaker Autopilot 候補定義ノートブック]** のプレビューが開きます。

候補定義ノートブックを実行するには、次のステップに従います。

1. **[Amazon SageMaker Autopilot 候補定義ノートブック]** タブの右上にある **[ノートブックをインポート]** を選択します。これにより、ノートブックを実行する新しいノートブック環境を設定するためのタブが開きます。

1. 既存の SageMaker **[イメージ]** を選択するか、**[カスタムイメージ]** を使用してください。

1. **[カーネル]**、**[インスタンスタイプ]**、およびオプションの **[起動スクリプト]** を選択します。

これで、新しい環境でノートブックを実行できるようになりました。

# 生成されたコンテナに推論出力を設定する
<a name="autopilot-automate-model-development-container-output"></a>

Autopilot は、順序付けされた [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) リストを生成します。これを使用して、機械学習パイプラインにデプロイするモデルを構築できます。このモデルはオンラインホスティングや推論に使用できます。

顧客は、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html) API を使用して推論コンテナ定義をリストできます。また、最良候補を表す推論コンテナ定義のリストは、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) レスポンスでも入手できます。

## 回帰および分類の問題タイプのための推論コンテナ定義
<a name="autopilot-problem-type-container-output"></a>

Autopilot は、ジョブの[トレーニングモード](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)と[問題タイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)に固有の推論コンテナを生成します。

### ハイパーパラメータ最適化 (HPO) モードのコンテナ定義
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **回帰**: HPO は 2 つのコンテナを生成します。

  1. 元の特徴量を、回帰アルゴリズムでトレーニングできる特徴量に変換する特徴量エンジニアリングコンテナ。

  1. 特徴量を変換してデータセットの回帰スコアを生成するアルゴリズムコンテナ。
+ **分類**: HPO は 3 つのコンテナを生成します。

  1. 元の特徴量を、分類アルゴリズムでトレーニングできる特徴量に変換する特徴量エンジニアリングコンテナ。

  1. 最も高い確率で `predicted_label` を生成するアルゴリズムコンテナ。このコンテナは、推論レスポンスで分類結果に関連するさまざまな確率を生成することもできます。

  1. アルゴリズム予測の後処理を実行する特徴量エンジニアリングコンテナ。たとえば、予測されたラベルに対して逆変換を実行し、元のラベルに変更できます。

### アンサンブルモードのコンテナ定義
<a name="autopilot-problem-type-container-output-ensemble"></a>

アンサンブルモードでは、回帰問題タイプと分類問題タイプはどちらも 1 つの推論コンテナしかありません。この推論コンテナは、問題のタイプに基づいて特徴量を変換し、予測を生成します。

## 問題タイプごとの推論レスポンス
<a name="autopilot-problem-type-inference-response"></a>

### 分類モデルの推論レスポンス
<a name="autopilot-problem-type-inference-response-classification"></a>

分類推論コンテナの場合、4 つの事前定義キーを使用して推論応答のコンテンツを選択できます。
+ `predicted_label`: Autopilot によって決定された、正しいラベルを予測する確率が最も高いラベル。
+ `probability`: 
  + **HPO モデル:** 二項分類の `True` クラスの確率。多クラス分類の `predicted_label` の確率。
  + **アンサンブルモデル:** 二項分類および多クラス分類の `predicted_label` の確率。
+ `probabilities`: 対応するすべてのクラスの確率のリスト。
+ `labels`: すべてのラベルのリスト

たとえば、二項分類の問題で、推論レスポンスキー `['predicted_label', 'probability', 'probabilities', 'labels']` を渡して出力応答が `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]` のように表示される場合は、次のように解釈する必要があります。

1. ラベル「1」の確率が高いため (この場合は `0.9`)、`predicted_label` は `1` に等しくなります。

1. HPO モデルの場合、`probability` は `0.1` に等しく、これは Autopilot によって選択された `positive_class` (この場合は `0`) の確率です。

   アンサンブルモデルの場合は、`probability` は `predicted_label` の確立である `0.9` に等しくなります。

1. `probabilities` は `labels` の各ラベルの `probability` をリストします。

1. `labels` はデータセット内の一意のラベルで、2 番目のラベル (この場合は「0」) は Autopilot によって選択された `positive_class` です。

デフォルトでは、推論コンテナは `predicted_label` のみを生成するように設定されています。追加の推論コンテンツを選択するには、`inference_response_keys` パラメータを更新して次の 3 つの環境変数を含めることができます。
+ `SAGEMAKER_INFERENCE_SUPPORTED`: これは、各コンテナがサポートするコンテンツについてのヒントを提供するために設定されます。
+ `SAGEMAKER_INFERENCE_INPUT`: これは、入力ペイロードでコンテナに必要となるキーに設定します。
+ `SAGEMAKER_INFERENCE_OUTPUT`: これは、コンテナから出力される一連のキーを入力します。

### HPO モードでの分類モデルの推論レスポンス
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

このセクションでは、ハイパーパラメータ最適化 (HPO) モードを使用して分類モデルからの推論レスポンスを設定する方法を説明します。

HPO モードで推論レスポンスの内容を選択するには、分類問題用に HPO モードで生成される 2 番目と 3 番目のコンテナに `SAGEMAKER_INFERENCE_INPUT` および `SAGEMAKER_INFERENCE_OUTPUT` 変数を追加します。

2 番目のコンテナ (アルゴリズム) でサポートされているキーは、predicted\$1label、probability、probabilities です。`labels` が `SAGEMAKER_INFERENCE_SUPPORTED` に意図的に追加されていないことに注意してください。

3 番目の分類モデルコンテナがサポートするキーは `predicted_label`、`labels`、`probability`、`probabilities` です。そのため、`SAGEMAKER_INFERENCE_SUPPORTED` 環境にはこれらのキーの名前が含まれます。

推論コンテナの定義を更新して、`predicted_label` と `probability` を受け取るには、次のコード例を使用してください。

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

次のコード例では、`predicted_label`、`probabilities`、`labels` を受け取るように推論コンテナの定義を更新します。`labels` は 3 番目のコンテナによって別個に生成されるため、2 番目のコンテナ (アルゴリズムコンテナ) には渡さないでください。

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

次の折りたたみ可能なセクションでは、SageMaker SDK for Python の AWS SDK for Python (Boto3) および のコード例を示します。各セクションでは、それぞれのコード例で、HPO モードで推論レスポンスの内容を選択する方法が示されています。

#### AWS SDK for Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### SageMaker SDK for Python
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### アンサンブルモードでの分類モデルの推論レスポンス
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

このセクションでは、アンサンブルモードを使用して分類モデルからの推論レスポンスを設定する方法を説明します。

**アンサンブルモード**で推論レスポンスの内容を選択するには、`SAGEMAKER_INFERENCE_OUTPUT` 環境変数を更新します。

分類モデルコンテナがサポートするキーは `predicted_label`、`labels`、`probability`、`probabilities` です。これらのキーは `SAGEMAKER_INFERENCE_SUPPORTED` 環境に含まれています。

推論コンテナの定義を更新して、`predicted_label` と `probability` を受け取るには、次のコード例を参照してください。

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

次の折りたたみ可能なセクションは、アンサンブルモードで推論レスポンスの内容を選択するコード例を示しています。この例では を使用します AWS SDK for Python (Boto3)。

#### AWS SDK for Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

次の折りたたみ可能なセクションでは、HPO 用の SageMaker SDK for Python の例と同じコード例を示します。便宜上、ここに含めます。

#### SageMaker SDK for Python
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

次の HPO コード例では SageMaker SDK for Python を使用しています。

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

# AutoML API を使用して画像分類ジョブを作成する
<a name="autopilot-create-experiment-image-classification"></a>

次の手順は、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して、画像分類問題タイプのパイロット実験として Amazon SageMaker Autopilot ジョブを作成する方法を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

Amazon SageMaker Autopilot または AWS CLIがサポートする任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API アクションを呼び出すことで、Autopilot 画像分類実験をプログラムで作成できます。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、 AWS SDK for Python (Boto3)にある `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` の完全なリクエスト構文を参照してください。

以下は、画像分類に使用される `CreateAutoMLJobV2` API アクションの必須およびオプションの入力リクエストパラメータをまとめたものです。

## 必須パラメータ
<a name="image-classification-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して、画像分類の Autopilot 実験を作成するためには、次の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。
+ データソースを指定するための `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` のうち、少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`。
+ `[ImageClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)` タイプの `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用されるロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。

その他のすべてのパラメータは省略可能です。

## 任意指定のパラメータ
<a name="image-classification-api-optional-params"></a>

以下のセクションでは、画像分類 AutoML ジョブに渡すことができるいくつかのオプションパラメータの詳細を説明します。

### AutoML ジョブのトレーニングデータセットと検証データセットを指定する方法
<a name="image-classification-data-training-or-validation"></a>

独自の検証データセットとカスタムデータの分割比率を指定することも、Autopilot にデータセットを自動的に分割させることもできます。

各 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) オブジェクト (必須パラメータ「[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)」を参照) には `ChannelType` があり、`training` 値または `validation` 値に設定することで、機械学習モデルを構築するときにデータをどのように使用するかを指定できます。

少なくとも 1 つのデータソースを指定する必要があり、最大 2 つのデータソースを指定できます。1 つはトレーニングデータ用、もう 1 つは検証データ用です。データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。

データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。
+ **データソースが 1 つ**のみである場合、`ChannelType` はデフォルトで `training` に設定され、この値を持つ必要があります。
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) の `ValidationFraction` 値を設定しないと、このソースのデータの 0.2 (20%) がデフォルトで検証に使用されます。
  + `ValidationFraction` を 0 から 1 の間の値に設定すると、データセットは指定した値に基づいて分割されます。この値は、検証に使用されるデータセットの割合を指定します。
+ **データソースが 2 つ**である場合は、`AutoMLJobChannel` オブジェクトの 1 つの `ChannelType` を `training` (デフォルト値) に設定する必要があります。他のデータソースの `ChannelType` は `validation` に設定する必要があります。2 つのデータソースは、同じ形式 (CSV または Parquet) と同じスキーマを持つ必要があります。この場合、`ValidationFraction` の値を設定してはいけません。各ソースのすべてのデータがトレーニングまたは検証に使用されるためです。この値を設定すると、エラーが発生します。

### AutoML ジョブのモデルの自動デプロイ設定を指定する方法
<a name="image-classification-auto-model-deployment"></a>

AutoML ジョブの最適なモデル候補の自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、最適なモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

# 画像分類のデータセット、形式、目標メトリクス
<a name="image-classification-data-format-and-metric"></a>

このセクションでは、画像分類に使用されるデータセットに使用できる形式と、機械学習モデル候補の予測品質を評価するために使用される目標メトリクスについて説明します。候補に対して計算されるメトリクスは、[MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) タイプの配列を使用して指定します。

## データセット形式
<a name="image-classification-data-format"></a>

Autopilot では .png、.jpg、.jpeg の画像形式がサポートされます。データセットに含まれている画像がすべて .png である場合は `image/png` を使用し、すべて .jpg または .jpeg である場合は `image/jpeg` を使用し、データセットに複数の画像形式が混在している場合は `image/*` を使用します。

## 目標メトリクス
<a name="image-classification-objective-metric"></a>

次のリストには、画像分類モデルのパフォーマンスを測定するために現在利用可能なメトリクスの名前が含まれています。

**`Accuracy`**  
 正しく分類された項目の数の、(正しく、および誤って) 分類された項目の総数に対する比率。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。

# リアルタイム推論用の Autopilot モデルをデプロイする
<a name="image-classification-deploy-models"></a>

Amazon SageMaker Autopilot モデルをトレーニングした後、エンドポイントを設定してインタラクティブに予測を取得できます。このセクションでは、モデルから予測を取得するために、SageMaker AI リアルタイム推論エンドポイントにモデルをデプロイする手順について説明します。

## リアルタイム推論
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

リアルタイム推論は、リアルタイム、インタラクティブ、低レイテンシーの要件がある推論ワークロードに最適です。このセクションでは、リアルタイム推論を使用してモデルからインタラクティブに予測を取得する方法を説明します。

SageMaker API を使用して、Autopilot 実験で最適な検証メトリクスを生成したモデルを、次のように手動でデプロイできます。

あるいは、Autopilot テストの作成時に自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定方法については、`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)` のリクエストパラメータの「`[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`」を参照してください。これにより、エンドポイントが自動的に作成されます。

**注記**  
不要な料金が発生しないようにするには、作成された不要なエンドポイントとリソースをモデルデプロイから削除します。リージョンごとのインスタンスの料金の詳細については、[「Amazon SageMaker の料金」](https://aws.amazon.com/sagemaker/pricing/)を参照してください。

1. **候補となるコンテナ定義を取得する**

   [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から候補コンテナ定義を取得します。推論用のコンテナ定義とは、トレーニング済みの SageMaker AI モデルをデプロイして実行し、予測を行うために設計されたコンテナ化された環境を指します。

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補の候補定義を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **候補の一覧表示**

   次の AWS CLI コマンド例では、[ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API を使用してすべてのモデル候補を一覧表示します。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI モデルを作成する**

   前のステップのコンテナ定義と任意の候補を使用し、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **エンドポイント設定の作成**

   次の AWS CLI コマンド例では、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **エンドポイントの作成** 

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. **エンドポイントの呼び出し** 

   以下のコマンド構造は、エンドポイントを呼び出してリアルタイム推論を行います。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 説明可能性のレポート
<a name="image-classification-explainability-report"></a>

Amazon SageMaker Autopilot では、最適なモデル候補が画像分類の問題をどのように予測するのかを説明するのに役立つ説明可能性レポートを提供します このレポートは、ML エンジニア、プロダクトマネージャー、その他の内部ステークホルダーがモデルの特性を理解するのに役立ちます。モデル予測に基づく決定を信頼して解釈するために、消費者も規制当局も機械学習の透明性を必要としています。これらの説明は、監査や規制要件への適合、モデルへの信頼の構築、人間の意思決定のサポート、モデルのパフォーマンスのデバッグと改善に使用できます。

画像分類用の AAutopilot の説明機能は、視覚的なクラスアクティベーションマップ (CAM) アプローチを使用しています。このアプローチでは、各色の分布と強度によって、特定の予測に最も寄与する画像の領域が強調表示されます。このアプローチは、[Eigen-CAM](https://arxiv.org/ftp/arxiv/papers/2008/2008.00299.pdf) の実装から導き出された主要コンポーネントに依存しています。

Autopilot は説明可能性レポートを JSON ファイルとして生成します。レポートには、検証データセットに基づく分析の詳細が含まれます。レポートを生成するために使用されるそれぞれの画像には、次の情報が含まれます。
+ `input_image_uri`: ヒートマップの入力として取得した入力画像の Amazon S3 URI。
+ `heatmap_image_uri`: Amazon S3 URI は Autopilot によって生成されたヒートマップ画像。
+ `predicted_label`: Autopilot によってトレーニングされた最適なモデルによって予測されたラベルクラス。
+ `probability`: `predicted_label` が予測される信頼度。

`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスにある `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` で、最適な候補に対して生成された説明可能性アーティファクトへの Amazon S3 プレフィックスを確認できます。

以下の例は、[Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/) のいくつかのサンプルでヒートマップがどのように見えるかを示しています。ヒートマップ画像には、画像内のさまざまな特徴の相対的な重要度を示す色のグラデーションが表示されます。赤色は、青色で表される特徴と比較して、入力画像の「predicted\$1label」を予測する上で重要度の高い領域を表しています。


****  

| 入力イメージ | ヒートマップ画像 | 
| --- | --- | 
|  ![\[犬のオリジナル画像。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-input.png)  |  ![\[予測ラベルへの寄与度が高い領域が強調表示された、犬のヒートマップ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-output.png)  | 
|  ![\[猫のオリジナル画像。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-input.png)  |  ![\[予測ラベルへの寄与度が高い領域が強調表示された、猫のヒートマップ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-output.png)  | 

# モデルパフォーマンスレポート
<a name="image-classification-model-performance-report"></a>

Amazon SageMaker AI モデル品質レポート (パフォーマンスレポートとも呼ばれる) は、AutoML ジョブによって生成された最適なモデル候補に関するインサイトと品質情報を提供します。これには、ジョブの詳細、モデルの問題タイプ、目的関数、さまざまなメトリクスに関する情報が含まれます。このセクションでは、画像分類の問題に関するパフォーマンスレポートの内容を詳しく説明し、JSON ファイル内の raw データとしてメトリクスにアクセスする方法について説明します。

`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスにある `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` で、最適な候補に対して生成されたモデルの品質レポートアーティファクトへの Amazon S3 プレフィックスを確認できます。

パフォーマンスレポートには次の 2 つのセクションがあります。
+ 最初のセクションには、モデルを作成した AAutopilot ジョブに関する詳細が含まれています。
+  2 番目のセクションには、さまざまなパフォーマンスメトリクスを含むモデル品質レポートが含まれています。

## Autopilot ジョブの詳細
<a name="image-classification-performance-report-jobdetails"></a>

レポートの最初のセクションには、モデルを作成した Autopilot ジョブに関する一般的な情報が記載されています。これらの詳細には、以下の情報が含まれます。
+ Autopilot 候補名: 最適なモデル候補の名前。
+ Autopilot ジョブ名: ジョブの名前。
+ 問題タイプ: 問題のタイプ。この場合は、画像分類です。
+ 目標メトリクス: モデルのパフォーマンスを最適化するために使用される目標メトリクス。この場合は、精度です。
+ 最適化の方向: 目標メトリクスを最小化するか最大化するかを示します。

## モデル品質レポート
<a name="image-classification-performance-report-modelquality"></a>

モデル品質情報は、Autopilot のモデルインサイトによって生成されます。生成されるレポートの内容は、対処した問題の種類によって異なります。このレポートは、評価データセットに含まれていた行の数と、評価が行われた時刻を示します。

### メトリクステーブル
<a name="image-classification-model-quality-report-metrics"></a>

モデル品質レポートの最初の部分にはメトリクステーブルが含まれています。これらは、モデルが対処した問題の種類に適したものです。

以下の画像は、画像またはテキストの分類問題について Autopilot が生成するメトリクステーブルの例です。メトリクスの名前、値、標準偏差が表示されます。

![\[Amazon SageMaker Autopilot モデルインサイト画像またはテキスト分類メトリクスレポートの例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### グラフィカルなモデルパフォーマンス情報
<a name="image-classification-model-quality-report-graphs"></a>

モデル品質レポートの 2 番目の部分には、モデルのパフォーマンスを評価するのに役立つグラフィカルな情報が含まれています。このセクションの内容は、選択した問題のタイプによって異なります。

#### 混同行列
<a name="image-classification-model-insights-confusion-matrix"></a>

混同行列は、さまざまな問題に対して、二項分類および多クラス分類のモデルで行われた予測の精度を可視化する方法を提供します。

グラフを構成する**擬陽性率** (FPR) と**真陽性率** (TPR) の構成要素の要約は、以下のように定義されています。
+ 正しい予測
  + **真陽性** (TP): 予測値は 1 で、真の値は 1 です。
  + **真陰性** (TN): 予測値は 0 で、真の値は 0 です。
+ 誤った予測
  + **偽陽性** (FP): 予測値は 1 ですが、真の値は 0 です。
  + **偽陰性** (FN): 予測値は 0 ですが、真の値は 1 です。

モデル品質レポートの混同行列には以下が含まれます。
+ 実際のラベルの予測の正解と誤りの数と割合
+ 左上から右下までの対角線上に示される、正確な予測の数と割合
+ 右上から左下までの対角線上に示される、不正確な予測の数と割合

混同行列上の誤った予測は混同値です。

次の図は、多クラス分類問題に関する混同行列の例を示します。モデル品質レポートの混同行列には以下が含まれます。
+ 縦軸は、3 つの異なる実際のラベルを含む 3 つの行に分かれています。
+ 横軸は、モデルによって予測されたラベルを含む 3 つの列に分かれています。
+ 色付きのバーは、各カテゴリに分類された値の数を視覚的に示すため、サンプル数が多いほど濃い色調を割り当てています。

以下の例では、モデルはラベル **f** の実際の値を 354 個、ラベル **i** の値を 1,094 個、ラベル **m** の値を 852 個正しく予測しています。色調の違いは、値 **i** のラベルが **f** や **m** よりも多いため、データセットのバランスが取れていないことを示しています。

![\[Amazon SageMaker Autopilot マルチモデル混同行列の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


提供されたモデル品質レポートの混同行列は、多クラス分類問題タイプに対して、最大 15 個のラベルを収容することができます。ラベルに対応する行が `Nan` 値を示している場合、モデルの予測値をチェックするために使われた検証データセットに、そのラベルを持つデータが含まれていないことを意味します。

# API を使用してテキスト分類用の AutoML ジョブを作成する
<a name="autopilot-create-experiment-text-classification"></a>

次の手順は、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して、テキスト分類問題タイプのパイロット実験として Amazon SageMaker Autopilot ジョブを作成する方法を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

Amazon SageMaker Autopilot または AWS CLIでサポートされる任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API アクションを呼び出すことで、Autopilot のテキスト分類実験をプログラムで作成できます。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「`[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` のすべてのリクエスト構文」を参照してください。

以下は、テキスト分類に使用される `CreateAutoMLJobV2` API アクションの必須およびオプションの入力リクエストパラメータをまとめたものです。

## 必須パラメータ
<a name="text-classification-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出してテキスト分類用の Autopilot 実験を作成するには、次の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。
+ データソースを指定するための `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` のうち、少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`。
+ `[TextClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextClassificationJobConfig.html)` タイプの `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用されるロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。

その他のすべてのパラメータは省略可能です。

## 任意指定のパラメータ
<a name="text-classification-api-optional-params"></a>

次のセクションでは、テキスト分類 AutoML ジョブに渡すことができるいくつかのオプションパラメータについて詳しく説明します。

### AutoML ジョブのトレーニングデータセットと検証データセットを指定する方法
<a name="text-classification-data-training-or-validation"></a>

独自の検証データセットとカスタムデータの分割比率を指定することも、Autopilot にデータセットを自動的に分割させることもできます。

各 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) オブジェクト (必須パラメータ「[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)」を参照) には `ChannelType` があり、`training` 値または `validation` 値に設定することで、機械学習モデルを構築するときにデータをどのように使用するかを指定できます。

少なくとも 1 つのデータソースを指定する必要があり、最大 2 つのデータソースを指定できます。1 つはトレーニングデータ用、もう 1 つは検証データ用です。データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。

データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。
+ **データソースが 1 つ**のみである場合、`ChannelType` はデフォルトで `training` に設定され、この値を持つ必要があります。
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) の `ValidationFraction` 値を設定しないと、このソースのデータの 0.2 (20%) がデフォルトで検証に使用されます。
  + `ValidationFraction` を 0 から 1 の間の値に設定すると、データセットは指定した値に基づいて分割されます。この値は、検証に使用されるデータセットの割合を指定します。
+ **データソースが 2 つ**である場合は、`AutoMLJobChannel` オブジェクトの 1 つの `ChannelType` を `training` (デフォルト値) に設定する必要があります。他のデータソースの `ChannelType` は `validation` に設定する必要があります。2 つのデータソースは、同じ形式 (CSV または Parquet) と同じスキーマを持つ必要があります。この場合、`ValidationFraction` の値を設定してはいけません。各ソースのすべてのデータがトレーニングまたは検証に使用されるためです。この値を設定すると、エラーが発生します。

### AutoML ジョブのモデルの自動デプロイ設定を指定する方法
<a name="text-classification-auto-model-deployment"></a>

AutoML ジョブの最適なモデル候補の自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、最適なモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

# テキスト分類のデータセット形式と目標メトリクス
<a name="text-classification-data-format-and-metric"></a>

このセクションでは、テキスト分類に使用されるデータセットに利用可能な形式と、機械学習モデル候補の予測品質を評価するために使用されるメトリクスについて説明します。候補に対して計算されるメトリクスは、[MetricDate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) タイプの配列を使用して指定します。

## データセット形式
<a name="text-classification-data-format"></a>

Autopilot は、CSV ファイルまたは Parquet ファイルとしてフォーマットされた表形式のデータをサポートしています。表形式のデータでは、各列に特定のデータ型の特徴が入り、各行に観測値が入ります。これら 2 つのファイル形式のプロパティは大きく異なります。
+ **CSV** (カンマ区切り値) は、データを人間が読めるプレーンテキストで格納する行ベースのファイル形式で、幅広いアプリケーションでサポートされているため、データ交換に一般的に採用されています。
+ **Parquet** は、列ベースのファイル形式で、行ベースのファイル形式よりも効率的にデータを格納および処理します。このため、ビッグデータの問題にはより適したオプションです。

列に使用できる**データタイプ**には、数値、カテゴリ、テキストがあります。

Autopilot は、最大数百 GB に達する大規模データセットでの機械学習モデルの構築をサポートしています。入力データセットに対するデフォルトのリソース制限と、これらの制限を引き上げる方法の詳細については、「[Amazon SageMaker Autopilot のクォータ](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)」を参照してください。

## 目標メトリクス
<a name="text-classification-objective-metric"></a>

次のリストには、テキスト分類モデルのパフォーマンスを測定するために現在利用可能なメトリクスの名前が含まれています。

**`Accuracy`**  
 正しく分類された項目の数の、(正しく、および誤って) 分類された項目の総数に対する比率。精度は、予測されたクラス値が実際の値にどれだけ近いかを測定します。精度メトリクスの値は 0～1 の間で変化します。値 1 は完全な精度を示し、0 は完全な不正確さを示します。

# リアルタイム推論用の Autopilot モデルをデプロイする
<a name="text-classification-deploy-models"></a>

Amazon SageMaker Autopilot モデルをトレーニングした後、エンドポイントを設定してインタラクティブに予測を取得できます。このセクションでは、モデルから予測を取得するために、SageMaker AI リアルタイム推論エンドポイントにモデルをデプロイする手順について説明します。

## リアルタイム推論
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

リアルタイム推論は、リアルタイム、インタラクティブ、低レイテンシーの要件がある推論ワークロードに最適です。このセクションでは、リアルタイム推論を使用してモデルからインタラクティブに予測を取得する方法を説明します。

SageMaker API を使用して、Autopilot 実験で最適な検証メトリクスを生成したモデルを、次のように手動でデプロイできます。

あるいは、Autopilot テストの作成時に自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定方法については、`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)` のリクエストパラメータの「`[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`」を参照してください。これにより、エンドポイントが自動的に作成されます。

**注記**  
不要な料金が発生しないようにするには、作成された不要なエンドポイントとリソースをモデルデプロイから削除します。リージョンごとのインスタンスの料金の詳細については、[「Amazon SageMaker の料金」](https://aws.amazon.com/sagemaker/pricing/)を参照してください。

1. **候補となるコンテナ定義を取得する**

   [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から候補コンテナ定義を取得します。推論用のコンテナ定義とは、トレーニング済みの SageMaker AI モデルをデプロイして実行し、予測を行うために設計されたコンテナ化された環境を指します。

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補の候補定義を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **候補の一覧表示**

   次の AWS CLI コマンド例では、[ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API を使用してすべてのモデル候補を一覧表示します。

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI モデルを作成する**

   前のステップのコンテナ定義と任意の候補を使用し、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **エンドポイント設定の作成**

   次の AWS CLI コマンド例では、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **エンドポイントの作成** 

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. **エンドポイントの呼び出し** 

   以下のコマンド構造は、エンドポイントを呼び出してリアルタイム推論を行います。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 説明可能性のレポート
<a name="text-classification-explainability-report"></a>

Amazon SageMaker Autopilot では、最適なモデル候補がテキスト分類の問題をどのように予測するのかを説明するのに役立つ説明可能性レポートを提供します。このレポートは、ML エンジニア、プロダクトマネージャー、その他の内部ステークホルダーがモデルの特性を理解するのに役立ちます。モデル予測に基づく決定を信頼して解釈するために、消費者も規制当局も機械学習の透明性を必要としています。これらの説明は、監査や規制要件への適合、モデルへの信頼の構築、人間の意思決定のサポート、モデルのパフォーマンスのデバッグと改善に使用できます。

テキスト分類用の Autopilot 説明機能は、公理的な属性を用いた積分勾配を使用しています。**このアプローチは、[ディープネットワークの公理的な属性](https://arxiv.org/pdf/1703.01365.pdf)の実装に依存しています。

Autopilot は説明可能性レポートを JSON ファイルとして生成します。レポートには、検証データセットに基づく分析の詳細が含まれます。レポートを生成するために使用されるそれぞれの例には、次の情報が含まれます。
+ `text`: 入力テキストの内容の説明。
+ `token_scores`: テキスト内の各トークンのスコアの一覧。
+ 
  + `attribution`: トークンの重要度を示すスコア。
  + `description.partial_text`: トークンを表す部分的文字列。
+ `predicted_label`: 最適なモデル候補により予測されたラベルクラス。
+ `probability`: `predicted_label` が予測された際の信頼度。

`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスにある `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` で、最適な候補に対して生成された説明可能性アーティファクトへの Amazon S3 プレフィックスを確認できます。

説明可能性アーティファクトに含まれる分析コンテンツの例を次に示します。

```
{
    "text": "It was a fantastic movie!",
    "predicted_label": 2,
    "probability": 0.9984835,
    "token_scores": [
        {
            "attribution": 0,
            "description": {
                "partial_text": "It"
            }
        },
        {
            "attribution": -0.022447118861679088,
            "description": {
                "partial_text": "was"
            }
        },
        {
            "attribution": -0.2164326456817965,
            "description": {
                "partial_text": "a"
            }
        },
        {
            "attribution": 0.675,
            "description": {
                "partial_text": "fantastic"
            }
        },
        {
            "attribution": 0.416,
            "description": {
                "partial_text": "movie!"
            }
        }
    ]
}
```

この JSON レポート例では、説明機能がテキスト `It was a fantastic movie!` を評価し、全体的な予測ラベルに対する各トークンの寄与度をスコア付けしています。予測ラベルは `2` で、99.85% の確率で強い肯定的な感情を示しています。次に JSON の例では、この予測に対する個々のトークンの寄与度について詳しく説明しています。例えば、トークン `fantastic` の方がトークン `was` よりも強い属性を持っています。最終的な予測に最も貢献したトークンです。

# モデルパフォーマンスレポート
<a name="text-classification-model-performance-report"></a>

Amazon SageMaker AI モデル品質レポート (パフォーマンスレポートとも呼ばれる) は、AutoML ジョブによって生成された最適なモデル候補に関するインサイトと品質情報を提供します。これには、ジョブの詳細、モデルの問題タイプ、目標関数、さまざまなメトリクスに関する情報が含まれます。このセクションでは、テキスト分類の問題に関するパフォーマンスレポートの内容を詳しく説明し、JSON ファイル内の raw データとしてメトリクスにアクセスする方法について説明します。

`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスにある `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` で、最適な候補に対して生成されたモデル品質レポートアーティファクトの Amazon S3 プレフィックスを確認できます。

パフォーマンスレポートには次の 2 つのセクションがあります。
+ 最初のセクションには、モデルを作成した AAutopilot ジョブに関する詳細が含まれています。
+  2 番目のセクションには、さまざまなパフォーマンスメトリクスを含むモデル品質レポートが含まれています。

## Autopilot ジョブの詳細
<a name="text-classification-performance-report-jobdetails"></a>

レポートの最初のセクションには、モデルを作成した Autopilot ジョブに関する一般的な情報が記載されています。これらの詳細には、以下の情報が含まれます。
+ Autopilot 候補名: 最適なモデル候補の名前。
+ Autopilot ジョブ名: ジョブの名前。
+ 問題タイプ: 問題のタイプ。この場合は、テキスト分類です。**
+ 目標メトリクス: モデルのパフォーマンスを最適化するために使用される目標メトリクス。この場合は、精度です。
+ 最適化の方向: 目標メトリクスを最小化するか最大化するかを示します。

## モデル品質レポート
<a name="text-classification-performance-report-modelquality"></a>

モデル品質情報は、Autopilot のモデルインサイトによって生成されます。生成されるレポートの内容は、対処した問題の種類によって異なります。このレポートは、評価データセットに含まれていた行の数と、評価が行われた時刻を示します。

### メトリクステーブル
<a name="text-classification-model-quality-report-metrics"></a>

モデル品質レポートの最初の部分にはメトリクステーブルが含まれています。これらは、モデルが対処する問題タイプに適したものです。

次のイメージは、イメージまたはテキストの分類問題について Autopilot が生成したメトリクステーブルの例です。メトリクス名、値、標準偏差が表示されます。

![\[Amazon SageMaker Autopilot モデルインサイト画像またはテキスト分類メトリクスレポートの例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### グラフィカルなモデルパフォーマンス情報
<a name="text-classification-model-quality-report-graphs"></a>

モデル品質レポートの 2 番目の部分には、モデルのパフォーマンスを評価するのに役立つグラフィカルな情報が含まれています。このセクションの内容は、選択した問題のタイプによって異なります。

#### 混同行列
<a name="text-classification--model-insights-confusion-matrix"></a>

混同行列は、さまざまな問題に対して、二項分類および多クラス分類のモデルで行われた予測の精度を可視化する方法を提供します。

グラフを構成する**擬陽性率** (FPR) と**真陽性率** (TPR) の構成要素の要約は、以下のように定義されています。
+ 正しい予測
  + **真陽性** (TP): 予測値は 1 で、真の値は 1 です。
  + **真陰性** (TN): 予測値は 0 で、真の値は 0 です。
+ 誤った予測
  + **偽陽性** (FP): 予測値は 1 ですが、真の値は 0 です。
  + **偽陰性** (FN): 予測値は 0 ですが、真の値は 1 です。

モデル品質レポートの混同行列には以下が含まれます。
+ 実際のラベルの予測の正解と誤りの数と割合
+ 左上から右下までの対角線上に示される、正確な予測の数と割合
+ 右上から左下までの対角線上に示される、不正確な予測の数と割合

混同行列上の誤った予測は混同値です。

次の図は、多クラス分類問題に関する混同行列の例を示します。モデル品質レポートの混同行列には以下が含まれます。
+ 縦軸は、3 つの異なる実際のラベルを含む 3 つの行に分かれています。
+ 横軸は、モデルによって予測されたラベルを含む 3 つの列に分かれています。
+ 色付きのバーは、各カテゴリに分類された値の数を視覚的に示すため、サンプル数が多いほど濃い色調を割り当てています。

以下の例では、モデルはラベル **f** の実際の値を 354 個、ラベル **i** の値を 1,094 個、ラベル **m** の値を 852 個正しく予測しています。色調の違いは、値 **i** のラベルが **f** や **m** よりも多いため、データセットのバランスが取れていないことを示しています。

![\[Amazon SageMaker Autopilot マルチモデル混同行列の例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


提供されたモデル品質レポートの混同行列は、多クラス分類問題タイプに対して、最大 15 個のラベルを収容することができます。ラベルに対応する行が `Nan` 値を示している場合、モデルの予測値をチェックするために使われた検証データセットに、そのラベルを持つデータが含まれていないことを意味します。

# API を使用して時系列予測用の AutoML ジョブを作成する
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

機械学習における予測とは、過去のデータやパターンに基づいて将来の結果や傾向を予測するプロセスを指します。機械学習アルゴリズムは、過去の時系列データを分析し、根底にあるパターンを特定することで、予測を行い、将来の行動に関する貴重なインサイトを提供できます。予測における目標は、入力変数とターゲット変数の関係を時間の経過とともに正確に把握できるモデルを開発することです。これには、データ内の傾向、季節性、その他の関連パターンなど、さまざまな要因を調べることが含まれます。収集された情報は、機械学習モデルのトレーニングに使用されます。トレーニング済みモデルは、新しい入力データを取得し、学習したパターンと関係を適用することにより予測を生成できます。販売予測、株式市場の動向、天気予報、需要予測など、幅広いユースケースの予測を提供できます。

以下の手順は、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して時系列予測の問題タイプのパイロット実験として Amazon SageMaker Autopilot ジョブを作成する方法を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

Amazon SageMaker Autopilot または AWS CLIでサポートされている任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API を呼び出すことで、Autopilot の時系列予測実験をプログラムで作成できます。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「`[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` のすべてのリクエスト構文」を参照してください。

Autopilot は、ターゲットとなる時系列で複数のモデル候補をトレーニングし、与えられた目標メトリクスに最適な予測モデルを選択します。モデル候補がトレーニングされると、`[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` の `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスから最適な候補メトリクスを見つけることができます。

以下のセクションでは、時系列予測に使用される `CreateAutoMLJobV2` API の必須およびオプションの入力リクエストパラメータを定義します。

**注記**  
実用的なハンズオン時系列予測の例については、ノートブックの「[Time-Series Forecasting with Amazon SageMaker Autopilot](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)」を参照してください。このノートブックでは、Amazon SageMaker Autopilot を使用して時系列モデルをトレーニングし、トレーニング済みモデルを使用して予測を作成します。ノートブックは、Amazon S3 にある表形式の履歴データの既製のデータセットを取得する手順について説明します。

## 前提条件
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

Autopilot を使用して SageMaker AI で時系列予測実験を作成する前に、以下の点を確認してください。
+ 時系列データセットを準備します。データセットの準備には、さまざまなソースから関連データを収集し、クリーニングとフィルタリングを行ってノイズや不整合を取り除き、構造化された形式に整理することが含まれます。Autopilot の時系列フォーマットの要件について詳しくは、「[時系列データセットの形式と欠損値の filling メソッド](timeseries-forecasting-data-format.md)」を参照してください。オプションで、選択した国の祝日カレンダーをデータセットに追加して、関連するパターンを把握することもできます。祝日カレンダーの詳細については、「[祝祭日カレンダー](autopilot-timeseries-forecasting-holiday-calendars.md)」を参照してください。
**注記**  
予測する将来のデータポイント 1 つにつき、少なくとも 3 ～ 5 つの履歴データポイントを提供することをお勧めします。例えば、日次データに基づいて 7 日前 (1 週間) に予測を行うには、21 ～ 35 日以上の履歴データに基づいてモデルをトレーニングします。必ず、季節的なパターンと反復的なパターンをキャプチャするのに十分なデータを提供してください。
+ 時系列データを Amazon S3 バケットに配置します。
+ 実験を実行するために使用した SageMaker AI 実行ロールに、入力データを含む Amazon S3 バケットへの完全なアクセス権を付与します。これが完了すると、Autopilot API リクエストでこの実行ロールの ARN を使用できます。
  + SageMaker AI 実行ロールの取得については、「[実行ロールを取得する](sagemaker-roles.md#sagemaker-roles-get-execution-role)」を参照してください。
  + Amazon S3 の 1 つ以上の特定のバケットにアクセスするためのアクセス許可を SageMaker AI 実行ロールに付与する方法については、「[実行ロールを作成する](sagemaker-roles.md#sagemaker-roles-create-execution-role)」の「*Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*」を参照してください。

## 必須パラメータ
<a name="timeseries-forecasting-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して、時系列予測用のオートパイロットテストを作成する場合は、以下の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。名前は `string` 型で、最小長は 1 文字、最大長は 32 文字です。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` に少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` を指定し、データが含まれている Amazon S3 バケット名を指定します。オプションで、コンテンツ (CSV または Parquet ファイル) と圧縮 (GZip) タイプを指定できます。
+ 時系列予測ジョブの設定を構成する `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` タイプの `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。特に、以下を指定する必要があります。
  + 予測の目的の粒度 (時間単位、日単位、月単位など) を指す、予測の**頻度**。

    有効な間隔は、整数の後に `Y` (年)、`M` (月)、`W` (週)、`D` (日)、`H` (時)、`min` (分) をつけたものです。例えば、`1D` は毎日を示し、`15min` は 15 分ごとを示します。頻度の値は、次に大きい頻度と重ならないようにします。たとえば、`60min` の代わりに `1H` の頻度を使用する必要があります。

    各頻度の有効な値は以下のとおりです。
    + 分 - 1～59
    + 時間 - 1～23
    + 日 - 1～6
    + 週 - 1～4
    + 月 - 1～11
    + 年 - 1
  + 予測における予測の**期間**。モデルが予測するタイムステップの数を指します。予測期間は予測長とも呼ばれます。最大予測期間は、500 タイムステップまたはデータセット内のタイムステップの 1/4 のいずれか小さい方です。
  + [TimeseriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html) では、以下を指定してデータセットのスキーマを定義し、列ヘッダーを予測にマッピングします。
    + `TargetAttributeName`: 予測するターゲットフィールドの履歴データを含む列。
    + `TimestampAttributeName`: 特定の項目のターゲット値が記録された時点を含む列。
    + `ItemIdentifierAttributeName`: ターゲット値を予測する項目識別子を含む列。

  これらのパラメータのリクエストの例を次に示します。この例では、20 日間にわたる特定の項目の予想数量または需要水準の日次予測を設定します。

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用するロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。データへのアクセス権が付与された実行ロールの ARN を使用できます。

その他のすべてのパラメータは省略可能です。例えば、特定の予測分位数を設定したり、データセット内の欠損値の filling メソッドを選択したり、予測頻度と合わないデータの集計方法を定義したりすることができます。これらの追加パラメータの設定方法については、「[任意指定のパラメータ](#timeseries-forecasting-api-optional-params)」を参照してください。

## 任意指定のパラメータ
<a name="timeseries-forecasting-api-optional-params"></a>

以下のセクションでは、時系列予測の AutoML ジョブに渡すことができるいくつかのオプションパラメータの詳細を説明します。

### アルゴリズムの指定方法
<a name="timeseries-forecasting-algorithms-selection"></a>

デフォルトで Autopilot ジョブは、データセットにあらかじめ定義されたアルゴリズムのリストをトレーニングします。ただし、デフォルトで選択されているアルゴリズムのサブセットを指定できます。

時系列予測では、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` を選択する必要があります。

その後、[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) の `AlgorithmsConfig` 属性に、選択した `AutoMLAlgorithms` の配列を指定できます。

以下は、`AutoMLAlgorithms` フィールドに 3 つのアルゴリズム ("cnn-qr"、"prophet"、"arima") を指定した `AlgorithmsConfig` 属性の例です。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

時系列予測に使用できるアルゴリズムのリストについては、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)」を参照してください。各アルゴリズムの詳細については、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### カスタム分位数の指定方法
<a name="timeseries-forecasting-custom-quantiles"></a>

Autopilot は、ターゲットの時系列で 6 つのモデル候補をトレーニングし、スタッキングアンサンブルメソッドを使用してこれらのモデルを組み合わせ、特定の目標メトリクスに最適な予測モデルを作成します。各オートパイロット予測モデルは、P1 と P99 の間の分位数で予測を生成することによって確率予測を生成します。これらの分位数は、予測の不確実性を考慮するために使用されます。デフォルトでは、0.1 (`p10`)、0.5 (`p50`)、0.9 (`p90`) の予測が生成されます。独自の分位数を指定することもできます。

Autopilot では、[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `ForecastQuantiles` 属性で、0.01 (p1) から 0.99 (p99) までの最大 5 つの予測分位数を、0.01 以上の増分で指定できます。

次の例では、20 日間にわたる特定の品目の予測数量または需要レベルについて、10 パーセンタイル、25 パーセンタイル、50 パーセンタイル、75 パーセンタイル予測、90 パーセンタイル予測を毎日設定しています。

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### さまざまな予測頻度のデータを集計する方法
<a name="timeseries-forecasting-aggregation"></a>

予測モデル (実験における最適なモデル候補とも呼ばれる) を作成するには、予測頻度を指定する必要があります。予測頻度によって、予測に含まれる予測の頻度が決定します。例えば、月次販売予測です。Autopilot の最適なモデルは、データが記録される頻度よりも高いデータ頻度の予測を生成することができます。

トレーニング中、Autopilot は指定した予測頻度と一致しないデータを集約します。例えば、日次データはあるが、毎週予測頻度を指定するような場合です。Autopilot は、そのデータが属する週に基づいて日次データを調整します。その後、Autopilot はそれを週ごとに 1 つのレコードにまとめます。

集約時、デフォルトの変換メソッドは、データを合計することです。AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で集約を設定できます。サポートされている集約メソッドは `sum` (デフォルト) `avg`、`first`、`min`、`max` です。集約はターゲット列でのみサポートされます。

次の例では、個々のプロモーション予測の平均を計算し、最終的な集約予測値を提供するように集約を構成します。

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### 入力データセット内の欠損値を処理する方法
<a name="timeseries-forecasting-fill-missing-values"></a>

Autopilot には、時系列データセットのターゲット列やその他の数値列の欠損値を処理するための filling メソッドが多数用意されています。サポートされている filling メソッドのリストと使用可能な filling ロジックについては、「[欠損値の処理](timeseries-forecasting-data-format.md#timeseries-missing-values)」を参照してください。

AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で filling 戦略を設定します。

filling メソッドを設定するには、キーと値のペアを指定する必要があります。
+ キーは、filling メソッドを指定する列の名前です。
+ キーに関連付けられている値は、その列の filling 戦略を定義するオブジェクトです。

1 つの列に複数の filling メソッドを指定できます。

filling メソッドに特定の値を設定するには、fill パラメータに目的の filling メソッド値 (例: `"backfill" : "value"`) を設定し、「\$1value」をサフィックスを付けた追加パラメータで実際の filling 値を定義します。たとえば、`backfill` の値を `2` に設定するには、`"backfill": "value"` および `"backfill_value":"2"` の 2 つのパラメータを含める必要があります。

以下の例では、不完全データ列「price」の filling 戦略を以下のように指定します。項目の最初のデータポイントから最後のデータポイントまでの間の欠損値はすべて `0` に設定され、その後、データセットの終了日まで、すべての欠損値は値 `2` で埋められます。

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### 目標メトリクスの指定方法
<a name="timeseries-forecasting-set-objective-metric"></a>

Autopilot は、モデル候補を評価し、予測の生成に使用するモデルを選択するのに役立つ精度メトリクスを生成します。時系列予測実験を実行する場合、AutoML を選択して Autopilot に予測子を最適化させるか、手動で予測子のアルゴリズムを選択することができます。

デフォルトでは、Autopilot は平均重み付き分位損失を使用します。ただし、AutoML ジョブを作成する際に、[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) の `MetricName` 属性で目標メトリクスを設定することができます。

利用可能なアルゴリズムのリストについては、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### 祝祭日情報をデータセットに組み込む方法
<a name="timeseries-forecasting-add-holiday-calendar"></a>

Autopilot では、特徴エンジニアリングされた祝祭日情報データセットを時系列に組み込むことができます。Autopilot は 250 か国の祝祭日カレンダーをネイティブにサポートします。国を選択すると、Autopilot は、トレーニング中にその国の祝祭日カレンダーを、データセット内のすべての項目に適用します。これにより、モデルは特定の祝祭日に関連するパターンを特定できます。

AutoML ジョブを作成する際に [TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `HolidayConfig` 属性に [HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) オブジェクトを渡すことで、祝祭日特徴量化を有効にできます。`HolidayConfigAttributes` オブジェクトには、時系列データセットを補強するために使用される祝祭日カレンダーの国を決定する 2 文字の `CountryCode` 属性が含まれています。

サポートされているカレンダーのリストとそれに対応する国コードについては、「[国コード](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes)」を参照してください。

### 自動デプロイを有効にする方法
<a name="timeseries-forecasting-auto-model-deployment"></a>

Autopilot を使用すると、予測モデルをエンドポイントに自動的にデプロイできます。AutoML ジョブの最適なモデル候補の自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、最適なモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

### 大規模なデータセットのために EMR Serverless でリモートジョブを開始するように AutoML を設定する方法
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

大規模なデータセットを処理するために追加のコンピューティングリソースが必要なときに、Amazon EMR Serverless で自動的にリモートジョブを開始するように AutoML ジョブ V2 を設定できます。必要に応じて EMR Serverless にシームレスに移行することで、AutoML ジョブは、ユーザーが手動で介入することなく、最初にプロビジョニングされたリソースを超えるデータセットを処理できます。EMR Serverless は、表形式および時系列の問題タイプで使用できます。30 GB を超える時系列データセットには、このオプションを設定することをお勧めします。

AutoML ジョブ V2 が大規模なデータセットに対して EMR Serverless に自動的に移行できるようにするには、`ExecutionRoleARN` フィールドを含む `EmrServerlessComputeConfig` オブジェクトを、AutoML ジョブ V2 入力リクエストの `AutoMLComputeConfig` に指定する必要があります。

`ExecutionRoleARN` は、EMR Serverless ジョブを実行するために必要なアクセス許可を AutoML ジョブ V2 に 付与する IAM ロールの ARN です。

このロールには、次の信頼関係が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

以下を行うアクセス許可を付与します。
+ EMR Serverless アプリケーションを作成、一覧表示、更新する。
+ EMR Serverless アプリケーションでのジョブの実行を開始、一覧表示、取得、またはキャンセルする。
+ EMR Serverless リソースにタグを付ける。
+ 実行のために IAM ロールを EMR Serverless サービスに渡す。

  `iam:PassRole` アクセス許可を付与することで、AutoML ジョブ V2 は一時的に `EMRServerlessRuntimeRole-*` ロールを引き受け、EMR Serverless サービスに渡すことができます。これらは、EMR Serverless ジョブ実行環境が、データアクセス用の Amazon S3、ログ記録用の CloudWatch、 AWS Glue データカタログへのアクセス、ワークロード要件に基づく他のサービスなど、ランタイムに必要な他の AWS サービスとリソースにアクセスするために使用する IAM ロールです。

  このロールのアクセス許可の詳細については、「[Amazon EMR Serverless のジョブランタイムロール](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)」を参照してください。

提供されている JSON ドキュメントで定義された IAM ポリシーでは、これらのアクセス許可が付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

# 時系列データセットの形式と欠損値の filling メソッド
<a name="timeseries-forecasting-data-format"></a>

時系列データとは、一定の時間間隔で記録された観測値または測定値のコレクションを指します。このタイプのデータでは、各観測値が特定のタイムスタンプまたは期間に関連付けられ、時系列に並んだデータポイントのシーケンスが作成されます。

時系列データセットに含める特定の列は、分析の目的と利用できるデータによって異なります。時系列データは、最低でも次の 3 列のテーブルで構成されます。
+ 1 つの列には、特定の時点での値を示すために個々の項目に割り当てられた固有の識別子が含まれます。
+ もう 1 つの列は、特定の時点における特定の項目の値をログに記録するポイントインタイム値または**ターゲット**を表します。これらのターゲット値に基づいてモデルをトレーニングすると、このターゲット列には、定義された期間内に特定の頻度でモデルが予測する値が含まれます。
+ また、値が測定された日付と時刻を記録するタイムスタンプ列も含まれます。
+ 追加の列には、予測パフォーマンスに影響を与える可能性のある他の要因を含めることができます。例えば、売上または収益をターゲットとする小売の時系列データセットには、販売数、製品 ID、店舗の場所、顧客数、在庫レベルに関する情報に加えて、気象データや人口統計情報などの共変量指標に関する情報を提供する機能を含めることができます。

**注記**  
時系列に祝祭日情報の特徴量エンジニアリングされたデータセットを追加することができます。時系列モデルに祝祭日を含めることで、祝祭日が作り出す周期的なパターンをキャプチャすることができます。これにより、予測はデータの基盤となる季節性をより正確に反映できます。国ごとに利用できるカレンダーについては、「[祝祭日カレンダー](autopilot-timeseries-forecasting-holiday-calendars.md)」を参照してください。

## 時系列予測用のデータセット形式
<a name="timeseries-format"></a>

Autopilot は、数値、カテゴリ、テキスト、および日時データ型をサポートします。ターゲット列のデータ型は数値である必要があります。

Autopilot は、CSV (デフォルト) ファイルまたは Parquet ファイルとしてフォーマットされた時系列データをサポートします。
+ **CSV** (カンマ区切り値) は、データを人間が読めるプレーンテキストで格納する行ベースのファイル形式で、幅広いアプリケーションでサポートされているため、データ交換に一般的に採用されています。
+ **Parquet** は、列ベースのファイル形式で、行ベースのファイル形式よりも効率的にデータを格納および処理します。このため、ビッグデータの問題にはより適したオプションです。

Autopilot の予測用時系列データセットのリソース制限の詳細については、「[Autopilot の時系列予測リソースの制限](timeseries-forecasting-limits.md)」を参照してください。

## 欠損値の処理
<a name="timeseries-missing-values"></a>

時系列予測データの一般的な問題は、欠落した値の存在です。データには、測定の失敗、フォーマットの問題、人為的ミス、記録する情報の不足など、さまざまな理由で欠落した値が含まれている可能性があります。例えば、小売店の製品需要を予測しているときに、商品が売り切れたり使用不能になったりすると、その品目が在庫切れの間は記録する売上データは存在しないことになります。十分に優勢な場合、欠落した値がモデルの精度に影響を与える可能性があります。

Autopilot は、欠損値を処理するための多数の filling メソッドを提供し、ターゲット列とその他の追加列に対して異なるアプローチで対応します。フィルは、データセット内の欠落しているエントリに標準化された値を追加するプロセスです。

時系列データセットの欠損値を埋めるメソッドを設定する方法については、「[入力データセット内の欠損値を処理する方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-fill-missing-values)」を参照してください。

Autopilot では、以下の filling メソッドがサポートされています。
+ **前方フィル:** すべての項目の中で最初に記録されたデータポイントと各項目の開始点の間の欠損値を埋めます (各項目は異なる時間に開始できます)。これにより、記録された最も早いデータポイントからそれぞれの開始点まで、確実に各項目のデータが完全になります。
+ **中間フィル:** データセットの項目の開始日と終了日の間の欠損値を埋めます。
+ **後方フィル:** 各項目の最後のデータポイント (各アイテムは異なる時間に停止できる) とすべての項目の最後に記録されたデータポイントの間の欠損値を埋めます。
+ **将来のフィル:** すべての項目の中で最後に記録されたデータポイントから予測期間の終了までの間の欠損値を埋めます。

次の図は、さまざまな filling メソッドを視覚的に示しています。

![\[Amazon SageMaker Autopilot での時系列予測のさまざまな filling メソッド。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-forecast-filling-methods.png)


### filling ロジックの選択
<a name="filling-logic"></a>

フィルロジックを選択するときは、モデルによってロジックがどのように解釈されるかを考慮する必要があります。たとえば、小売のシナリオでは、利用可能な品目の販売数 0 を記録することは、利用できない品目の販売数 0 を記録することとは異なります。後者の場合、品目に対するお客様の関心がないことを意味するものではありません。このため、時系列のターゲット列での `0` filling では、予測で予測子の偏りが不足することがありますが、`NaN` filling では、販売されている利用可能な品目 0 個の実際の出現が無視され、予測子の偏りが過剰になる可能性があります。

### filling ロジック
<a name="filling-restrictions"></a>

データセット内のターゲット列やその他の数値列に filling を実行できます。ターゲット列には、他の数値列とは異なる filling ガイドラインと制限があります。

フィルガイドライン


| 列のタイプ | デフォルトでフィルしますか? | サポートされているフィル方法 | デフォルトのフィルロジック | 受け入れられた filling ロジック | 
| --- | --- | --- | --- | --- | 
| ターゲット列 | はい | 中間フィルと後方フィル | 0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 
| その他の数値列 | いいえ | 中間、後方、および将来のフィル | デフォルトなし |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 

**注記**  
ターゲット列およびその他の数値列の両方について、`mean`、`median`、`min`、および `max` は、欠損値より前の最新の 64 個のデータエントリのローリングウィンドウに基づいて計算されます。

# 祝祭日カレンダー
<a name="autopilot-timeseries-forecasting-holiday-calendars"></a>

Autopilot は、250 か国以上の祝祭日カレンダーへのアクセスを可能にする、特徴エンジニアリングされた祝祭日情報データセットをサポートしています。祝祭日カレンダーの特徴量は、祝祭日が需要に大きな影響を与える可能性がある小売ドメインで特に役立ちます。次のセクションでは、サポートされている各国の祝祭日カレンダーにアクセスするために使用できる国コードを示します。

データセットにカレンダーを追加する方法については、「[祝祭日情報をデータセットに組み込む方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-add-holiday-calendar)」を参照してください。

## 国コード
<a name="holiday-country-codes"></a>

Autopilot は、以下の国の祝祭日カレンダーのネイティブサポートを提供します。API で国を指定するときは、**[Country Code]** (国コード) を使用します。


| Country | 国コード | 
| --- | --- | 
|   アフガニスタン   |   AF   | 
|   オーランド諸島   |   AX   | 
|   アルバニア   |   AL   | 
|   アルジェリア   |   DZ   | 
|   アメリカ領サモア   |   AS   | 
|   アンドラ   |   AD   | 
|   アンゴラ   |   AO   | 
|   アンギラ   |   AI   | 
|   南極   |   AQ   | 
|   アンティグアバーブーダ   |   AG   | 
|   アルゼンチン   |   AR   | 
|   アルメニア   |   AM   | 
|   アルバ   |   AW   | 
|   オーストラリア   |   AU   | 
|   オーストリア   |   AT   | 
|   アゼルバイジャン   |   AZ   | 
|   バハマ諸島   |   BS   | 
|   バーレーン   |   BH   | 
|   バングラデシュ   |   BD   | 
|   バルバドス   |   BB   | 
|   ベラルーシ   |   BY   | 
|   ベルギー   |   BE   | 
|   ベリーズ   |   BZ   | 
|   ベニン   |   BJ   | 
|   バミューダ   |   BM   | 
|   ブータン   |   BT   | 
|   ボリビア   |   BO   | 
|   ボスニアヘルツェゴビナ   |   BA   | 
|   ボツワナ   |   BW   | 
|   ブーベ島   |   BV   | 
|   ブラジル   |   BR   | 
|   英領インド洋地域   |   IO   | 
|   英領バージン諸島   |   VG   | 
|   ブルネイ・ダルサラーム   |   BN   | 
|   ブルガリア   |   BG   | 
|   ブルキナファソ   |   BF   | 
|   ブルンジ   |   BI   | 
|   カンボジア   |   KH   | 
|   カメルーン   |   CM   | 
|   カナダ   |   CA   | 
|   カーボベルデ   |   CV   | 
|   オランダカリブ領域   |   BQ   | 
|   ケイマン諸島   |   KY   | 
|   中央アフリカ共和国   |   CF   | 
|   チャド   |   TD   | 
|   チリ   |   CL   | 
|   中国   |   CN   | 
|   クリスマス島   |   CX   | 
|   ココス (キーリング) 諸島   |   CC   | 
|   コロンビア   |   CO   | 
|   コモロ   |   KM   | 
|   クック諸島   |   CK   | 
|   コスタリカ   |   CR   | 
|   クロアチア   |   HR   | 
|   キューバ   |   CU   | 
|   キュラソー   |   CW   | 
|   キプロス   |   CY   | 
|   チェコ共和国   |   CZ   | 
|   コンゴ民主共和国   |   CD   | 
|   デンマーク   |   DK   | 
|   ジブチ   |   DJ   | 
|   ドミニカ   |   DM   | 
|   ドミニカ共和国   |   DO   | 
|   エクアドル   |   EC   | 
|   エジプト   |   EG   | 
|   エルサルバドル   |   SV   | 
|   赤道ギニア   |   GQ   | 
|   エリトリア   |   ER   | 
|   エストニア   |   EE   | 
|   エスワティニ   |   SZ   | 
|   エチオピア   |   ET   | 
|   フォークランド諸島   |   FK   | 
|   フェロー諸島   |   FO   | 
|   フィジー   |   FJ   | 
|   フィンランド   |   FI   | 
|   フランス   |   FR   | 
|   フランス領ギアナ   |   GF   | 
|   フランス領ポリネシア   |   PF   | 
|   フランス領南方・南極地域   |   TF   | 
|   ガボン   |   GA   | 
|   ガンビア   |   GM   | 
|   ジョージア   |   GE   | 
|   ドイツ   |   DE   | 
|   ガーナ   |   GH   | 
|   ジブラルタル   |   GI   | 
|   ギリシャ   |   GR   | 
|   グリーンランド   |   GL   | 
|   グレナダ   |   GD   | 
|   グアドループ   |   GP   | 
|   グアム   |   GU   | 
|   グアテマラ   |   GT   | 
|   ガーンジー代官管轄区   |   GG   | 
|   ギニア   |   GN   | 
|   ギニアビサウ   |   GW   | 
|   ガイアナ   |   GY   | 
|   ハイチ   |   HT   | 
|   ハード島とマクドナルド諸島   |   HM   | 
|   ホンジュラス   |   HN   | 
|   Hong Kong   |   HK   | 
|   ハンガリー   |   HU   | 
|   Iceland   |   IS   | 
|   インド   |   IN   | 
|   インドネシア   |   ID   | 
|   イラン   |   IR   | 
|   イラク   |   IQ   | 
|   アイルランド   |   IE   | 
|   マン島   |   IM   | 
|   イスラエル   |   IL   | 
|   イタリア   |   IT   | 
|   コートジボワール   |   CI   | 
|   ジャマイカ   |   JM   | 
|   日本   |   JP   | 
|   Jersey   |   JE   | 
|   ヨルダン   |   JO   | 
|   カザフスタン   |   KZ   | 
|   ケニア   |   KE   | 
|   キリバス   |   KI   | 
|   コソボ共和国   |   XK   | 
|   クウェート   |   KW   | 
|   キルギスタン   |   KG   | 
|   ラオス   |   LA   | 
|   ラトビア   |   LV   | 
|   レバノン   |   LB   | 
|   レソト   |   LS   | 
|   リベリア   |   LR   | 
|   リビア   |   LY   | 
|   リヒテンシュタイン   |   LI   | 
|   リトアニア   |   LT   | 
|   ルクセンブルグ   |   LU   | 
|   マカオ   |   MO   | 
|   マダガスカル   |   MG   | 
|   マラウイ   |   MW   | 
|   マレーシア   |   MY   | 
|   モルジブ   |   MV   | 
|   マリ   |   ML   | 
|   マルタ   |   MT   | 
|   マーシャル諸島共和国   |   MH   | 
|   マルチニーク   |   MQ   | 
|   モーリタニア   |   MR   | 
|   モーリシャス   |   MU   | 
|   マヨット   |   YT   | 
|   メキシコ   |   MX   | 
|   ミクロネシア   |   FM   | 
|   モルドバ   |   MD   | 
|   モナコ   |   MC   | 
|   モンゴル   |   MN   | 
|   モンテネグロ   |   ME   | 
|   Montserrat   |   MS   | 
|   モロッコ   |   MA   | 
|   モザンビーク   |   MZ   | 
|   ミャンマー   |   MM   | 
|   ナミビア   |   NA   | 
|   ナウル   |   NR   | 
|   ネパール   |   NP   | 
|   オランダ   |   NL   | 
|   ニューカレドニア   |   NC   | 
|   ニュージーランド   |   NZ   | 
|   ニカラグア   |   NI   | 
|   ニジェール   |   NE   | 
|   ナイジェリア   |   NG   | 
|   ニウエ   |   NU   | 
|   ノーフォーク島   |   NF   | 
|   北朝鮮   |   KP   | 
|   北マケドニア   |   MK   | 
|   北マリアナ諸島   |   MP   | 
|   ノルウェー   |   NO   | 
|   オマーン   |   OM   | 
|   パキスタン   |   PK   | 
|   パラオ   |   PW   | 
|   パレスチナ   |   PS   | 
|   パナマ   |   PA   | 
|   パプアニューギニア   |   PG   | 
|   パラグアイ   |   PY   | 
|   ペルー   |   PE   | 
|   フィリピン   |   PH   | 
|   ピトケアン諸島   |   PN   | 
|   ポーランド   |   PL   | 
|   ポルトガル   |   PT   | 
|   プエルトリコ   |   PR   | 
|   カタール   |   QA   | 
|   コンゴ共和国   |   CG   | 
|   レユニオン   |   RE   | 
|   ルーマニア   |   RO   | 
|   ロシア連邦   |   RU   | 
|   ルワンダ   |   RW   | 
|   サン・バルテルミー   |   BL   | 
|   セントヘレナ・アセンションおよびトリスタンダクーニャ   |   SH   | 
|   セントクリストファーネイビス   |   KN   | 
|   セントルシア   |   LC   | 
|   サン・マルタン島   |   MF   | 
|   サンピエール・ミクロン   |   PM   | 
|   セントビンセントおよびグレナディーン諸島   |   VC   | 
|   サモア   |   WS   | 
|   サンマリノ   |   SM   | 
|   サントメプリンシペ   |   ST   | 
|   サウジアラビア   |   SA   | 
|   セネガル   |   SN   | 
|   セルビア   |   RS   | 
|   セイシェル   |   SC   | 
|   シエラレオネ   |   SL   | 
|   シンガポール   |   SG   | 
|   シントマールテン   |   SX   | 
|   スロバキア   |   SK   | 
|   スロベニア   |   SI   | 
|   ソロモン諸島   |   SB   | 
|   ソマリア   |   SO   | 
|   南アフリカ   |   ZA   | 
|   サウスジョージア・サウスサンドウィッチ諸島   |   GS   | 
|   韓国   |   KR   | 
|   南スーダン   |   SS   | 
|   スペイン   |   ES   | 
|   スリランカ   |   LK   | 
|   スーダン   |   SD   | 
|   スリナム   |   SR   | 
|   スバールバル諸島およびヤンマイエン島   |   SJ   | 
|   スウェーデン   |   SE   | 
|   スイス   |   CH   | 
|   シリア・アラブ共和国   |   SY   | 
|   台湾   |   TW   | 
|   タジキスタン   |   TJ   | 
|   タンザニア   |   TZ   | 
|   タイ   |   TH   | 
|   東ティモール   |   TL   | 
|   トーゴ   |   TG   | 
|   トケラウ   |   TK   | 
|   トンガ   |   TO   | 
|   トリニダード・トバゴ   |   TT   | 
|   チュニジア   |   TN   | 
|   トルコ   |   TR   | 
|   トルクメニスタン   |   TM   | 
|   タークスおよびカイコス諸島   |   TC   | 
|   ツバル   |   TV   | 
|   ウガンダ   |   UG   | 
|   ウクライナ   |   UA   | 
|   アラブ首長国連邦   |   AE   | 
|   英国   |   UK   | 
|   国連   |   UN   | 
|   アメリカ   |   US   | 
|   合衆国領有小離島   |   UM   | 
|   アメリカ領バージン諸島   |   VI   | 
|   ウルグアイ   |   UY   | 
|   ウズベキスタン   |   UZ   | 
|   バヌアツ   |   VU   | 
|   バチカン市国   |   VA   | 
|   ベネズエラ   |   VE   | 
|   ベトナム   |   VN   | 
|   ウォリス・フツナ   |   WF   | 
|   西サハラ   |   EH   | 
|   イエメン   |   YE   | 
|   ザンビア   |   ZM   | 
|   ジンバブエ   |   ZW   | 

# 目標メトリクス
<a name="timeseries-objective-metric"></a>

Autopilot は、モデル候補を評価し、予測の生成に使用するモデルを選択するのに役立つ精度メトリクスを生成します。オートパイロットに予測子を最適化させることも、予測子のアルゴリズムを手動で選択することもできます。デフォルトでは、Autopilot は平均重み付き分位損失を使用します。

以下のリストには、時系列予測のモデルのパフォーマンスを測定するために現在利用できるメトリクスの名前が含まれています。

**`RMSE`**  
二乗平均平方根誤差 (RMSE) - 予測値と実際値の二乗差の平均値を求め、その値の平方根を計算したものです。大きなモデル誤差や外れ値の存在を示す重要なメトリクスです。値はゼロ (0) から無限大の範囲で、数値が小さいほど、モデルがデータにより適合していることを示します。RMSE は規模に依存するため、サイズが異なるデータセットの比較には使用しないでください。

**`wQL`**  
重み付き分位点損失 (wQL) — P10、P50、P90 の予測分位数と実際の分位数の重み付き絶対差を測定して予測の精度を評価します。値が小さいほどパフォーマンスが良いことを示します。

**`Average wQL (default)`**  
平均重み付き分位点損失 (平均 wQL) — P10、P50、P90 の分位数で精度を平均して予測を評価します。値が小さいほど、モデルの精度が高くなります。

**`MASE`**  
平均絶対スケーリング誤差 (MASE) — 単純なベースライン予測法の平均絶対誤差で正規化された予測の平均絶対誤差。値が小さいほどモデルの精度が高いことを示し、MASE < 1 はベースラインより良く、MASE > 1 はベースラインよりも悪いと推定されます。

**`MAPE`**  
平均絶対パーセント誤差 (MAPE) — すべての時間ポイントで平均したパーセンテージ誤差 (平均予測値と実際値のパーセントの差)。値が小さいほどモデルの精度が高いことを示し、MAPE = 0 はエラーのないモデルです。

**`WAPE`**  
重み付き絶対パーセント誤差 (WAPE) — 絶対ターゲットの合計で正規化された絶対誤差の合計で、観測値からの予測値の全体的な偏差を測定します。値が小さいほど、モデルの精度が高くなります。

# アルゴリズムは時系列予測をサポートします。
<a name="timeseries-forecasting-algorithms"></a>

Autopilot は、ターゲットの時系列で次の 6 つの組み込みアルゴリズムをトレーニングします。次に、スタッキングアンサンブル手法を使用してこれらのモデル候補を組み合わせ、特定の目標メトリクスに最適な予測モデルを作成します。
+ **畳み込みニューラルネットワーク - 分位点回帰 (CNN-QR)** - CNN-QR は、因果畳み込みニューラルネットワーク (CNN) を使用した時系列予測のための独自の機械学習アルゴリズムです。CNN-QR は、数百の時系列を含む大規模なデータセットで最適に機能します。
+ **DeepAR\$1** - DeepAR\$1 は、再帰型ニューラルネットワーク (RNN) を使用して時系列を予測するための、独占的な機会学習アルゴリズムです。DeepAR\$1 は、数百の特徴量時系列を含む大規模なデータセットで最適に機能します。
+ **Prophet** — [Prophet](https://facebook.github.io/prophet/) は、非線形トレンドが年次、週次、および日次の季節性に適合する加法モデルに基づく、人気のある局所的なベイズ構造時系列モデルです。Autopilot Prophet のアルゴリズムでは、Prophet の Python 実装の [Prophet クラス](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)を使用します。これは、季節性の強い効果といくつかの季節の履歴データを持つ時系列で最適に機能します。
+ **ノンパラメトリック時系列 (NPTS)** - NPTS の独占的なアルゴリズムは、スケーラブルで確率的なベースライン予測機能です。過去の観測からサンプリングすることにより、特定の時系列の未来の価値分布を予測します。NPTS は、スパースまたは断続的な時系列を使用する場合に特に役立ちます。
+ **自己回帰和分移動平均 (ARIMA)** - ARIMA は、時系列予測に一般的に使用される統計アルゴリズムです。アルゴリズムは、入力データセットの標準的時間構造 (時間のパターン化された編成) をキャプチャします。これは、時系列が 100 未満の単純なデータセットに特に役立ちます。
+ **指数平滑法 (ETS)** - ETS は、時系列予測に一般的に使用される統計アルゴリズムです。このアルゴリズムは、時系列が 100 未満の単純なデータセット、および季節性パターンのあるデータセットに特に役立ちます。ETS は、時系列データセット内のすべての観測値の加重平均を予測として計算し、時間の経過とともに重みを指数関数的に減少させます。

# デプロイされた Autopilot モデルの予測
<a name="timeseries-forecasting-deploy-models"></a>

AutoML API を使用してモデルをトレーニングしたら、リアルタイムまたはバッチベースの予測用にデプロイできます。

AutoML API は、時系列データ用の複数のモデル候補をトレーニングし、ターゲットの目標メトリクスに基づいて最適な予測モデルを選択します。モデル候補がトレーニングされると、レスポンス [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) の [BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-CandidateName) で最適な候補メトリクスを見つけることができます。

この最もパフォーマンスの高いモデルをを使用して予測を取得するには、エンドポイントを設定して予測をインタラクティブに取得するか、バッチ予測を使用して一定の観測値に基づいて予測を行います。

**考慮事項**
+ 予測用の入力データを提供する場合、データのスキーマは、列数、列ヘッダー、データ型を含め、モデルのトレーニングに使用したものと同じにしておく必要があります。異なる期間を予測するために、同じまたは異なるタイムスタンプ範囲内の既存または新しいアイテム ID を予測することができます。
+ 予測モデルは、トレーニング時の入力リクエストで指定された将来の予測期間ポイント (ターゲット終了日からターゲット終了日 \$1 予測期間) を予測します。特定の日付を予測するためにモデルを使用するには、元の入力データと同じ形式で、指定されたターゲット終了日まで拡張したデータを提供する必要があります。このシナリオでは、モデルは新しいターゲット終了日から予測を開始します。

  例えば、データセットに 1 月から 6 月までの月次データがあり、予測期間が 2 の場合、モデルは次の 2 か月間、つまり 7 月と 8 月のターゲット値を予測します。8 月に次の 2 か月を予測する場合、今回は入力データを 1 月から 8 月までとし、モデルは次の 2 か月 (9 月、10 月) を予測します。
+ 将来のデータポイントを予測する場合、提供する履歴データの量に最小値は設定されません。時系列の季節的なパターンと反復的なパターンをキャプチャするのに十分なデータを含めます。

**Topics**
+ [リアルタイム予測](timeseries-forecasting-realtime.md)
+ [バッチ予測](timeseries-forecasting-batch.md)

# リアルタイム予測
<a name="timeseries-forecasting-realtime"></a>

リアルタイム予測は、即時応答を必要とするアプリケーションや個々のデータポイントの予測など、その場で予測を生成する必要がある場合に役立ちます。

AutoML モデルをリアルタイムエンドポイントとしてデプロイすることで、予測をオンデマンドで生成し、新しいデータを受信してから予測を取得するまでの間のレイテンシーを最小限に抑えることができます。このため、リアルタイム予測は、即時の、パーソナライズされた、またはイベント駆動型の予測機能を必要とするアプリケーションに適しています。

リアルタイム予測の場合、データセットは入力データセットのサブセットである必要があります。リアルタイムエンドポイントの入力データサイズは約 6 MB で、応答タイムアウトの制限は 60 秒です。一度に 1 つまたはいくつかの項目を取り込むことをお勧めします。

SageMaker API を使用して AutoML ジョブの最適な候補を取得し、その候補を使用して SageMaker AI エンドポイントを作成できます。

または、Autopilot 実験の作成時に自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定については、「[自動デプロイを有効にする方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-auto-model-deployment)」を参照してください。

**最適なモデル候補を使用して SageMaker AI エンドポイントを作成するには**

1. 

**AutoML ジョブの詳細を取得します。**

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補に関する情報など、AutoML ジョブの詳細を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から最適なモデル候補のコンテナ定義を抽出します。**

   コンテナ定義は、予測を実行するトレーニング済みの SageMaker AI モデルをホストするために使用されるコンテナ化された環境です。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
     --auto-ml-job-name job-name 
     --region region \
     --query 'BestCandidate.InferenceContainers[0]' \
     --output json
   ```

   このコマンドは、最適なモデル候補のコンテナ定義を抽出して、`BEST_CANDIDATE` 変数に保存します。

1. 

**最適な候補のコンテナ定義を使用して SageMaker AI モデルを作成します。**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。

   ```
   aws sagemaker create-model \
               --model-name 'your-candidate-name>' \
               --primary-container "$BEST_CANDIDATE"
               --execution-role-arn 'execution-role-arn>' \
               --region 'region>
   ```

   `--execution-role-arn` パラメータは、モデルを推論に使用するときに SageMaker AI が引き受ける IAM ロールを指定します。このロールに必要なアクセス許可の詳細については、「[CreateModel API: Execution Role Permissions](https://docs.aws.amazon.com/)」を参照してください。

1. 

**モデルを使用して SageMaker AI エンドポイント設定を作成します。**

   次の AWS CLI コマンドは、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。

   ```
   aws sagemaker create-endpoint-config \
     --production-variants file://production-variants.json \
     --region 'region'
   ```

   `production-variants.json` ファイルには、モデル名とインスタンスタイプを含むモデル設定が含まれています。
**注記**  
リアルタイム予測には [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) インスタンスを使用することをお勧めします。

   ```
   [
       {
         "VariantName": "variant-name",
         "ModelName": "model-name",
         "InitialInstanceCount": 1,
         "InstanceType": "m5.12xlarge"
       }
     ]
   }
   ```

1. 

**エンドポイント設定を使用し てSageMaker AI エンドポイントを作成します。**

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint \
               --endpoint-name 'endpoint-name>' \
               --endpoint-config-name 'endpoint-config-name' \
               --region 'region'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、リアルタイム推論エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint \
               --endpoint-name 'endpoint-name' \
               --region 'region'
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. 

**SageMaker AI エンドポイントを呼び出して予測を行います。**

   ```
   aws sagemaker invoke-endpoint \
               --endpoint-name 'endpoint-name' \ 
               --region 'region' \
               --body file://input-data-in-bytes.json \
               --content-type 'application/json' outfile
   ```

   `input-data-in-bytes.json` ファイルには予測用の入力データが含まれます。

# バッチ予測
<a name="timeseries-forecasting-batch"></a>

バッチ予測は、オフライン推論とも呼ばれ、バッチ観測に基づいてモデル予測を生成します。バッチ推論は、データセットが大きい場合や、モデル予測のリクエストにすぐに応答する必要がない場合に適しています。

これとは対照的に、オンライン推論 (リアルタイム推論) はリアルタイムで予測を生成します。

SageMaker API を使用して AutoML ジョブの最適な候補を取得し、その候補を使用して推論用の入力データのバッチを送信できます。

1. 

**AutoML ジョブの詳細を取得します。**

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補に関する情報など、AutoML ジョブの詳細を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から最適なモデル候補のコンテナ定義を抽出します。**

   コンテナ定義は、予測を実行するトレーニング済みの SageMaker AI モデルをホストするために使用されるコンテナ化された環境です。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
         --auto-ml-job-name job-name 
         --region region \
         --query 'BestCandidate.InferenceContainers[0]' \
         --output json
   ```

   このコマンドは、最適なモデル候補のコンテナ定義を抽出して、`BEST_CANDIDATE` 変数に保存します。

1. 

**最適な候補のコンテナ定義を使用して SageMaker AI モデルを作成します。**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。

   ```
   aws sagemaker create-model \
         --model-name 'model-name' \
         --primary-container "$BEST_CANDIDATE"
         --execution-role-arn 'execution-role-arn>' \
         --region 'region>
   ```

   `--execution-role-arn` パラメータは、モデルを推論に使用するときに SageMaker AI が引き受ける IAM ロールを指定します。このロールに必要なアクセス許可の詳細については、「[CreateModel API: Execution Role Permissions](https://docs.aws.amazon.com/)」を参照してください。

1. 

**バッチ変換ジョブを作成します。**

   次の例では、[CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html) API を使用して変換ジョブを作成します。

   ```
   aws sagemaker create-transform-job \ 
          --transform-job-name 'transform-job-name' \
          --model-name 'model-name'\
          --transform-input file://transform-input.json \
          --transform-output file://transform-output.json \
          --transform-resources file://transform-resources.json \
          --region 'region'
   ```

   入力、出力、リソースの詳細は、個別の JSON ファイルで定義されます。
   + `transform-input.json`:

     ```
     {
       "DataSource": {
         "S3DataSource": {
           "S3DataType": "S3Prefix",
           "S3Uri": "s3://my-input-data-bucket/path/to/input/data"
         }
       },
       "ContentType": "text/csv",
       "SplitType": "None"
     }
     ```
   + `transform-output.json`:

     ```
     {
       "S3OutputPath": "s3://my-output-bucket/path/to/output",
       "AssembleWith": "Line"
     }
     ```
   + `transform-resources.json`:
**注記**  
汎用ワークロードには [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) インスタンスを使用し、ビッグデータ予測タスクには `m5.24xlarge` インスタンスを使用することをお勧めします。

     ```
     {
       "InstanceType": "instance-type",
       "InstanceCount": 1
     }
     ```

1. 

**[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html) API を使用して変換ジョブの進行状況を監視します。**

   例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-transform-job \
         --transform-job-name 'transform-job-name' \
         --region region
   ```

1. 

**バッチ変換出力を取得します。**

   ジョブが終了すると、予測された結果が `S3OutputPath` に表示されます。

   出力ファイル名は以下のの形式です。`input_data_file_name.out`例えば、入力ファイルが `text_x.csv` の場合、出力名は `text_x.csv.out` になります。

   ```
   aws s3 ls s3://my-output-bucket/path/to/output/
   ```

次のコード例は、 AWS SDK for Python (boto3) と をバッチ予測に使用する AWS CLI 方法を示しています。

------
#### [ AWS SDK for Python (boto3) ]

 以下の例では **AWS SDK for Python (boto3)** を使用してバッチで予測を行います。

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job_v2(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'None'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

バッチ推論ジョブは、以下の形式でレスポンスを返します。

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **最適な候補のコンテナ定義を取得**します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **モデルを作成**します。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **変換ジョブを作成**します。

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
    --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "None"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **変換ジョブの進行状況を確認**します。

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   以下は、変換ジョブからのレスポンスです。

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "None"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   `TransformJobStatus` を `Completed` に変更した後は、`S3OutputPath` で推論結果を確認できます。

------

# Amazon SageMaker Autopilot のデータ探索ノートブック
<a name="timeseries-forecasting-data-exploration-notebook"></a>

Amazon SageMaker Autopilot は、データセットのクリーンアップと前処理を自動的に行います。Amazon SageMaker Autopilot は、ユーザーがデータを理解し、時系列に関するパターン、関係、異常を明らかにできるように、ユーザーが参照できるノートブック形式の**データ探索**静的レポートを生成します。

データ探索ノートブックは、Autopilot のジョブごとに生成されます。レポートは Amazon S3 バケットに保存され、ジョブの出力パスからアクセスできます。

データ探索ノートブックへの Amazon S3 プレフィックスは、`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンス内の `[AutoMLJobArtifacts.DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#sagemaker-DescribeAutoMLJobV2-response-AutoMLJobArtifacts)` にあります。

# Amazon SageMaker Autopilot によって生成されたレポート
<a name="timeseries-forecasting-reports"></a>

データ探索ノートブックに加えて、Autopilot は各実験の最適なモデル候補に関するさまざまなレポートを生成します。
+ 説明可能性レポートでは、モデルがどのように予測を行うかについてのインサイトが得られます。
+ パフォーマンスレポートは、モデルの予測機能を定量的に評価します。
+ バックテスト結果レポートは、モデルのパフォーマンスを履歴データでテストした後に生成されます。

## 説明可能性レポート
<a name="timeseries-forecasting-explainability-report"></a>

Autopilot の説明可能性レポートは、データセット内の属性が特定の時系列 (項目とディメンションの組み合わせ) および時間ポイントの予測にどのように影響するかをよりよく理解するのに役立ちます。Autopilot は、Impact スコアと呼ばれるメトリクスを使用して、各属性の相対的な影響を定量化し、それらが予測値を増加させるか減少させるかを決定します。

例えば、ターゲットが `sales` であり、`price` および `color` といった関連する 2 つの属性がある予測シナリオについて考えてみます。Autopilot は、商品の色が、特定の商品の売上には大きな影響を与えるが、他の商品に対する影響はごくわずかであると判断する可能性があります。また、夏のプロモーションは売上に大きな影響を与えるが、冬のプロモーションはほとんど効果がないと判断する可能性もあります。

説明可能性レポートは次の場合にのみ生成されます。
+ 時系列データセットに追加の特徴量列が含まれているか、祝祭日カレンダーに関連付けられている場合。
+ ベースモデルの CNN-QR と DeepAR\$1 が最終的なアンサンブルに含まれている場合。

### 影響スコアの解釈
<a name="timeseries-forecasting-explainability-impact-scores"></a>

影響スコアは、予測値に対する相対的な影響属性を測定します。例えば、`price` 属性の影響スコアが `store location` 属性の 2 倍である場合、商品の料金は、予測値に対して、店舗の場所の 2 倍の影響を及ぼすと結論付けることができます。

影響スコアは、属性が予測値を増加させるか減少させるかに関する情報も提供します。

Impact スコアの範囲は -1 から 1 で、記号は影響の方向を示します。スコアが 0 の場合は影響がないことを示し、スコアが 1 または -1 に近い場合は影響が大きいことを示します。

Impact スコアは、絶対的な影響ではなく、属性の相対的な影響を測定することに注意することが重要です。したがって、Impact スコアで、特定の属性がモデルの精度が向上するかどうかを判断することはできません。属性の Impact スコアが低い場合、それは必ずしも予測値への影響が少ないことを意味するわけではありません。これは、予測子が使用する他の属性よりも予測値への影響が少ないことを意味します。

### 説明可能性レポートの検索
<a name="timeseries-forecasting-explainability-report-location"></a>

最適な候補に対して生成された説明可能性アーティファクトの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンス内の `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` にあります。

## モデルパフォーマンスレポート
<a name="timeseries-forecasting-model-performance-report"></a>

Autopilot モデル品質レポート (パフォーマンスレポートとも呼ばれる) は、AutoML ジョブによって生成された最適なモデル候補 (最適な予測因子) に関するインサイトと品質情報を提供します。これには、ジョブの詳細、目標関数、精度メトリクス (`wQL`、`MAPE`、`WAPE`、`RMSE`、`MASE`) に関する情報が含まれます。

最適な候補に対して生成されたモデル品質レポートアーティファクトへの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` のレスポンス内の `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` にあります。

## バックテスト結果レポート
<a name="timeseries-forecasting-model-backtest-report"></a>

バックテストの結果は、予測の精度と信頼性を評価することにより、時系列予測モデルのパフォーマンスに関するインサイトを提供します。アナリストやデータサイエンティストが過去のデータに対するパフォーマンスを評価するのに役立ち、将来の、見えないデータに対する潜在的なパフォーマンスを理解するのに役立ちます。

Autopilot は、バックテストを使用してパラメータをチューニングし、精度メトリクスを生成します。バックテスト中、Autopilot は、時系列データをトレーニングセットとテストセットといった 2 つのセットに自動的に分割します。トレーニングセットは、モデルをトレーニングし、テストセット内のデータポイントの予測を生成するために使用されます。Autopilot は、このテストデータセットを使用して予測値をテストセットの観測値と比較することにより、モデルの精度を評価します。

最適な候補に対して生成されたモデル品質レポートアーティファクトへの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` のレスポンスの `[BestCandidate.CandidateProperties.CandidateArtifactLocations.BacktestResults](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-BacktestResults)` にあります。

# Autopilot の時系列予測リソースの制限
<a name="timeseries-forecasting-limits"></a>

次の表に、Amazon SageMaker Autopilot での時系列予測ジョブのリソース制限と、各制限が調整できるかどうかを示します。


| **リソースの制限** | **デフォルトの制限** | **調整可能** | 
| --- | --- | --- | 
|  入力データセットのサイズ  |  30 GB  |  はい  | 
|  1 つの Parquet ファイルのサイズ  |  2 GB  |  いいえ  | 
|  データセットの行の最大数  |  30 億  |  はい  | 
|  グループ列の最大数  |  5  |  いいえ  | 
|  数値特徴量の最大数  |  13  |  いいえ  | 
|  カテゴリ別特徴量の最大数  |  10  |  いいえ  | 
|  データセットあたりの時系列 (項目とグループ列の一意の組み合わせ) の最大数  |  5,000,000  |  はい  | 
|  最大予測期間  |  500  |  はい  | 

# API を使用してテキスト生成モデルをファインチューニングする AutoML ジョブを作成する
<a name="autopilot-create-experiment-finetune-llms"></a>

大規模言語モデル (LLM) は、テキストの生成、要約、補完、質問への回答など、複数の生成タスクに優れています。こうしたモデルのパフォーマンスは、その大きなサイズと、多様なデータセットやさまざまなタスクに関する幅広いトレーニングによるものです。ただし、医療や金融サービスなどの特定の分野では、固有のデータやユースケースに合わせてカスタマイズされたファインチューニングが必要になる場合があります。特定の分野に合わせてトレーニングを調整することで、LLM のパフォーマンスは向上し、ターゲットアプリケーションに対してより正確な出力を提供できます。

Autopilot は、事前にトレーニングされたさまざまな生成テキストモデルをファインチューニングする機能を提供します。特に、Autopilot は、JumpStart に対応した汎用大規模言語モデル (LLM) の**指示ベースのファインチューニング**をサポートしています。

**注記**  
Autopilot でのファインチューニングをサポートするテキスト生成モデルには、現在、SageMaker Canvas によってサポートされているリージョンでのみアクセスできます。[サポートされているリージョンの完全なリスト](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)については、SageMaker Canvas のドキュメントを参照してください。

事前トレーニング済みモデルをファインチューニングするには、そのタスクの出力の生成方法や動作方法について明確な指示でモデルを導く特定のデータセットが必要です。モデルはデータセットから学習し、提供された指示に従うようにパラメータを調整します。指示ベースのファインチューニングでは、プロンプトとレスポンスのペアとしてフォーマットされ、指示としてフレーズ化された、ラベル付きの例を使用します。ファインチューニングの詳細については、[基盤モデルのファインチューニング](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html)に関する説明を参照してください。

以下のガイドラインは、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して、テキスト生成 LLM のファインチューニングを行うパイロット実験として Amazon SageMaker Autopilot ジョブを作成するプロセスについて概要を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

LLM をファインチューニングするための Autopilot 実験をプログラムで作成するには、Amazon SageMaker Autopilot または AWS CLIでサポートされている任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API を呼び出します。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[See Also](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「`[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` のすべてのリクエスト構文」を参照してください。

**注記**  
Autopilot による大規模言語モデルのファインチューニングでは、複数の候補をトレーニングして評価する必要はありません。代わりに、データセットを使用してターゲットモデルを直接ファインチューニングし、デフォルトの目標メトリクスである交差エントロピー損失を改善します。Autopilot で言語モデルをファインチューニングする場合、`AutoMLJobObjective` フィールドを設定する必要はありません。

LLM をファインチューニングしたら、`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` API コールを行うときに `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` からさまざまな ROUGE スコアにアクセスして、そのパフォーマンスを評価できます。モデルは、トレーニングおよび検証損失とパープレキシティに関する情報も提供します。ファインチューニングされたモデルによって生成されたテキストの品質を評価するメトリクスの包括的なリストについては、「[Autopilot で大規模言語モデルをファインチューニングするためのメトリクス](autopilot-llms-finetuning-metrics.md)」を参照してください。

## 前提条件
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

Autopilot を使用して SageMaker AI でファインチューニング実験を作成する前に、以下のステップを実行してください。
+ (オプション) ファインチューニングする事前トレーニング済みモデルを選択します。

  Amazon SageMaker Autopilot でファインチューニングできる事前トレーニング済みモデルのリストについては、「[ファインチューニングがサポートされている大規模言語モデル](autopilot-llms-finetuning-models.md)」を参照してください。モデルの選択は必須ではありません。モデルが指定されていない場合、Autopilot はデフォルトで自動的にモデル *Falcon7BInstruct* を使用します。
+ 指示のデータセットを作成します。指示ベースのデータセットの形式要件については、「[データセットのファイルタイプと入力データ形式](autopilot-llms-finetuning-data-format.md)」を参照してください。
+ データセットを Amazon S3 バケットに配置します。
+ 実験を実行するために使用した SageMaker AI 実行ロールに、入力データを含む Amazon S3 バケットへの完全なアクセス権を付与します。
  + SageMaker AI 実行ロールの取得については、「[実行ロールを取得する](sagemaker-roles.md#sagemaker-roles-get-execution-role)」を参照してください。
  + Amazon S3 の 1 つ以上の特定のバケットにアクセスするためのアクセス許可を SageMaker AI 実行ロールに付与する方法については、「[実行ロールを作成する](sagemaker-roles.md#sagemaker-roles-create-execution-role)」の「*Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*」を参照してください。
+ さらに、JumpStart で使用されるデフォルトストレージの Amazon S3 バケットにアクセスするために必要なアクセス許可を、実行ロールに付与する必要があります。このアクセスは、JumpStart でトレーニング済みのモデルアーティファクトを保存および取得するために必要です。この Amazon S3 バケットへのアクセスを許可するには、実行ロールに新しいインラインカスタムポリシーを作成する必要があります。

  以下は、`us-west-2` で AutoML のファインチューニングジョブを設定するときに JSON エディタで使用できるポリシーの例です。

  *JumpStart のバケット名は、 に依存する事前定義されたパターンに従います AWS リージョン。バケットの名前はリージョンに応じて調整する必要があります。*

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

これが完了すると、Autopilot API リクエストでこの実行ロールの ARN を使用できます。

## 必須パラメータ
<a name="autopilot-llms-finetuning-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して LLM ファインチューニングの Autopilot 実験を作成するには、次の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。名前は `string` 型で、最小長は 1 文字、最大長は 32 文字です。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 内で `training` タイプの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` を少なくとも 1 つ。このチャネルは、ファインチューニングデータセットがある Amazon S3 バケットの名前を指定します。`validation` チャネルを定義することもできます。validation チャネルが指定されておらず、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) で `ValidationFraction` が設定されている場合、この割合を使用してトレーニングデータセットがトレーニングセットと検証セットにランダムに分割されます。さらに、データセットのコンテンツのタイプ (CSV または Parquet ファイル) を指定できます。
+ トレーニングジョブの設定を行うためのタイプ `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` の `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。

  特に、ファインチューニングするベースモデルの名前を `BaseModelName` フィールドで指定できます。Amazon SageMaker Autopilot でファインチューニングできる事前トレーニング済みモデルのリストについては、「[ファインチューニングがサポートされている大規模言語モデル](autopilot-llms-finetuning-models.md)」を参照してください。
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用されるロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。

以下は、(`Falcon7BInstruct`) モデルのファインチューニングを目的として `CreateAutoMLJobV2` に API コールを行うときに使用される、完全なリクエスト形式の例です。

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

その他のすべてのパラメータは省略可能です。

## 任意指定のパラメータ
<a name="autopilot-llms-finetuning-api-optional-params"></a>

次のセクションでは、ファインチューニング AutoML ジョブに渡すことができるいくつかのオプションパラメータについて詳しく説明します。

### AutoML ジョブのトレーニングデータセットと検証データセットを指定する方法
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

独自の検証データセットとカスタムデータの分割比率を指定することも、Autopilot にデータセットを自動的に分割させることもできます。

各 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) オブジェクト (必須パラメータ「[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)」を参照) には `ChannelType` があり、`training` 値または `validation` 値に設定することで、機械学習モデルを構築するときにデータをどのように使用するかを指定できます。

少なくとも 1 つのデータソースを指定する必要があり、最大 2 つのデータソースを指定できます。1 つはトレーニングデータ用、もう 1 つは検証データ用です。データをトレーニングデータセットと検証データセットに分割する方法は、データソースが 1 つか 2 つかによって異なります。
+ **データソースが 1 つ**のみである場合、`ChannelType` はデフォルトで `training` に設定され、この値を持つ必要があります。
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) の `ValidationFraction` 値を設定しないと、このソースのデータの 0.2 (20%) がデフォルトで検証に使用されます。
  + `ValidationFraction` を 0 から 1 の間の値に設定すると、データセットは指定した値に基づいて分割されます。この値は、検証に使用されるデータセットの割合を指定します。
+ **データソースが 2 つ**である場合は、`AutoMLJobChannel` オブジェクトの 1 つの `ChannelType` を `training` (デフォルト値) に設定する必要があります。他のデータソースの `ChannelType` は `validation` に設定する必要があります。2 つのデータソースは、同じ形式 (CSV または Parquet) と同じスキーマを持つ必要があります。この場合、`ValidationFraction` の値を設定してはいけません。各ソースのすべてのデータがトレーニングまたは検証に使用されるためです。この値を設定すると、エラーが発生します。

### 自動デプロイを有効にする方法
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Autopilot を使用して、ファインチューニングされたモデルをエンドポイントに自動的にデプロイできます。ファインチューニングされたモデルの自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、ファインチューニングされたモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

### AutoML API を使用してモデルをファインチューニングするときに EULA への同意を設定する方法
<a name="autopilot-llms-finetuning-set-eula"></a>

ファインチューニングの前にエンドユーザーライセンス契約への同意を必要とするモデルの場合、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` を設定するときに `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` で `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` の `AcceptEula` 属性を `True` に設定することで EULA に同意できます。

### モデルの学習プロセスを最適化するためにハイパーパラメータを設定する方法
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` を設定するときに `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` の `TextGenerationHyperParameters` 属性にハイパーパラメータ値を設定することで、テキスト生成モデルの学習プロセスを最適化できます。

Autopilot では、すべてのモデルで 4 つの一般的なハイパーパラメータを設定できます。
+ `epochCount`: 値は、`1` ～ `10` の範囲の整数値を含む文字列である必要があります。
+ `batchSize`: 値は、`1` ～ `64` の範囲の整数値を含む文字列である必要があります。
+ `learningRate`: 値は、`0` ～ `1` の範囲の浮動小数点値を含む文字列である必要があります。
+ `learningRateWarmupSteps`: 値は、`0` ～ `250` の範囲の整数値を含む文字列である必要があります。

各ハイパーパラメータの詳細については、「[テキスト生成モデルの学習プロセスを最適化するためのハイパーパラメータ](autopilot-llms-finetuning-hyperparameters.md)」を参照してください。

次の JSON 例は、TextGenerationJobConfig に渡された、4 つのハイパーパラメータがすべて設定されている `TextGenerationHyperParameters` フィールドを示しています。

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# ファインチューニングがサポートされている大規模言語モデル
<a name="autopilot-llms-finetuning-models"></a>

Autopilot API を使用すると、ユーザーは Amazon SageMaker JumpStart 対応の大規模言語モデル (LLM) をファインチューニングできます。

**注記**  
エンドユーザーライセンス契約への同意が必要なモデルをファインチューニングする場合は、AutoML を作成する際に EULA への同意を明示的に宣言する必要があります。事前トレーニング済みモデルをファインチューニングすると、元のモデルの重みが変更されるため、ファインチューニングされたモデルをデプロイするときに後で EULA に同意する必要はありません。  
AutoML API を使用してファインチューニングジョブを作成するときに EULA に同意する方法については、「[AutoML API を使用してモデルをファインチューニングするときに EULA への同意を設定する方法](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula)」を参照してください。

各モデルの詳細については、こちらの[モデルテーブル](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)で **JumpStart モデル ID** を検索し、**Source** 列のリンクを使用してください。これらの詳細には、モデルでサポートされている言語、モデルが示す可能性のあるバイアス、ファインチューニングに使用されるデータセットなどが含まれます。

次の表に、AutoML ジョブでのファインチューニングがサポートされている JumpStart モデルを示します。


| JumpStart モデル ID | API リクエストの `BaseModelName` | 説明 | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B は、[pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b) をベースとした、パラメータ数が 28 億の指示追従型大規模言語モデルです。指示/レスポンス形式のファインチューニングデータセット [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) を用いてトレーニングされており、ブレインストーミング、分類、質問と回答、テキスト生成、情報抽出、要約などのタスクを実行できます。  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B は、[pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) をベースとした、パラメータ数が 69 億の指示追従型大規模言語モデルです。指示/レスポンス形式のファインチューニングデータセット [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) を用いてトレーニングされており、ブレインストーミング、分類、質問と回答、テキスト生成、情報抽出、要約などのタスクを実行できます。  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B は、[pythia-12b](https://huggingface.co/EleutherAI/pythia-12b) をベースとした、パラメータ数が 120 億の指示追従型大規模言語モデルです。指示/レスポンス形式のファインチューニングデータセット [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) を用いてトレーニングされており、ブレインストーミング、分類、質問と回答、テキスト生成、情報抽出、要約などのタスクを実行できます。  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B は、パラメータ数が 70 億の因果的大規模言語モデルで、厳選されたコーパスで強化された 1 兆 5,000 億個のトークンを用いてトレーニングされています。Falcon-7B は、英語とフランス語のデータでのみトレーニングされており、他の言語に対しては適切に一般化されません。このモデルは大量のウェブデータを用いてトレーニングされているため、オンライン上でよく見られる固定観念やバイアスが伴います。  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon 7B Instruct は、Falcon 7B をベースとした、パラメータ数が 70 億の因果的大規模言語モデルで、チャット/指示形式のデータセットがミックスされた 2 億 5,000 万個のトークンを用いてファインチューニングされています。Falcon 7B Instruct は、主に英語データを用いてトレーニングされており、他の言語に対しては適切に一般化されません。さらに、ウェブという大規模なコーパスを用いてトレーニングされているため、オンライン上で一般的に見られる固定観念やバイアスが伴います。  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B は、パラメータ数が 400 億の因果的大規模言語モデルで、厳選されたコーパスで強化された 1 兆個のトークンを用いてトレーニングされています。主に英語、ドイツ語、スペイン語、フランス語でトレーニングされており、イタリア語、ポルトガル語、ポーランド語、オランダ語、ルーマニア語、チェコ語、スウェーデン語では機能が制限されています。他の言語に対しては適切に一般化されません。さらに、ウェブという大規模なコーパスを用いてトレーニングされているため、オンライン上で一般的に見られる固定観念やバイアスが伴います。  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct は、Falcon40B をベースとした、パラメータ数が 400 億の因果的大規模言語モデルで、Baize との混合によってファインチューニングされています。主に英語とフランス語のデータでトレーニングされており、他の言語に対しては適切に一般化されません。さらに、ウェブという大規模なコーパスを用いてトレーニングされているため、オンライン上で一般的に見られる固定観念やバイアスが伴います。  | 
| huggingface-text2text-flan-t5-large | FlanT5L |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) モデルファミリーは、複数のタスクでファインチューニングされ、さらにトレーニングが可能な大規模言語モデルのセットです。これらのモデルは、言語翻訳、テキスト生成、文章の補完、語義の曖昧性解消、要約、質問への回答などのタスクに適しています。Flan T5 L は、多数の言語でトレーニングされた、パラメータ数が 7 億 8,000 万の大規模言語モデルです。Flan T5 L でサポートされている言語のリストについては、JumpStart の[モデルテーブル](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)でモデル ID を使って検索を実行し、表示されたモデルの詳細ページを参照してください。  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) モデルファミリーは、複数のタスクでファインチューニングされ、さらにトレーニングが可能な大規模言語モデルのセットです。これらのモデルは、言語翻訳、テキスト生成、文章の補完、語義の曖昧性解消、要約、質問への回答などのタスクに適しています。Flan T5 XL は、多数の言語でトレーニングされた、パラメータ数が 30 億の大規模言語モデルです。Flan T5 XL でサポートされている言語のリストについては、JumpStart の[モデルテーブル](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)でモデル ID を使って検索を実行し、表示されたモデルの詳細ページを参照してください。  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) モデルファミリーは、複数のタスクでファインチューニングされ、さらにトレーニングが可能な大規模言語モデルのセットです。これらのモデルは、言語翻訳、テキスト生成、文章の補完、語義の曖昧性解消、要約、質問への回答などのタスクに適しています。Flan T5 XXL はパラメータ数が 110 億のモデルです。Flan T5 XXL でサポートされている言語のリストについては、JumpStart の[モデルテーブル](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)でモデル ID を使って検索を実行し、表示されたモデルの詳細ページを参照してください。  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2 は、事前にトレーニングされ、かつファインチューニングされた生成テキストモデルのコレクションで、パラメータ数の規模は 70 億 ～ 700 億です。Llama2-7B は、英語での使用を目的としたパラメータ数が 70 億のモデルであり、さまざまな自然言語生成タスクに適応できます。  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 は、事前にトレーニングされ、かつファインチューニングされた生成テキストモデルのコレクションで、パラメータ数の規模は 70 億 ～ 700 億です。Llama2-7B は、対話のユースケースに最適化されたパラメータ数が 70 億のチャットモデルです。  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 は、事前にトレーニングされ、かつファインチューニングされた生成テキストモデルのコレクションで、パラメータ数の規模は 70 億 ～ 700 億です。Llama2-13B は、英語での使用を目的としたパラメータ数が 130 億のモデルであり、さまざまな自然言語生成タスクに適応できます。  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 は、事前にトレーニングされ、かつファインチューニングされた生成テキストモデルのコレクションで、パラメータ数の規模は 70 億 ～ 700 億です。Llama2-13B は、対話のユースケースに最適化されたパラメータ数が 130 億のチャットモデルです。  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B は、パラメータ数が 70 億の、コードおよび汎用目的の英語テキスト生成モデルです。テキストの要約、分類、テキストの補完、コードの補完など、さまざまなユースケースで使用できます。  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct は、会話のユースケース向けに Mistral 7B をファインチューニングしたバージョンです。このモデルは、英語で公開されているさまざまな会話データセットを使用して調整されています。  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B は、67 億のパラメータを持つデコーダースタイルのトランスフォーマー大規模言語モデルで、英語のテキストとコードのトークン 1 兆個を用いてゼロから事前トレーニングされています。長いコンテキストの処理に適しています。  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct は、短い形式の指示追従タスク向けのモデルです。このモデルは、[databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) および [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf) データセットから派生したデータセットを用いて MPT 7B をファインチューニングすることで構築されています。  | 

# データセットのファイルタイプと入力データ形式
<a name="autopilot-llms-finetuning-data-format"></a>

指示ベースのファインチューニングでは、特定の自然言語処理 (NLP) タスクにおける事前トレーニング済み LLM のパフォーマンスを向上させるために、ラベル付きデータセットを使用します。ラベル付けされた例は、プロンプトとレスポンスのペアとしてフォーマットされ、指示としてフレーズ化されます。



サポートされているデータセットのファイルタイプについては、「[サポートされているデータセットのファイルタイプ](#autopilot-llms-finetuning-dataset-format)」を参照してください。

入力データ形式の詳細については、「[指示ベースのファインチューニングで使用できる入力データ形式](#autopilot-llms-finetuning-input-format)」を参照してください。

## サポートされているデータセットのファイルタイプ
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot は、CSV ファイル (デフォルト) または Parquet ファイルとしてフォーマットされた指示ベースのファインチューニングデータセットをサポートします。
+ **CSV** (カンマ区切り値) は、データを人間が読めるプレーンテキストで格納する行ベースのファイル形式で、幅広いアプリケーションでサポートされているため、データ交換に一般的に採用されています。
+ **Parquet** は、列ベースのファイル形式で、CSV のような人間が読めるファイル形式よりも効率的にデータを格納および処理します。このため、ビッグデータの問題にはより適したオプションです。

**注記**  
データセットは複数のファイルで構成されている場合があり、それぞれが特定のテンプレートに従う必要があります。入力データの形式を設定する方法については、「[指示ベースのファインチューニングで使用できる入力データ形式](#autopilot-llms-finetuning-input-format)」を参照してください。

## 指示ベースのファインチューニングで使用できる入力データ形式
<a name="autopilot-llms-finetuning-input-format"></a>

データセット内の各ファイルは、次の形式に従う必要があります。
+ データセットには、カンマで区切られ名前が付いた 2 つの列、`input` と `output` が含まれている必要があります。Autopilot では、追加の列は許可されません。
+ `input` 列にはプロンプトが含まれ、対応する `output` 列には想定される回答が含まれます。`input` と `output` はどちらも文字列形式です。

次の例は、Autopilot の指示ベースのファインチューニングで使用される入力データ形式を示しています。

```
input,output
"<prompt text>","<expected generated text>"
```

**注記**  
モデルの最適な学習とパフォーマンスを確保するために、1,000 行以上のデータセットを使用することをお勧めします。

さらに、Autopilot は、使用するモデルのタイプに基づいて、データセット内の行数とコンテキストの長さの上限を設定します。
+ データセット内の行数の制限は、複数のファイルを含むデータセット内のすべてのファイルにわたる行の累積数に適用されます。2 つの[チャネルタイプ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)が定義されている場合 (1 つはトレーニング用、もう 1 つは検証用)、制限は両方のチャネル内のすべてのデータセットの行の合計数に適用されます。行数がしきい値を超えると、ジョブは検証エラーで失敗します。
+ データセット内の行の入力または出力の長さが言語モデルのコンテキストで設定された制限を超えると、自動的に切り捨てられます。データセット内の行の 60% 以上が切り捨てられた場合、入力または出力のいずれであっても、Autopilot のジョブは検証エラーで失敗します。

次の表は、各モデルのこれらの制限を示しています。


| JumpStart モデル ID | API リクエストの `BaseModelName` | 行の上限 | コンテキストの長さの上限 | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 10,000 行 | 1024 トークン | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 10,000 行 | 1024 トークン | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 10,000 行 | 1024 トークン | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1,000 行 | 1024 トークン | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1,000 行 | 1024 トークン | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 10,000 行 | 1024 トークン | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 10,000 行 | 1024 トークン | 
| huggingface-text2text-flan-t5-large | FlanT5L | 10,000 行 | 1024 トークン | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 10,000 行 | 1024 トークン | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 10,000 行 | 1024 トークン | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 10,000 行 | 2048 トークン | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 10,000 行 | 2048 トークン | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7,000 行 | 2048 トークン | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7,000 行 | 2048 トークン | 
| huggingface-llm-mistral-7b | Mistral7B | 10,000 行 | 2048 トークン | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 10,000 行 | 2048 トークン | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 10,000 行 | 1024 トークン | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 10,000 行 | 1024 トークン | 

# テキスト生成モデルの学習プロセスを最適化するためのハイパーパラメータ
<a name="autopilot-llms-finetuning-hyperparameters"></a>

次のハイパーパラメータの任意の組み合わせを調整することで、ベースモデルの学習プロセスを最適化できます。これらのパラメータは、すべてのモデルで使用できます。
+ **エポック数**: `epochCount` ハイパーパラメータは、モデルがトレーニングデータセット全体を学習する回数を決定します。トレーニング期間に影響し、適切に設定するとオーバーフィットを防ぐことができます。エポックの数が多いと、ファインチューニングジョブの全体的なランタイム時間が長くなる可能性があります。ファインチューニングジョブが途中で停止しないように、`[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` の `CompletionCriteria` 内に大きな `MaxAutoMLJobRuntimeInSeconds` を設定することをお勧めします。
+ **バッチサイズ**: `batchSize` ハイパーパラメータは、トレーニングのイテレーションごとに使用されるデータサンプルの数を定義します。収束の速度とメモリ使用量に影響する可能性があります。バッチサイズが大きいと、メモリ不足 (OOM) エラーのリスクが増加し、Autopilot で内部サーバーエラーとして表示される場合があります。このようなエラーを確認するには、Autopilot ジョブによって起動されたトレーニングジョブの `/aws/sagemaker/TrainingJobs` ロググループを確認します。これらのログには、 AWS マネジメントコンソールの から CloudWatch でアクセスできます。**[ログ]** を選択し、`/aws/sagemaker/TrainingJobs` **ロググループ**を選択します。OOM エラーを修正するには、バッチサイズを減らします。

  バッチサイズを 1 から開始し、メモリ不足エラーが発生するまで段階的に増やすことをお勧めします。参考として、10 エポックの場合は通常、完了までに最大 72 時間かかります。
+ **学習率**: `learningRate` ハイパーパラメータは、トレーニング中にモデルのパラメータを更新するステップサイズを制御します。これにより、トレーニング中にモデルのパラメータが更新される速度が決まります。学習率が高いと、パラメータが大きなステップサイズで更新されるため、収束が速くなる可能性がありますが、最適化プロセスが最適解をオーバーシュートしてしまい、不安定になる可能性もあります。学習率が低いということは、パラメータが小さなステップサイズで更新されることを意味します。これにより、収束はより安定する可能性がありますが、学習は遅くなります。
+ **学習率のウォームアップステップ**: `learningRateWarmupSteps` ハイパーパラメータは、目標値または最大値に達するまで学習率を徐々に増加させるトレーニングステップの数を指定します。これにより、モデルがより効果的に収束し、初期の学習率が高いときに発生する可能性のある発散や、収束が遅くなるなどの問題を回避できます。

Autopilot のファインチューニング実験でハイパーパラメータを調整する方法と、使用できる値については、「[モデルの学習プロセスを最適化するためにハイパーパラメータを設定する方法](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters)」を参照してください。

# Autopilot で大規模言語モデルをファインチューニングするためのメトリクス
<a name="autopilot-llms-finetuning-metrics"></a>

このセクションでは、ファインチューニングされた大規模言語モデル (LLM) を理解するために使用できるメトリクスについて説明します。Autopilot は、データセットを使用してターゲット LLM を直接ファインチューニングし、デフォルトの目標メトリクスである交差エントロピー損失を改善します。

交差エントロピー損失は、予測確率分布とトレーニングデータ内の単語の実際の分布の不一致を評価するために広く使用されているメトリクスです。交差エントロピー損失を最小限に抑えることで、モデルは、特にテキスト生成に関連するタスクで、コンテキストに沿ったより正確な予測を行うことを学習します。

LLM をファインチューニングすると、生成されたテキストの品質を、さまざまな ROUGE スコアを使用して評価できます。さらに、評価プロセスの一環として、パープレキシティと交差エントロピーのトレーニングおよび検証損失を分析できます。
+ パープレキシティ損失は、モデルがテキストシーケンス内の次の単語をどの程度正しく予測できるかを測定します。値が低いほど、言語とコンテキストをよりよく理解できることを示します。
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE) は、自然言語処理 (NLP) や機械学習の分野で使用され、テキストの要約やテキスト生成など、機械生成テキストの品質を評価する一連のメトリクスです。主に、生成されたテキストと検証データセットの Ground Truth リファレンス (人間が書いた) テキストの類似性を評価します。ROUGE の測定値は、システム生成テキストとリファレンステキストの n グラム (連続する単語のシーケンス) の精度と再現率など、テキストの類似性のさまざまな側面を評価するように設計されています。目標は、モデルがリファレンステキストに存在する情報をどの程度正しくキャプチャしているかを評価することです。

  使用される n グラムのタイプと評価されるテキスト品質の特定の側面に応じて、ROUGE メトリクスにはいくつかのバリアントがあります。

  次のリストには、Autopilot で大規模言語モデルをファインチューニングした後に使用可能な ROUGE メトリクスの名前と説明が含まれています。  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N はプライマリ ROUGE メトリクスであり、システムが生成したテキストとリファレンステキストの間の n グラムの重複を測定します。ROUGE-N を異なる `n` 値 (ここでは `1` または `2`) に調整して、システム生成テキストがリファレンステキストから n グラムをどの程度正しくキャプチャしているかを評価できます。  
**`ROUGE-L`**  
ROUGE-L (ROUGE-Longest Common Subsequence) は、システムが生成したテキストとリファレンステキストの間の共通する最長のサブシーケンスを計算します。このバリアントは、コンテンツの重複に加えて単語の順序も考慮します。  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM (Longest Common Subsequence for Summarization) は、テキスト要約システムを評価するために設計されています。機械生成の要約とリファレンスの要約の間で共通する最長のサブシーケンスを測定することに重点を置いています。ROUGE-L-SUM では、テキスト要約タスクで重要とされる、テキスト内の単語の順序が考慮されます。

# Autopilot モデルのデプロイと予測
<a name="autopilot-llms-finetuning-deploy-models"></a>

大規模言語モデル (LLM) をファインチューニングした後、インタラクティブな予測を取得するエンドポイントを設定することで、リアルタイムのテキスト生成用のモデルをデプロイできます。

**注記**  
パフォーマンスを向上させるために、`ml.g5.12xlarge` でリアルタイム推論ジョブを実行することをお勧めします。または、Falcon-7B-Instruct と MPT-7B-Instruct のテキスト生成タスクには `ml.g5.8xlarge` インスタンスが適しています。  
これらのインスタンスの詳細は、Amazon EC2 が提供するさまざまなインスタンスタイプのうちの「[高速コンピューティング](https://aws.amazon.com/ec2/instance-types/)」カテゴリで確認できます。

## リアルタイムのテキスト生成
<a name="autopilot-llms-finetuning-realtime"></a>

SageMaker API を使用して、ファインチューニングされたモデルを SageMaker AI ホスティングの[リアルタイム推論エンドポイント](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)に手動でデプロイし、次のようにエンドポイントを呼び出して予測を開始できます。

**注記**  
あるいは、Autopilot でファインチューニング実験を作成するときに、自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定については、「[自動デプロイを有効にする方法](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment)」を参照してください。  
また、SageMaker Python SDK と `JumpStartModel` クラスを使用して、Autopilot によってファインチューニングされたモデルで推論を実行することもできます。そのためには、Amazon S3 内にあるモデルのアーティファクトのカスタムロケーションを指定する必要がありますす。モデルを JumpStart モデルとして定義し、推論用にモデルをデプロイする方法については、「[Low-code deployment with the JumpStartModel class](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint)」を参照してください。

1. **候補となる推論用コンテナ定義を取得する**

   [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax) API コールへのレスポンスから取得した `BestCandidate` オブジェクトで `InferenceContainerDefinitions` を見つけることができます。推論用のコンテナ定義とは、トレーニング済みのモデルをデプロイして実行し、予測を行うために設計された、コンテナ化された環境を指します。

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、ジョブ名に推奨されるコンテナ定義を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **SageMaker AI モデルを作成する**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を用いて SageMaker AI モデルを作成します。例として、次の AWS CLI コマンドを参照してください。モデル名には `CandidateName` を使用します。

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --primary-container '<container-definition' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **エンドポイント設定の作成**

   次の AWS CLI コマンド例では、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。
**注記**  
モデルのダウンロード時間が長引いてエンドポイントの作成がタイムアウトしないように、`ModelDataDownloadTimeoutInSeconds = 3600` と `ContainerStartupHealthCheckTimeoutInSeconds = 3600` を設定することをお勧めします。

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \
                       --region '<region>'
   ```

1. **エンドポイントの作成** 

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. **エンドポイントの呼び出し** 

   以下のコマンドは、エンドポイントを呼び出してリアルタイム推論を行います。プロンプトはバイト単位でエンコードする必要があります。
**注記**  
入力プロンプトの形式は、言語モデルによって異なります。テキスト生成プロンプトの形式の詳細については、「[テキスト生成モデルのリアルタイム推論のリクエスト形式](#autopilot-llms-finetuning-realtime-prompt-examples)」を参照してください。

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>
   ```

## テキスト生成モデルのリアルタイム推論のリクエスト形式
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

大規模言語モデル (LLM) には、それぞれに固有のソフトウェア依存関係、ランタイム環境、ハードウェア要件があり、Autopilot がモデルをホストして推論を行う際に推奨されるコンテナに影響する場合があります。さらに、必須となる入力データ形式や予測と出力で予想される形式も、各モデルによって決定されます。

一部のモデルの入力例と推奨されるコンテナを次に示します。
+ 推奨コンテナが `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04` の Falcon モデル

  ```
  payload = {
      "inputs": "Large language model fine-tuning is defined as",
      "parameters": {
          "do_sample": false,
          "top_p": 0.9,
          "temperature": 0.1,
          "max_new_tokens": 128,
          "stop": ["<|endoftext|>", "</s>"]
      }
  }
  ```
+ 推奨コンテナが `djl-inference:0.22.1-fastertransformer5.3.0-cu118` の他のすべてのモデル

  ```
  payload= {
      "text_inputs": "Large language model fine-tuning is defined as"
  }
  ```

# Studio Classic UI を使用して表形式データのリグレッション用または分類用 Autopilot 実験を作成する
<a name="autopilot-automate-model-development-create-experiment-ui"></a>

**重要**  
2023 年 11 月 30 日現在、Autopilot の UI は、[Amazon SageMaker Studio](studio-updated.md) エクスペリエンスの更新の一環として [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) に移行しています。SageMaker Canvas は、データ準備、特徴量エンジニアリング、アルゴリズムの選択、トレーニングと調整、推論などのタスクを対象として、アナリストやシチズンデータサイエンティストにノーコード機能を提供します。ユーザーは、組み込みの視覚化と what-if 分析を活用して、データやさまざまなシナリオを調査できます。また自動予測により、モデルを簡単に実稼働化できます。Canvas は、コンピュータビジョン、需要予測、インテリジェント検索、生成 AI など、さまざまなユースケースをサポートしています。  
 [Studio](studio-updated.md) の以前のエクスペリエンスである [Amazon SageMaker Studio Classic](studio.md) のユーザーは、Studio Classic で Autopilot UI を引き続き使用できます。コーディング経験のあるユーザーは、サポートされている SDK のあらゆる [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を引き続き使用して、技術的な実装を行うことができます。  
Studio Classic でこれまで Autopilot を使用しており、SageMaker Canvas に移行する場合は、SageMaker Canvas アプリケーションを作成して使用できるように、追加のアクセス許可をユーザープロファイルまたは IAM ロールに付与する必要が生じる場合があります。詳細については、「[(オプション) Studio Classic の Autopilot から SageMaker Canvas に移行する](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot)」を参照してください。  
このガイドのすべての UI 関連の手順は、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) に移行する前の Autopilot のスタンドアロン機能に適用されます。これらの手順に従うユーザーは、[Studio Classic](studio.md) を使用する必要があります。

Amazon SageMaker Studio Classic UI を使用して、表形式データの分類問題またはリグレッション問題に関する Autopilot 実験を作成できます。実験の名前、入力データおよび出力データの場所、予測するターゲットデータを UI で指定できます。オプションで、解決する問題のタイプ (リグレッション、分類、多クラス分類) を指定したり、モデリング戦略 (*スタックアンサンブル*または*ハイパーパラメータ最適化*) を選択したり、Autopilot ジョブがデータをトレーニングするために使用するアルゴリズムのリストを選択したりすることもできます。

UI には、モデル候補の作成をナビゲートするのに役立つ説明、トグルスイッチ、ドロップダウンメニュー、ラジオボタンなどが含まれています。実験後は、トライアルを比較して、各モデルの前処理ステップ、アルゴリズム、ハイパーパラメータ範囲の詳細を詳しく調べることができます。オプションで、[説明可能性](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html)のレポートや[パフォーマンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html)のレポートをダウンロードすることもできます。提供された[ノートブック](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )を使用して、自動データ探索の結果や候補となるモデル定義を確認します。

 または、「[AutoML API を使用して表形式データのリグレッションジョブまたは分類ジョブを作成する](autopilot-automate-model-development-create-experiment.md)」で説明されているように Autopilot AutoML API を使用することもできます。

# Autopilot 実験のデフォルトパラメータを設定する (管理者用)
<a name="autopilot-set-default-parameters-create-experiment"></a>

Autopilot では、Studio Classic UI を使用して Autopilot 実験を作成するときに Amazon SageMaker Autopilot の設定を簡素化するために、デフォルト値の設定をサポートしています。管理者は、Studio Classic の[ライフサイクル設定](studio-lcc.md) (LCC) を使用して、設定ファイルにインフラストラクチャ、ネットワーク、セキュリティの値を設定し、`AutoML` ジョブの[詳細設定](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)を事前に入力できます。

これにより、SageMaker AI インスタンス、データソース、出力データ、その他の関連サービスなど、Amazon SageMaker Studio Classic に関連付けられたリソースのネットワーク接続とアクセス許可を完全に制御できます。具体的には、Studio Classic ドメインまたは個々のユーザープロファイルに対して、必要なネットワークアーキテクチャ (Amazon VPC、サブネット、セキュリティグループなど) を設定できます。データサイエンティストは Studio Classic UI を使用して Autopilot 実験を作成する際に、データサイエンス固有のパラメータに集中できます。さらに、管理者はデフォルトの暗号化キーを設定することで、Autopilot 実験を実行するインスタンス上のデータの暗号化を管理できます。

**注記**  
この機能は、アジアパシフィック (香港) オプトインリージョンおよび中東 (バーレーン) オプトインリージョンでは利用できません。

以下のセクションでは、Studio Classic UI を使用して Autopilot 実験を作成する際のデフォルト設定をサポートするパラメータの全リストと、それらのデフォルト値の設定方法を確認できます。

**Topics**
+ [サポートされているデフォルトパラメータのリスト](#autopilot-list-default-parameters-create-experiment)
+ [デフォルトの Autopilot 実験パラメータを設定する](#autopilot-set-default-parameters-create-experiment-howto)

## サポートされているデフォルトパラメータのリスト
<a name="autopilot-list-default-parameters-create-experiment"></a>

以下のパラメータは、Studio Classic UI を使用して Autopilot 実験を作成するときのために、設定ファイルでのデフォルト値の指定がサポートされています。デフォルト値を設定すると、Studio Classic UI の Autopilot の **[実験を作成]** タブで、対応するフィールドに値が自動的に入力されます。各フィールドの詳細については、「[詳細設定 (オプション)](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)」を参照してください。
+ **セキュリティ:** Amazon VPC、サブネット、セキュリティグループ。
+ **Access:** AWS IAM ロール ARNs。
+ **Encryption:** AWS KMS key IDs。
+ **タグ:** SageMaker AI リソースのラベル付けと整理に使用されるキーと値のペア。

## デフォルトの Autopilot 実験パラメータを設定する
<a name="autopilot-set-default-parameters-create-experiment-howto"></a>

管理者は設定ファイルにデフォルト値を指定し、そのファイルを特定のユーザーの Studio Classic 環境内の推奨される場所に手動で配置できます。また、ファイルをライフサイクル設定スクリプト (LCC) に渡して、特定のドメインまたはユーザープロファイルに合わせて Studio Classic 環境を自動化することもできます。
+ 設定ファイルを設定するには、まずデフォルトのパラメータを入力します。

  「[サポートされているデフォルトパラメータのリスト](#autopilot-list-default-parameters-create-experiment)」にリストされているデフォルト値の一部またはすべてを設定するには、管理者は `config.yaml` という名前の設定ファイルを作成します。このファイルの構造は、この[サンプル設定ファイル](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)に従う必要があります。次のスニペットは、サポートされているすべての `AutoML` パラメータを含むサンプル設定ファイルを示しています。このファイルの形式について詳しくは、「[すべてのスキーマ](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/config/config_schema.py)」を参照してください。

  ```
  SchemaVersion: '1.0'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  ```
+ 次に、設定ファイルを推奨パスに[手動でコピーする](#autopilot-intelligent-defaults-manual-setup)か、[ライフサイクル設定](#autopilot-intelligent-defaults-lcc-setup) (LCC) を使用して、設定ファイルを推奨場所に配置します。

  設定ファイルは、ユーザーの Studio Classic 環境内の次の場所の少なくとも 1 つに存在する必要があります。デフォルトでは、SageMaker AI は次の 2 つの場所で設定ファイルを検索します。
  + まず、`/etc/xdg/sagemaker/config.yaml` です。このファイルを管理者設定ファイルと呼びます。
  + 次に、`/root/.config/sagemaker/config.yaml` です。このファイルをユーザー設定ファイルと呼びます。

  管理者設定ファイルを使用して、管理者は一連のデフォルト値を定義できます。オプションで、ユーザー設定ファイルを使用して、管理者設定ファイルに設定されている値を上書きしたり、追加のデフォルトパラメータ値を設定したりできます。

  次のスニペットは、デフォルトパラメータ設定ファイルをユーザーの Studio Classic 環境の*管理者*の場所に書き込むサンプルスクリプトを示しています。`/etc/xdg/sagemaker` を `/root/.config/sagemaker` に置き換えると、ファイルをユーザーの場所に書き込むことができます。

  ```
  ## Sample script with AutoML intelligent defaults
  #!/bin/bash
  
  sudo mkdir -p /etc/xdg/sagemaker
  
  echo "SchemaVersion: '1.0'
  CustomParameters:
    AnyStringKey: 'AnyStringValue'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  " | sudo tee /etc/xdg/sagemaker/config.yaml
  ```
  + **ファイルを手動でコピーする** – 設定ファイルを手動でコピーするには、前のステップで作成した[スクリプト](#autopilot-intelligent-defaults-manual-setup)を Studio Classic ターミナルから実行します。この場合、スクリプトを実行したユーザープロファイルは、自分だけに適用されるデフォルト値で Autopilot 実験を作成できます。
  + **SageMaker AI ライフサイクル設定を作成する** – または、[ライフサイクル設定](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html) (LCC) を使用して Studio Classic 環境のカスタマイズを自動化することもできます。LCC は、Studio Classic アプリケーションの開始などの Amazon SageMaker Studio Classic ライフサイクルイベントによってトリガーされるシェルスクリプトです。このカスタマイズには、カスタムパッケージのインストール、ノートブック拡張の設定、データセットの事前ロード、ソースコードリポジトリのセットアップ、またはこの場合はデフォルトパラメータの事前入力などが含まれます。管理者は LCC を Studio Classic ドメインにアタッチして、そのドメイン内の各ユーザープロファイルのデフォルト値の設定を自動化できます。

    以下のセクションでは、Studio Classic の起動時にユーザーが Autopilot のデフォルトパラメータを自動的に読み込めるようにするライフサイクル設定の作成方法について詳しく説明します。LCC の作成には、SageMaker AI コンソールを使用するか、 AWS CLIを使用するかを選択できます。

------
#### [ Create a LCC from the SageMaker AI Console ]

    以下の手順に従って、デフォルトパラメータを含む LCC を作成してその LCC をドメインまたはユーザープロファイルにアタッチし、SageMaker AI コンソールを使用して LCC で設定されたデフォルトパラメータがあらかじめ入力された状態で Studio Classic アプリケーションを起動します。
    + **SageMaker AI コンソールを使用してデフォルト値を含む[スクリプト](#autopilot-intelligent-defaults-script)を実行するライフサイクル設定を作成するには**
      + SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。
      + 左側で、**[管理設定]** に移動し、**[ライフサイクル設定]** に移動します。
      + **[ライフサイクル設定]** ページから、Studio Classic タブに移動し、**[設定の作成]** を選択します。
      + **[名前]** に英数字と「-」を使用して名前を入力します。ただし、スペースは使用できません。名前に使用できるのは最大 63 文字です。
      + [スクリプト](#autopilot-intelligent-defaults-script)を **[スクリプト]** セクションに貼り付けます。
      + **[設定の作成]** を選択してライフサイクル設定を作成します。これにより、`Kernel gateway app` タイプの LCC が作成されます。
    +  **ライフサイクル設定を Studio Classic ドメイン、スペース、またはユーザープロファイルにアタッチするには**

      「[Attach the lifecycle configuration to Studio Classic domain or user profile](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-console.html#studio-lcc-create-console-step2)」の手順に従って、LCC を Studio Classic ドメインまたは特定のユーザープロファイルにアタッチします。
    +  **アタッチされたライフサイクル設定で Studio Classic アプリケーションを起動するには**

      LCC をドメインまたはユーザープロファイルにアタッチすると、該当するユーザーは、Studio の Studio Classic ランディングページから Studio Classic アプリケーションを起動することで、LCC によって設定されたデフォルト値を自動的に取得できます。これにより、Autopilot 実験を作成するときに Studio Classic UI に自動的に入力されます。

------
#### [ Create a LCC from the AWS CLI ]

     AWS CLIを使って[スクリプト](#autopilot-intelligent-defaults-manual-setup)を実行する Studio Classic アプリケーションを起動するには、以下のスニペットを使用します。この例では、`lifecycle_config.sh` がスクリプトに付けられた名前であることに注意してください。

    開始する前に:
    + [「 からライフサイクル AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)設定を作成する」で説明されている前提条件を完了 AWS CLI して、更新と設定が完了していることを確認します。
    + [OpenSSL](https://www.openssl.org/source/) ドキュメントをインストールします。 AWS CLI コマンドはオープンソースライブラリ *OpenSSL* を使用して、スクリプトを Base64 形式でエンコードします。この要件により、スペースと改行のエンコードによって発生するエラーを防止できます。

    これで、次の 3 つのステップを実行できるようになりました。
    +  **設定スクリプト `lifecycle_config.sh` を参照して新しいライフサイクル設定を作成する**

      ```
      LCC_CONTENT=`openssl base64 -A -in lifecycle_config.sh`
      
      ## Create a new lifecycle config 
      aws sagemaker create-studio-lifecycle-config --region region \
      --studio-lifecycle-config-name lcc-name \
      --studio-lifecycle-config-content $LCC_CONTENT \
      --studio-lifecycle-config-app-type default
      ```

      応答で返された、新しく作成されたライフサイクル設定の ARN を書き留めておきます。この ARN は、ライフサイクル設定をアプリケーションにアタッチするために必要です。
    +  **ステップ 2: ライフサイクル設定を `JupyterServerApp` にアタッチする**

      次の例は、ライフサイクル設定がアタッチされた新しいユーザープロファイルを作成する方法を示しています。既存のユーザープロファイルを更新するには、 AWS CLI [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html) コマンドを使用します。ドメインを作成または更新するには、「[create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html)」および「[update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)」を参照してください。前の手順で取得したライフサイクル設定の ARN を適切な `JupyterServerAppSettings` アプリケーションタイプの設定に追加します。ライフサイクル設定のリストを使うことで、複数のライフサイクル設定を一度に追加できます。

      ```
      # Create a new UserProfile
      aws sagemaker create-user-profile --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --user-settings '{
      "JupyterServerAppSettings": {
        "LifecycleConfigArns":
          ["lifecycle-configuration-arn"]
        }
      }'
      ```

      LCC がドメインまたはユーザープロファイルにアタッチされると、影響を受けるユーザーは[Amazon SageMaker Studio Classic アプリケーションをシャットダウンおよび更新](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-studio.html)するか、 AWS コンソールから新しい Studio Classic アプリケーションを起動して LCC によって設定されたデフォルトを自動的に取得できます。これにより、Autopilot 実験を作成するときに Studio Classic UI に自動的に入力されます。または、 AWS CLI 次のように を使用して新しい Studio Classic アプリケーションを起動することもできます。
    +  **を使用してライフサイクル設定で Studio Classic アプリケーションを起動する AWS CLI**

      ```
      # Create a Jupyter Server application
      aws sagemaker create-app --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --app-type JupyterServer \
      --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \
      --app-name default
      ```

       AWS CLIを使用してライフサイクル設定を作成する方法について詳しくは、「[AWS CLIからライフサイクル設定を作成する](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)」を参照してください。

------

**Studio Classic UI を使用して Autopilot 実験を作成するには**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) にサインインし、左側のナビゲーションペインから **[Studio]** を選択します。次に、ドメインとユーザープロファイルを選択して、**[Studio を開く]** を選択します。

1. Studio で、左上のナビゲーションペインの Studio Classic アイコンを選択します。Studio Classic アプリケーションが開きます。

1. 任意のスペースから Studio Classic アプリケーションを実行するか開きます。あるいは、**Studio Classic スペースを作成**します。**[ホーム]** タブで、**[AutoML]** カードを選択します。これにより、新しい **[AutoML]** タブが開きます。

1. **[AutoML 実験を作成]** を選択します。新しい **[実験を作成]** タブが開きます。

1. **[実験とデータの詳細]** セクションに、以下の情報を入力します。

   1. **実験名** – 現在の のアカウントに一意で AWS リージョン 、最大 63 文字の英数字を使用する必要があります。ハイフン (-) を含めることはできますが、スペースは使用できません。

   1. **入力データ** – 入力データの Amazon Simple Storage Service (Amazon S3) バケットの場所を指定します。この S3 バケットは現在の AWS リージョンに存在する必要があります。URL は、Amazon SageMaker AI が書き込み権限を持つ `s3://` 形式である必要があります。ファイルは CSV 形式または Parquet 形式で、500 行以上が含まれている必要があります。**[参照]** を選択して使用可能なパスをスクロールし、**[プレビュー]** を選択して入力データのサンプルを確認します。

   1. **S3 入力はマニフェストファイルですか** – マニフェストファイルには、入力データの他にメタデータが含まれます。メタデータは、Amazon S3 内のデータの場所を指定します。また、データのフォーマット方法と、モデルのトレーニング時にデータセットのどの属性を使用するかも指定します。ラベル付きデータが `Pipe` モードでストリーミングされている場合、前処理の代わりにマニフェストファイルを使用できます。

   1. **データを自動分割しますか** – Autopilot は、データをトレーニングデータ用と検証データ用に 80% と 20% に分割できます。カスタム分割を希望する場合は、**[分割比率の指定]** を選択できます。検証にカスタムデータセットを使用するには、**[検証セットを提供]** を選択します。

   1. **出力データの場所 (S3 バケット)** – 出力データを保存する S3 バケットの場所の名前。このバケットの URL は、Amazon SageMaker AI が書き込み権限を持つ Amazon S3 形式である必要があります。S3 バケットは現在の AWS リージョンリージョンに存在する必要があります。Autopilot は、これを入力データと同じ場所に作成することもできます。

1. **[次へ: ターゲットと特徴量]** を選択します。**[ターゲットと特徴量]** タブが開きます。

1. **[ターゲットと特徴量]**」セクションで:
   + モデル予測のターゲットとして設定する列を選択します。
   + オプションで、**[サンプルの重み]** セクションでサンプル重み列の名前を渡し、トレーニング中や評価中にデータセットの行に重みを付けるように要求できます。使用可能な目標メトリクスの詳細については、「[Autopilot 加重メトリクス](autopilot-metrics-validation.md#autopilot-weighted-metrics)」を参照してください。
**注記**  
サンプルの重みのサポートは、[アンサンブルモード](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)でのみ使用できます。
   + トレーニング用の特徴量を選択し、そのデータ型を変更することもできます。使用できるデータ型は `Text`、`Numerical`、`Categorical`、`Datetime`、`Sequence`、`Auto` です。デフォルトではすべての特徴量が選択されています。

1. **[次へ: トレーニング方法]** を選択します。**[トレーニング方法]** タブが開きます。

1. **[トレーニング方法]** セクションで、**[アンサンブル]**、**[ハイパーパラメータ最適化 (HPO)]**、または **[自動]** からトレーニングオプションを選択し、Autopilot がデータセットのサイズに基づいてトレーニング方法を自動的に選択できるようにします。各トレーニングモードは、データセットに対して事前定義された一連のアルゴリズムを実行して、モデル候補をトレーニングします。デフォルトでは、Autopilot は特定のトレーニングモードで使用可能なすべてのアルゴリズムを事前に選択します。すべてのアルゴリズムを使用して Autopilot のトレーニング実験を実行することも、独自のサブセットを選択することもできます。

   トレーニングモードと使用可能なアルゴリズムの詳細については、「[トレーニングモードとアルゴリズム](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)」ページの「**Autopilot トレーニングモード**」セクションを参照してください。

1. **[次へ: デプロイと詳細設定]** を選択し、**[デプロイと詳細設定]** タブを開きます。設定には、自動表示エンドポイント名、機械学習の問題タイプ、および実験を実行するための追加の選択肢が含まれています。

   1. **デプロイ設定** — Autopilot はエンドポイントを自動的に作成し、モデルをデプロイします。

      自動生成されたエンドポイントに自動デプロイするか、カスタムデプロイ用のエンドポイント名を指定するには、**[自動デプロイしますか]** の下のトグルを **[はい]** に設定します。Amazon SageMaker Data Wrangler からデータをインポートする場合、Data Wrangler からの変換の有無にかかわらず、最適なモデルを自動デプロイする追加のオプションがあります。
**注記**  
Data Wrangler フローに、`groupby`、`join`、`concatenate` などの複数行の操作が含まれている場合、これらの変換を自動デプロイすることはできません。詳細については、「[データフローでモデルを自動的にトレーニングする](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-autopilot.html)」を参照してください。

   1. **詳細設定 (オプション)** – Autopilot には、問題の種類の定義、Autopilot のジョブとトライアルの時間制約、セキュリティ、暗号化の設定など、実験パラメータを手動で設定するための追加の制御機能があります。
**注記**  
Autopilot では、Studio Classic UI を使用した Autopilot 実験の作成を簡素化するために、デフォルト値の設定をサポートしています。管理者は、Studio Classic の[ライフサイクル設定](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html) (LCC) を使用して、設定ファイルにインフラストラクチャ、ネットワーク、セキュリティの値を設定し、`AutoML` ジョブの*詳細設定*を事前に入力できます。  
管理者が Autopilot 実験のカスタマイズを自動化する方法については、「[Autopilot 実験のデフォルトパラメータを設定する (管理者用)](autopilot-set-default-parameters-create-experiment.md)」を参照してください。

      1. **機械学習の問題タイプ** – Autopilot は、教師あり学習の問題タイプを自動的に選択できます。手動で選択する場合は、**[機械学習の問題タイプの選択]** ドロップダウンメニューを使用できます。デフォルトは **[自動]** であることに注意してください。場合によっては、SageMaker AI が正確に推論できないことがあります。その場合は、ジョブが成功するための値を指定する必要があります。特に、次のタイプから選択できます。
         + **二項分類** – 二項分類は、誰かが病気にかかっているかどうかを判断する診断テストの結果に基づく医療診断など、属性に基づいて、あらかじめ定義された 2 つの相互に排他的なクラスのいずれかに入力データを割り当てます。
         + **回帰** – 回帰では、入力変数 (独立変数または特徴量とも呼ばれる) とターゲット変数 (従属変数とも呼ばれる) との関係を確立します。この関係は、入力変数を連続出力にマッピングする数学関数またはモデルによって取得されます。これは、面積やバスルーム数などの特徴に基づく住宅価格の予測、株式市場の動向、売上高の見積もりなどの特徴量によく使用されます。
         + **多クラス分類** – 多クラス分類では、政治、金融、哲学などのテキストドキュメントに最も関連するトピックの予測のように、属性に基づいて入力データをいくつかのクラスの 1 つに割り当てます。

      1. **ランタイム** – 最大時間制限を定義できます。制限時間に達すると、制限時間を超えたトライアルやジョブは自動的に停止します。

      1. **アクセス** — Amazon SageMaker Studio Classic がユーザーに代わって AWS のサービス (特に SageMaker AI と Amazon S3) への一時的なアクセスを取得するために引き受けるロールを選択できます。ロールが明示的に定義されていない場合、Studio Classic はユーザープロファイルにアタッチされているデフォルトの SageMaker AI 実行ロールを自動的に使用します。

      1. **暗号化** – 保管中のデータのセキュリティを強化し、不正アクセスから保護するために、Amazon S3 バケットと Studio Classic ドメインにアタッチされている Amazon Elastic Block Store (Amazon EBS) ボリューム内のデータを暗号化する暗号化キーを指定できます。

      1. **セキュリティ** – SageMaker AI ジョブを実行する仮想プライベートクラウド (Amazon VPC) を選択できます。Amazon VPC が入力および出力の Amazon S3 バケットにアクセスできることを確認してください。

      1. **プロジェクト** – この Autopilot 実験とモデル出力に関連付ける SageMaker AI プロジェクトの名前を指定します。プロジェクトを指定すると、Autopilot はそのプロジェクトを実験にタグ付けします。これにより、どのモデル出力がこのプロジェクトに関連付けられているかがわかります。

      1. **タグ** – タグはキーと値のペアの配列です。タグを使用して、リソースの目的 AWS のサービス、所有者、環境などのリソースを分類します。

   1. Autopilot 実験を作成する前に、**[次へ: 確認して作成]** を選択して Autopilot 実験の概要を確認してください。

1. **[実験を作成]** を選択します。実験を作成すると、SageMaker AI で Autopilot ジョブが開始されます。Autopilot は、実験の状況、ノートブック内のデータ探索プロセスとモデル候補に関する情報、生成されたモデルとそのレポートのリスト、およびそれらを作成するために使用されたジョブプロファイルを提供します。

   Autopilot ジョブによって生成されるノートブックの詳細については、「[AutoML タスクを管理するために生成される Autopilot ノートブック](autopilot-automate-model-development-notebook-output.md)」を参照してください。各モデル候補とそのレポートの詳細については、「[モデルの詳細を表示する](autopilot-models-details.md)」と「[Autopilot モデルのパフォーマンスレポートを表示する](autopilot-model-insights.md)」を参照してください。

**注記**  
不要な料金が発生しないようにするには: 不要になったモデルをデプロイする場合には、そのデプロイ中に作成されたエンドポイントとリソースを削除します。リージョン別のインスタンスの料金については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing/)」を参照してください。

# Amazon SageMaker Autopilot のサンプルノートブック
<a name="autopilot-example-notebooks"></a>

以下のノートブックは、Autopilot のさまざまな使用ケースに対応する実践的なハンズオン例として役立ちます。

Autopilot のノートブックはすべて、SageMaker AI GitHub サンプルリポジトリの [https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot) ディレクトリにあります。

ノートブックに直接アクセスして実行するには、Studio Classic 内で Git リポジトリ全体のクローンを作成することをお勧めします。Studio Classic で Git リポジトリのクローンを作成する方法については、「[Amazon SageMaker Studio Classicで Git レポジトリのクローンを作成する](studio-tasks-git.md)」を参照してください。


| **ユースケース** | **説明** | 
| --- | --- | 
| [サーバーレス推論](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/autopilot-serverless-inference) |  デフォルトでは、Autopilot は生成されたモデルをリアルタイムの推論エンドポイントにデプロイすることができます。このリポジトリのノートブックでは、`ENSEMBLING` および `HYPERPARAMETER OPTIMIZATION (HPO)` モードでトレーニングされた Autopilot モデルをサーバーレスエンドポイントにデプロイする方法を示しています。サーバーレスエンドポイントは、コンピューティングリソースを自動的に起動し、トラフィックに応じてスケールインおよびスケールアウトできるため、インスタンスタイプを選択したり、スケーリングポリシーを管理したりする必要がなくなります。  | 
|  [カスタム機能選択](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/custom-feature-selection)  |  Autopilot はデータセットを検査し、いくつかの候補を実行して、データの前処理ステップ、機械学習アルゴリズム、およびハイパーパラメータの最適な組み合わせを見つけ出します。リアルタイムエンドポイントにもバッチ処理にも簡単にデプロイできます。 場合によっては、Autopilot にカスタムデータ処理コードを柔軟に組み合わせることが必要になる場合があります。例えば、データセットに多数の独立変数が含まれている場合、最初に無関係な変数を削除するカスタム機能選択ステップを組み込むことができます。こうして得られたより小さなデータセットを使用して、Autopilot ジョブを実行できます。最終的には、リアルタイムまたはバッチ処理のために、カスタム処理コードと Autopilot のモデルの両方を含めることもできます。  | 
|  [パイプラインの例](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/sagemaker-autopilot-pipelines)  |  Autopilot は ML モデルの構築プロセスを効率化しますが、MLOps のエンジニアは依然として、本番環境でエンドツーエンドの ML ワークフローの作成、自動化、管理を担当しています。SageMaker Pipelines は、データの前処理、モデルのトレーニング、ハイパーパラメータのチューニング、モデル評価、デプロイなど、ML ライフサイクルのさまざまなステップの自動化を支援します。このノートブックは、SageMaker Pipelines のエンドツーエンドの AutoML トレーニングワークフローに Autopilot を組み込む方法のデモンストレーションとして役立ちます。Pipelines 内で Autopilot 実験を開始するには、Pipelines [Lambda](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-lambda) または [Processing](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-processing) ステップを使用してカスタム統合コードを記述して、モデル構築ワークフローを作成する必要があります。詳細については、「[Move Amazon SageMaker Autopilot ML models from experimentation to production using Amazon SageMaker Pipelines](https://aws.amazon.com/blogs/machine-learning/move-amazon-sagemaker-autopilot-ml-models-from-experimentation-to-production-using-amazon-sagemaker-pipelines/)」を参照してください。 あるいは、[Ensembling モード](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)で Autopilot を使用する場合は、「[SageMaker Pipeline's native AutoML step](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/sagemaker-autopilot-pipelines/autopilot_pipelines_demo_notebook.ipynb)」でネイティブ AutoML ステップの使用方法を示すノートブックの例を参照できます。Autopilot が Pipelines 内のネイティブステップとしてサポートされたことで、自動トレーニングステップ ([AutoMLStep](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-automl)) を Pipelines に追加し、アンサンブルモードで Autopilot 実験を呼び出すことができるようになりました。  | 
| [Amazon SageMaker Autopilot を使用したダイレクトマーケティング](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/sagemaker_autopilot_direct_marketing.html) |  このノートブックでは、[銀行マーケティングデータセット](https://archive.ics.uci.edu/ml/datasets/bank+marketing)を使用して、顧客が銀行で定期預金を申し込むかどうかを予測する方法を示します。このデータセットで Autopilot を使用し、さまざまな候補パイプラインに含まれるオプションを検討することで、最も正確な機械学習パイプラインを得ることができます。Autopilot は、2 ステップの手順で各候補を生成します。最初のステップでは、データセットに対して自動化された特徴量エンジニアリングを実行します。2 番目のステップでは、モデルを生成するためにアルゴリズムをトレーニングおよび調整します。このノートブックには、モデルのトレーニング方法と、モデルをデプロイして最適な候補を使用してバッチ推論を実行する方法の手順が含まれています。  | 
| [Amazon SageMaker Autopilot を使用したカスタマーチャーン予測](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn.html) |  このノートブックでは、機械学習を使用して不満を感じている顧客を自動的に特定する方法 (カスタマーチャーン予測とも呼ばれます) について説明します。このサンプルでは、公開されているデータセットを分析し、そのデータセットに対して特徴量エンジニアリングを実行する方法を示しています。次に、トレーニングアルゴリズムに最適なハイパーパラメータとともに、最もパフォーマンスの高いパイプラインを選択して、モデルを調整する方法を示します。最後に、ホストされたエンドポイントにモデルをデプロイする方法と、その予測をグラウンドトゥルースに照らして評価する方法を示します。ただし、機械学習モデルから完全な予測が得られることはめったにありません。したがって、このノートブックでは、機械学習使用の財務的結果を決定する際に、予測ミスの相対コストをどのように取り込むかについても説明します。  | 
| [Amazon SageMaker Autopilot とバッチ変換 (Python SDK) を使用した上位候補によるカスタマーチャーン予測](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn_high_level_with_evaluation.html) |  このノートブックでも、機械学習を使用して不満を感じている顧客を自動的に特定する方法 (カスタマーチャーン予測とも呼ばれます) について説明します。このノートブックでは、推論確率を取得するようにモデルを設定して、上位 N 個のモデルを選択し、評価のために保留テストセットでバッチ変換を行う方法を示します。  このノートブックは 2020 年 6 月 19 日にリリースされた SageMaker Python SDK 1.65.1 以降で動作します。   | 
| [Amazon SageMaker Autopilot への独自のデータ処理コードの持ち込み](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/custom-feature-selection/Feature_selection_autopilot.html) |  このノートブックでは、Amazon SageMaker Autopilot の使用時にカスタムデータ処理コードを組み込んでデプロイする方法について説明します。これにより、Autopilot ジョブに無関係な変数を削除するカスタムの特徴選択ステップが追加されます。次に、Autopilot によって生成されたカスタム処理コードとモデルの両方をリアルタイムエンドポイントに、またはバッチ処理用に、デプロイする方法について説明します。  | 
| その他のノートブック | ルートディレクトリには、[batch transform](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/ap-batch-transform.ipynb)、[time-series forecasting](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)、および他のユースケースを説明するノートブックが他にもあります。 | 

# 動画: Autopilot を使用して機械学習プロセスを自動化および探索する
<a name="autopilot-videos"></a>

ここでは、Studio Classic を使用した Amazon SageMaker Autopilot 機能について説明する動画シリーズを紹介します。これらのシリーズでは、AutoML ジョブを開始する方法、データを分析して前処理する方法、候補モデルで特徴量エンジニアリングおよびハイパーパラメータを最適化する方法、結果のモデルメトリクスを視覚化して比較する方法を示します。

**Topics**
+ [Amazon SageMaker Autopilot で AutoML ジョブを開始する](#autopilot-video-start-automl-job)
+ [Autopilot で自動化されたデータ探索と特徴量エンジニアリングをレビューします。](#autopilot-video-generated-notebooks)
+ [モデルを調整してパフォーマンスを最適化する](#autopilot-video-optimizing-model-performance)
+ [最適なモデルを選択およびデプロイする](#autopilot-video-choose-and-deploy-the-best-model)
+ [Amazon SageMaker Autopilot チュートリアル](#autopilot-walkthrough)

## Amazon SageMaker Autopilot で AutoML ジョブを開始する
<a name="autopilot-video-start-automl-job"></a>

この動画では、 Autopilot で AutoML ジョブを開始する方法を示します (所要時間: 8:41)。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qMEtqJPhqpA/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qMEtqJPhqpA)


## Autopilot で自動化されたデータ探索と特徴量エンジニアリングをレビューします。
<a name="autopilot-video-generated-notebooks"></a>

この動画では、Amazon SageMaker Autopilot によって生成されたデータ探索と候補定義ノートブックをレビューする方法について説明します (所要時間: 10:04)。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/WsfRAeGzgm8/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/WsfRAeGzgm8)


## モデルを調整してパフォーマンスを最適化する
<a name="autopilot-video-optimizing-model-performance"></a>

この動画では、ハイパーパラメータ調整を使用してトレーニング中にモデルのパフォーマンスを最適化する方法について説明します (所要時間: 4:59)。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/KZSTsWrDGXs/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/KZSTsWrDGXs)


## 最適なモデルを選択およびデプロイする
<a name="autopilot-video-choose-and-deploy-the-best-model"></a>

この動画では、ジョブメトリクスを使用して最適なモデルを選択する方法とそのデプロイ方法を示します (所要時間: 5:20)。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/vRHyX3kDstI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/vRHyX3kDstI)


## Amazon SageMaker Autopilot チュートリアル
<a name="autopilot-walkthrough"></a>

この動画では、Amazon SageMaker Autopilot で最初にバイナリ分類モデルを自動的に作成するエンドツーエンドのデモについて説明します。自動生成されたノートブックを使用して、候補モデルがどのように作成され、最適化されているかがわかります。また、Amazon SageMaker Experiments で上位候補も取り上げます。最後に、最上位の候補 (XGBoost に基づく) をデプロイし、SageMaker Model Monitor によるデータキャプチャを設定します。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/DRjOOaR2prQ/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/DRjOOaR2prQ)


# Autopilot のクォータ
<a name="autopilot-quotas"></a>

Amazon SageMaker Autopilot の使用時に利用可能なリソースを制限するクォータがあります。引き上げることができる制限と、そうでない制限があります。

**注記**  
次のセクションで説明するリソースクォータは、Amazon SageMaker Studio Classic 3.22.2 以降のバージョンで有効です。SageMaker Studio Classic のバージョンを更新する方法については、「[SageMaker Studio Classic とアプリケーションをシャットダウンして更新する](studio-tasks-update.md)」を参照してください。

**Topics**
+ [増やすことができるクォータ](#autopilot-quotas-limits-increasable)
+ [リソースクォータ](#autopilot-quotas-resource-limits)

## 増やすことができるクォータ
<a name="autopilot-quotas-limits-increasable"></a>

次の表に、引き上げることができるクォータのリソース制限を示します。


| リソース | リージョン | デフォルトの制限 | 引き上げることができる最大 | 
| --- | --- | --- | --- | 
| 入力データセットのサイズ | すべて | 100 GB | 数百 GB | 
| 1 つの Parquet ファイルのサイズ\$1 | すべて | 2 GB | 該当なし | 
| サブサンプリングのターゲットデータセットサイズ\$1\$1 | すべて | 5 GB | 数百 GB | 
| 同時 Autopilot ジョブの数 | us-east-1、us-east-2、us-west-2、ap-northeast-1、eu-west-1、eu-central-1 | 4 | 数百 | 
| 同時 Autopilot ジョブの数 | ap-northeast-2、ap-southeast-2、eu-west-2、ap-southeast-1 | 2 | 数百 | 
| 同時 Autopilot ジョブの数 | その他のすべてのリージョン | 1 | 10 | 

**注記**  
\$1この 2 GB のサイズ制限は、単一の圧縮された Parquet ファイルに対するものです。複数の圧縮された Parquet ファイルを含む Parquet データセットを、入力データセットの最大サイズまで提供できます。これらのファイルを解凍すると、それぞれのサイズが拡大する場合があります。  
\$1\$1Autopilot では、ターゲットデータセットサイズより大きい入力データセットを自動的にサブサンプリングします。同時に、クラスの不均衡を考慮し、まれなクラスラベルを保持します。

**クォータの引き上げをリクエストするには:**

1. [ Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas)を開きます。

1. 引き上げるクォータを選択し、**[アカウントレベルでの引き上げをリクエスト]** を選択します。

1. **[クォータ値を引き上げる]** に、リクエストする新しい制限値を入力します。

1. **[リクエスト]** を選択します。

## リソースクォータ
<a name="autopilot-quotas-resource-limits"></a>

次の表には、AWS リージョン における Amazon SageMaker Autopilot ジョブのランタイムリソース制限が含まれています。


| リソース | Autopilot ジョブあたりの制限 | 
| --- | --- | 
| Autopilot ジョブの最大ランタイム | 30 日間 | 

# Autopilot の API リファレンスガイド
<a name="autopilot-reference"></a>

このセクションでは、Amazon SageMaker Autopilot リソース (AutoML ジョブ) をプログラムで作成および管理するための HTTP サービス REST API のサブセットについて説明します。

選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。

## AutoML API のアクション
<a name="autopilot-api-actions"></a>

このリストでは、AutoML ジョブをプログラムで管理するために Reference API で使用できる操作の詳細を説明します。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html)

**注記**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) と [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) は [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) と [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) の新しいバージョンで、下位互換性があります。  
`CreateAutoMLJobV2` の使用をお勧めします。`CreateAutoMLJobV2` は以前のバージョンの `CreateAutoMLJob` と同じ表形式の問題タイプだけでなく、画像やテキストの分類、時系列予測などの表形式以外の問題タイプも管理できます。  
`CreateAutoMLJob` を `CreateAutoMLJobV2` に移行する方法に関するガイドラインについては、「[Migrate a CreateAutoMLJob to CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html#autopilot-create-experiment-api-migrate-v1-v2)」を参照してください。

## AutoML API のデータ型
<a name="autopilot-api-data-types"></a>

このリストには、上記のアクションでインバウンドリクエストまたはアウトバウンド応答として使用される API AutoML オブジェクトの詳細が記載されています。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html)