リアルタイム予測 - Amazon SageMaker AI

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

リアルタイム予測

リアルタイム予測は、即時応答を必要とするアプリケーションや個々のデータポイントの予測など、その場で予測を生成する必要がある場合に役立ちます。

AutoML モデルをリアルタイムエンドポイントとしてデプロイすることで、予測をオンデマンドで生成し、新しいデータを受信してから予測を取得するまでの間のレイテンシーを最小限に抑えることができます。このため、リアルタイム予測は、即時の、パーソナライズされた、またはイベント駆動型の予測機能を必要とするアプリケーションに適しています。

リアルタイム予測の場合、データセットは入力データセットのサブセットである必要があります。リアルタイムエンドポイントの入力データサイズは約 6 MB で、応答タイムアウトの制限は 60 秒です。一度に 1 つまたはいくつかの項目を取り込むことをお勧めします。

SageMaker APIs を使用して AutoML ジョブの最適な候補を取得し、その候補を使用して SageMaker AI エンドポイントを作成できます。

または、Autopilot 実験の作成時に自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定については、「自動デプロイを有効にする方法」を参照してください。

最適なモデル候補を使用して SageMaker AI エンドポイントを作成するには:
  1. AutoML ジョブの詳細を取得します。

    次の AWS CLI コマンド例では、DescribeAutoMLJobV2 API を使用して、最適なモデル候補に関する情報を含む AutoML ジョブの詳細を取得します。

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. 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 変数に保存します。

  3. 最適な候補コンテナ定義を使用して SageMaker AI モデルを作成します。

    前のステップのコンテナ定義を使用して、CreateModel API を使用して SageMaker AI モデルを作成します。 CreateModel

    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」を参照してください。

  4. モデルを使用して SageMaker AI エンドポイント設定を作成します。

    次の AWS CLI コマンドは、CreateEndpointConfig API を使用してエンドポイント設定を作成します。

    aws sagemaker create-endpoint-config \ --production-variants file://production-variants.json \ --region 'region'

    production-variants.json ファイルには、モデル名とインスタンスタイプを含むモデル設定が含まれています。

    注記

    リアルタイム予測には m5.12xlarge インスタンスを使用することをお勧めします。

    [ { "VariantName": "variant-name", "ModelName": "model-name", "InitialInstanceCount": 1, "InstanceType": "m5.12xlarge" } ] }
  5. エンドポイント設定を使用して SageMaker AI エンドポイントを作成します。

    次の AWS CLI 例では、CreateEndpoint API を使用してエンドポイントを作成します。

    aws sagemaker create-endpoint \ --endpoint-name 'endpoint-name>' \ --endpoint-config-name 'endpoint-config-name' \ --region 'region'

    DescribeEndpoint API を使用して、リアルタイム推論エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

    aws sagemaker describe-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region'

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

  6. 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 ファイルには予測用の入力データが含まれます。