翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for Python (Boto3)、、Studio Classic AWS CLI、または SageMaker AI コンソールを使用して、推論レコメンデーションジョブの結果をプログラムで収集します。
推論レコメンデーションが完了したら、DescribeInferenceRecommendationsJob
を使用して、ジョブの詳細とレコメンデーションを取得します。推論レコメンデーションジョブを作成したときに使用したジョブ名を指定します。
job_name=
'<INSERT>'
response = sagemaker_client.describe_inference_recommendations_job( JobName=job_name)
レスポンスオブジェクトを出力します。前のコードサンプルで、レスポンスを response
という名前の変数に保存しました。
print(response['Status'])
ここでは、次の例のような JSON レスポンスが返されます。この例はリアルタイム推論に推奨されるインスタンスタイプを示していることに注意してください (サーバーレス推論レコメンデーションを示す例については、この後の例を参照してください)。
{
'JobName': 'job-name'
,
'JobDescription': 'job-description'
,
'JobType': 'Default',
'JobArn': 'arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
',
'Status': 'COMPLETED',
'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()),
'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()),
'InputConfig': {
'ModelPackageVersionArn': 'arn:aws:sagemaker:region
:account-id
:model-package/resource-id
',
'JobDurationInSeconds': 0
},
'InferenceRecommendations': [{
'Metrics': {
'CostPerHour': 0.20399999618530273,
'CostPerInference': 5.246913588052848e-06,
'MaximumInvocations': 648,
'ModelLatency': 263596
},
'EndpointConfiguration': {
'EndpointName': 'endpoint-name'
,
'VariantName': 'variant-name'
,
'InstanceType': 'ml.c5.xlarge',
'InitialInstanceCount': 1
},
'ModelConfiguration': {
'Compiled': False,
'EnvironmentParameters': []
}
},
{
'Metrics': {
'CostPerHour': 0.11500000208616257,
'CostPerInference': 2.92620870823157e-06,
'MaximumInvocations': 655,
'ModelLatency': 826019
},
'EndpointConfiguration': {
'EndpointName': 'endpoint-name'
,
'VariantName': 'variant-name'
,
'InstanceType': 'ml.c5d.large',
'InitialInstanceCount': 1
},
'ModelConfiguration': {
'Compiled': False,
'EnvironmentParameters': []
}
},
{
'Metrics': {
'CostPerHour': 0.11500000208616257,
'CostPerInference': 3.3625731248321244e-06,
'MaximumInvocations': 570,
'ModelLatency': 1085446
},
'EndpointConfiguration': {
'EndpointName': 'endpoint-name'
,
'VariantName': 'variant-name'
,
'InstanceType': 'ml.m5.large',
'InitialInstanceCount': 1
},
'ModelConfiguration': {
'Compiled': False,
'EnvironmentParameters': []
}
}],
'ResponseMetadata': {
'RequestId': 'request-id'
,
'HTTPStatusCode': 200,
'HTTPHeaders': {
'x-amzn-requestid': 'x-amzn-requestid'
,
'content-type': 'content-type'
,
'content-length': '1685',
'date': 'Tue, 26 Oct 2021 20:31:10 GMT'
},
'RetryAttempts': 0
}
}
最初の数行には、推論レコメンデーションジョブ自体に関する情報が示されています。これには、ジョブ名、ロール ARN、作成時間と削除時間が含まれます。
InferenceRecommendations
ディクショナリには、Inference Recommender 推論レコメンデーションのリストが含まれています。
EndpointConfiguration
ネストされたディクショナリには、レコメンデーションジョブ中に使用されたエンドポイントとバリアント名 (デプロイされた AWS 機械学習モデルInstanceType
) とともに、インスタンスタイプ () レコメンデーションが含まれます。Amazon CloudWatch Events でのモニタリングには、エンドポイントとバリアント名を使用できます。詳細については「Amazon CloudWatch で Amazon SageMaker AI をモニタリングするためのメトリクス」を参照してください。
Metrics
ネストされたディクショナリには、リアルタイムエンドポイントの 1 時間あたりの推定コスト (CostPerHour
)、リアルタイムエンドポイントの推論あたりの推定コスト (CostPerInference
)、エンドポイントに送信される 1 分あたりの予想最大InvokeEndpoint
リクエスト数 (MaxInvocations
)、およびモデルが SageMaker AI に応答するのにかかった間隔 (マイクロ秒ModelLatency
単位) であるモデルレイテンシー () に関する情報が含まれています。モデルのレイテンシーには、リクエストを送信し、モデルのコンテナからレスポンスを取得するのにかかるローカル通信時間と、コンテナ内で推論を完了するのにかかる時間が含まれます。
以下の例は、サーバーレス推論レコメンデーションを返すように設定された推論レコメンデーションジョブのレスポンスの InferenceRecommendations
部を示しています。
"InferenceRecommendations": [
{
"EndpointConfiguration": {
"EndpointName": "value
",
"InitialInstanceCount": value
,
"InstanceType": "value
",
"VariantName": "value
",
"ServerlessConfig": {
"MaxConcurrency": value
,
"MemorySizeInMb": value
}
},
"InvocationEndTime": value
,
"InvocationStartTime": value
,
"Metrics": {
"CostPerHour": value
,
"CostPerInference": value
,
"CpuUtilization": value
,
"MaxInvocations": value
,
"MemoryUtilization": value
,
"ModelLatency": value
,
"ModelSetupTime": value
},
"ModelConfiguration": {
"Compiled": "False",
"EnvironmentParameters": [],
"InferenceSpecificationName": "value
"
},
"RecommendationId": "value
"
}
]
サーバーレス推論のレコメンデーションは、リアルタイム推論の結果と同様に解釈できます。ただし、ServerlessConfig
は例外で、MemorySizeInMB
が指定され、MaxConcurrency =
1
のときにサーバーレスエンドポイントに対して返されるメトリクスを示します。エンドポイントで可能なスループットを向上させるには、MaxConcurrency
の値を直線的に増加します。たとえば、推論レコメンデーションによって MaxInvocations
が 1000
として示されている場合、MaxConcurrency
を 2
に増加すると、2000 MaxInvocations
がサポートされます。これは特定の時点までしか当てはまらず、モデルやコードによって異なる可能性があることに注意してください。サーバーレスレコメンデーションではメトリクス ModelSetupTime
も測定され、これにより、サーバーレスエンドポイントでコンピューターリソースを起動するのにかかる時間 (マイクロ秒単位) が測定されます。サーバーレスエンドポイントの設定について詳しくは、サーバーレス推論のドキュメントを参照してください。
レコメンデーションジョブの結果について詳しくは、「レコメンデーション結果」を参照してください。