翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
既存のエンドポイントの推論レコメンデーションを取得する
推論レコメンデーションジョブは、レコメンデーションインスタンスタイプおよび既存のエンドポイントに対して一連のロードテストを実行します。推論レコメンデーションジョブでは、モデルバージョンの登録時に指定したサンプルデータを使用したロードテストに基づくパフォーマンスメトリクスを使用します。
既存の SageMaker AI Inference エンドポイントをベンチマークして推論レコメンデーションを取得し、エンドポイントのパフォーマンスを向上させるのに役立てることができます。既存の SageMaker AI Inference エンドポイントのレコメンデーションを取得する手順は、エンドポイントを作成せずに推論レコメンデーションを取得する手順と似ています。既存のエンドポイントをベンチマークする際に注意すべき機能の除外事項がいくつかあります。
-
既存のエンドポイントは、Inference Recommender ジョブごとに 1 つしか使用できません。
-
エンドポイントで設定できるバリアントは 1 つだけです。
-
自動スケーリングを有効にするエンドポイントは使用できません。
-
この機能はリアルタイム推論でのみサポートされています。
-
この機能はリアルタイムマルチモデルエンドポイントをサポートしていません。
警告
Inference Recommender ジョブは、ライブトラフィックを処理するプロダクションエンドポイントでは実行しないことを強くお勧めします。ベンチマーク中の合成負荷はプロダクションエンドポイントに影響を及ぼし、スロットリングを引き起こしたり、ベンチマーク結果が不正確になったりする可能性があります。比較目的では、非本番環境または開発者向けエンドポイントを使用することをおすすめします。
以下のセクションでは、Amazon SageMaker Inference Recommender を使用して、AWS SDK for Python (Boto3) および AWS CLI を使用するモデルタイプに基づいて既存のエンドポイントのレコメンデーションを作成します。
注記
推論レコメンデーションジョブを作成する前に、Amazon SageMaker Inference Recommender を使用するための前提条件が満たされていることを確認してください。
前提条件
SageMaker AI Inference エンドポイントをまだ作成していない場合は、エンドポイント作成せずに推論レコメンデーションを取得するか、「エンドポイントを作成し、モデルをデプロイする」の手順に従ってリアルタイム推論エンドポイントを作成します。
既存のエンドポイントの推論レコメンデーションジョブを作成する
AWS SDK for Python (Boto3) または AWS CLI を使用して、推論レコメンデーションをプログラムで作成します。推論レコメンデーションのジョブ名、既存の SageMaker AI 推論エンドポイント名、AWS IAM ロール ARN、入力設定、モデルをモデルレジストリに登録したときのモデルパッケージ ARN を指定します。
推論レコメンデーションジョブの結果を取得する
推論レコメンデーションジョブの結果は、標準的な推論レコメンデーションジョブと同じ手順でプログラムを使用して収集できます。詳細については、「推論レコメンデーションジョブの結果を取得する」を参照してください。
既存のエンドポイントの推論レコメンデーションジョブの結果を取得すると、次のような JSON レスポンスが返されるはずです。
{ "JobName":"job-name", "JobType": "Default", "JobArn": "arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id", "RoleArn":"iam-role-arn", "Status": "COMPLETED", "CreationTime": 1664922919.2, "LastModifiedTime": 1664924208.291, "InputConfig": { "ModelPackageVersionArn": "arn:aws:sagemaker:region:account-id:model-package/resource-id", "Endpoints": [ { "EndpointName":"endpoint-name"} ] }, "InferenceRecommendations": [ { "Metrics": { "CostPerHour": 0.7360000014305115, "CostPerInference": 7.456940238625975e-06, "MaxInvocations": 1645, "ModelLatency": 171 }, "EndpointConfiguration": { "EndpointName":"sm-endpoint-name", "VariantName":"variant-name", "InstanceType": "ml.g4dn.xlarge", "InitialInstanceCount": 1 }, "ModelConfiguration": { "EnvironmentParameters": [ { "Key": "TS_DEFAULT_WORKERS_PER_MODEL", "ValueType": "string", "Value": "4" } ] } } ], "EndpointPerformances": [ { "Metrics": { "MaxInvocations": 184, "ModelLatency": 1312 }, "EndpointConfiguration": { "EndpointName":"endpoint-name"} } ] }
最初の数行には、推論レコメンデーションジョブ自体に関する情報が示されています。これには、ジョブ名、ロール ARN、作成時間と最新の変更時間が含まれます。
InferenceRecommendations ディクショナリには、Inference Recommender 推論レコメンデーションのリストが含まれています。
EndpointConfiguration のネストされたディクショナリには、インスタンスタイプ (InstanceType) レコメンデーションが、レコメンデーションジョブの作成中に使用されたエンドポイントとバリアント名 (デプロイされた AWS 機械学習モデル) と共に含まれています。
Metrics のネストされたディクショナリには、リアルタイムエンドポイントの 1 時間あたりの推定コスト (CostPerHour) (USD)、リアルタイムエンドポイントの推論あたりの推定コスト (CostPerInference) (USD)、エンドポイントに送信される InvokeEndpoint リクエストの 1 分あたりの最大数 (MaxInvocations)、モデルが SageMaker AI に応答するのにかかった時間間隔 (ミリ秒単位) である、モデルのレイテンシー (ModelLatency) に関する情報が含まれています。モデルのレイテンシーには、リクエストを送信し、モデルのコンテナからレスポンスを取得するのにかかるローカル通信時間と、コンテナ内で推論を完了するのにかかる時間が含まれます。
EndpointPerformances のネストされたディクショナリには、レコメンデーションジョブが実行された既存のエンドポイントの名前 (EndpointName) とエンドポイントのパフォーマンスメトリクス (MaxInvocations と ModelLatency) が含まれています。