本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
定义扩展策略
在向模型添加扩展策略之前,请将策略配置另存为文本文件中的一个JSON块。在调用 Amazon Command Line Interface (Amazon CLI) 或 Application Auto Scal API ing 时,您可以使用该文本文件。您可以通过选择适当的 CloudWatch 指标来优化扩展。但是,在生产环境中使用自定义指标之前,必须使用自定义指标测试 auto Scaling。
本节向您展示目标跟踪扩展策略的策略配置示例。
主题
指定预定义的指标(CloudWatch 指标: InvocationsPerInstance)
以下是变体的目标跟踪策略配置示例,该变体将每个实例的平均调用次数保持在 70。将此配置保存在名为 config.json
的文件中。
{ "TargetValue":
70.0
, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } }
有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration中的。
指定高分辨率的预定义指标(CloudWatch 指标: ConcurrentRequestsPerModel 和 ConcurrentRequestsPerCopy)
使用以下高分辨率 CloudWatch 指标,您可以为模型收到的并发请求量设置扩展策略:
- ConcurrentRequestsPerModel
-
模型容器收到的并发请求数。
- ConcurrentRequestsPerCopy
-
推理组件收到的并发请求数。
这些指标跟踪您的模型容器同时处理的请求数量,包括容器内排队的请求。对于以令牌流形式发送推理响应的模型,这些指标会跟踪每个请求,直到模型发送请求的最后一个令牌。
作为高分辨率指标,它们比标准 CloudWatch指标更频繁地发布数据。标准指标(例如InvocationsPerInstance
指标)每分钟发出一次数据。但是,这些高分辨率指标每 10 秒发出一次数据。因此,随着模型的并发流量的增加,您的策略会比标准指标更快地进行扩展。但是,随着模型流量的减少,您的策略会以与标准指标相同的速度进行扩展。
以下是目标跟踪策略配置示例,该配置在每个模型的并发请求数超过 5 时添加实例。将此配置保存在名为 config.json
的文件中。
{ "TargetValue": 5.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantConcurrentRequestsPerModelHighResolution" } }
如果您使用推理组件将多个模型部署到同一个终端节点,则可以创建等效的策略。在这种情况下,PredefinedMetricType
请设置为SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution
。
有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration中的。
定义自定义指标(CloudWatch指标:CPUUtilization)
要使用自定义指标创建目标跟踪扩展策略,请指定指标的名称、命名空间、单位、统计数据以及零个或多个维度。维度由维度名称和维度值组成。您可以使用任何与产能成比例变化的生产变量指标。
以下示例配置显示了带有自定义指标的目标跟踪扩展策略。该策略根据所有实例的平均CPU利用率为 50% 来扩展变体。将此配置保存在名为 config.json
的文件中。
{ "TargetValue":
50.0
, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization
", "Namespace": "/aws/sagemaker/Endpoints
", "Dimensions":[ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ]
, "Statistic": "Average
", "Unit": "Percent
" } }
有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》CustomizedMetricSpecification中的。
定义自定义指标(CloudWatch 指标: ExplanationsPerInstance)
当端点激活了在线可解释性时,它会发出一个ExplanationsPerInstance
指标,该指标输出变体每分钟解释的平均记录数。解释记录的资源利用率与预测记录的资源利用率会大不相同。我们强烈建议在激活在线解释功能的情况下,使用此指标对终端进行目标跟踪扩展。
您可以为可扩展目标创建多个目标跟踪策略。考虑添加该指定预定义的指标(CloudWatch 指标: InvocationsPerInstance)部分中的InvocationsPerInstance
策略(除了ExplanationsPerInstance
策略之外)。如果大多数调用由于EnableExplanations
参数中设置的阈值而没有返回解释,则终端节点可以选择策略。InvocationsPerInstance
如果有大量解释,则端点可以使用 ExplanationsPerInstance
策略。
以下示例配置显示了带有自定义指标的目标跟踪扩展策略。策略规模调整变体实例的数量,使每个实例的ExplanationsPerInstance
指标为 20。将此配置保存在名为 config.json
的文件中。
{ "TargetValue":
20.0
, "CustomizedMetricSpecification": { "MetricName": "ExplanationsPerInstance
", "Namespace": "AWS/SageMaker
", "Dimensions":[ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ],
"Statistic": "Sum
" } }
有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》CustomizedMetricSpecification中的。
指定冷却时间
您可以选择通过指定ScaleOutCooldown
和ScaleInCooldown
参数在目标跟踪扩展策略中定义冷却时间。
以下是变体的目标跟踪策略配置示例,该变体将每个实例的平均调用次数保持在 70。该策略配置提供了 10 分钟(600 秒)的缩减冷却时间和 5 分钟(300 秒)的横向扩展冷却时间。将此配置保存在名为 config.json
的文件中。
{ "TargetValue":
70.0
, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown":600
, "ScaleOutCooldown":300
}
有关更多信息,请参阅《Auto Scaling Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration中的。