本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
获取现有端点的推理推荐
推理推荐作业对推荐的实例类型或现有端点运行一组负载测试。推理推荐作业使用的性能指标基于使用模型版本注册期间提供的示例数据执行的负载测试。
您可以对现有推理端点进行基准测试并获取 SageMaker 推理建议,以帮助您提高终端节点的性能。获取现有 SageMaker 推理端点推荐的过程与获取不带端点的推理建议的过程类似。在对现有端点进行基准测试时,要记下几个功能排除项:
警告
我们强烈建议您不要在处理实时流量的生产端点上运行 Inference Recommender 作业。基准测试期间的合成负载可能会影响您的生产端点并导致限制,或提供不准确的基准测试结果。我们建议您使用非生产端点或开发人员端点进行比较。
以下各节演示如何使用 Amazon SageMaker 推理推荐器根据您的模型类型为现有终端节点创建推理建议,使用适用于 AWS SDK Python (Boto3) 和。 AWS CLI
注意
在创建 Inference Recommender 推荐作业之前,请先确保您满足使用 Amazon SageMaker 推理推荐器的先决条件。
先决条件
如果您还没有 SageMaker 推理终端节点,则可以在没有终端节点的情况下获取推理建议,也可以按照创建终端节点并部署模型中的说明创建实时推理端点。
为现有端点创建推理推荐作业
使用 AWS SDK for Python (Boto3)或以编程方式创建推理建议。 AWS CLI为您的推理推荐指定作业名称、现有 SageMaker 推理端点的名称、 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
嵌套字典包含有关实时终端节点每小时的估计成本 (CostPerHour
)、实时终端节点的每次推理的估计成本 (CostPerInference
)(以美元计)、发送到终端节点的每分钟预期最大InvokeEndpoint
请求数 (MaxInvocations
) 以及模型延迟 (ModelLatency
)(即模型响应所花费的时间间隔(以毫秒为单位)的信息。 SageMaker模型延迟包括发送请求以及从模型容器提取响应所花费的本地通信时间,以及在容器中完成推理所用的时间。
EndpointPerformances
嵌套字典包含运行推荐作业的现有端点的名称 (EndpointName
) 和您的端点的性能指标(MaxInvocations
和 ModelLatency
)。