本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为多模型端点部署设置自动扩缩策略
SageMaker AI 多模型端点完全支持自动缩放,它可以管理模型的副本,以确保模型根据流量模式进行扩展。我们建议您基于 多模型端点部署的实例建议 配置多模型端点和实例大小时,并为端点设置基于实例的自动扩缩。用于触发自动扩展事件的调用率基于端点所提供的完整模型集中的聚合预测集。有关设置终端节点自动扩展的更多详细信息,请参阅自动缩放 Amazon SageMaker AI 模型。
您可以使用预定义指标和自定义指标设置自动扩展策略,同时CPUGPU支持多模型终端节点。
注意
SageMaker AI 多模型端点指标以一分钟为粒度提供。
定义扩展策略
要为扩展策略指定指标和目标值,可以配置目标跟踪扩展策略。您可以使用预定义指标或自定义指标。
扩展策略配置由JSON块表示。您可以将扩展策略配置作为JSON区块保存在文本文件中。在调用 AWS CLI 或 Application Auto Scal API ing 时,您可以使用该文本文件。有关策略配置语法的更多信息,请参阅《App lication Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration
中的。
可以使用以下选项定义目标跟踪扩展策略配置。
使用预定义的指标
要快速为变体定义目标跟踪扩展策略,请使用 SageMakerVariantInvocationsPerInstance
预定义指标。SageMakerVariantInvocationsPerInstance
是每分钟调用变体各个实例的平均次数。我们强烈建议您使用此指标。
要在扩展策略中使用预定义的指标,请为策略创建一个目标跟踪配置。在目标扩展配置中,包含 PredefinedMetricSpecification
以表示预定义的指标,并包含 TargetValue
以表示该指标的目标值。
以下示例是变体的典型目标跟踪扩展策略配置。在此配置中,我们使用 SageMakerVariantInvocationsPerInstance
预定义指标来调整变体实例数,以便每个实例的 InvocationsPerInstance
指标都为 70
。
{"TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "InvocationsPerInstance" } }
注意
建议您在使用多模型端点时使用 InvocationsPerInstance
。该指标的 TargetValue
取决于您的应用程序的延迟要求。我们还建议您对端点进行负载测试,以设置合适的扩展参数值。要详细了解负载测试和为终端节点设置自动扩展,请参阅博客在 Amazon AI 中配置自动缩放推理
使用自定义指标
如果您需要定义满足您的自定义要求的目标跟踪扩展策略,请定义自定义指标。您可以根据随扩展成比例变化的任何生产变体指标定义一个自定义指标。
并非所有 SageMaker AI 指标都适用于目标跟踪。指标必须是有效的使用率指标,它必须描述实例的繁忙程度。指标的值必须随变体实例数按反比例增大或减小。也就是说,当实例数增加时,指标的值应减小。
重要
在生产中部署自动扩展之前,您必须使用自定义指标来测试自动扩展。
CPU支持的多模型终端节点的自定义指标示例
以下示例是扩展策略的目标跟踪配置。在此配置中,对于名为的模型my-model
,自定义指标根据所有实例的 50% 的平均CPU利用率CPUUtilization
调整终端节点上的实例计数。
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
GPU支持的多模型终端节点的自定义指标示例
以下示例是扩展策略的目标跟踪配置。在此配置中,对于名为的模型my-model
,自定义指标根据所有实例的 50% 的平均GPU利用率GPUUtilization
调整终端节点上的实例计数。
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "GPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
添加冷却时间
要添加用于横向扩展端点的冷却时间,请为 ScaleOutCooldown
指定一个值(以秒为单位)。类似地,要添加用于横向缩减模型的冷却时间,请为 ScaleInCooldown
添加一个值(以秒为单位)。有关ScaleInCooldown
和的更多信息ScaleOutCooldown
,请参阅《Auto Scaling Auto Scaling API 参考》TargetTrackingScalingPolicyConfiguration
中的。
以下示例是扩展策略的目标跟踪配置示例。在该配置中,SageMakerVariantInvocationsPerInstance
预定义指标用于根据该变体的所有实例中平均值 70
来调整扩展。该配置将横向缩减冷却时间指定为 10 分钟,并将横向扩展冷却时间指定为 5 分钟。
{"TargetValue": 70.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }