应用扩缩策略 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

应用扩缩策略

注册模型并定义扩展策略后,将扩展策略应用到注册的模型。本节介绍如何使用 AWS Command Line Interface (AWS CLI) 或应用程序自动扩缩 API 应用扩展策略。

应用目标跟踪扩展策略 (AWS CLI)

要将缩放策略应用于您的模型,请使用带有以下参数的put-scaling-policy AWS CLI 命令:

  • --policy-name – 扩展策略的名称。

  • --policy-type – 将该值设置为 TargetTrackingScaling

  • --resource-id – 变体的资源标识符。对于该参数,资源类型为 endpoint,唯一标识符为变体的名称。例如,endpoint/my-endpoint/variant/my-variant

  • --service-namespace – 将该值设置为 sagemaker

  • --scalable-dimension – 将该值设置为 sagemaker:variant:DesiredInstanceCount

  • --target-tracking-scaling-policy-configuration:模型要使用的目标跟踪扩展策略配置。

下面的示例将名为 my-scaling-policy 的目标跟踪扩展策略应用于在 my-endpoint 端点上运行的名为 my-variant 的变体。对于 --target-tracking-scaling-policy-configuration 选项,请指定之前创建的 config.json 文件。

aws application-autoscaling put-scaling-policy \ --policy-name my-scaling-policy \ --policy-type TargetTrackingScaling \ --resource-id endpoint/my-endpoint/variant/my-variant \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredInstanceCount \ --target-tracking-scaling-policy-configuration file://config.json

应用扩展策略 (Application Auto Scaling API)

要使用 Application Auto Scaling API 将扩展策略应用于某个变体,请使用 PutScalingPolicy Application Auto Scaling API 操作及以下参数:

  • PolicyName – 扩展策略的名称。

  • ServiceNamespace – 将该值设置为 sagemaker

  • ResourceID – 变体的资源标识符。对于该参数,资源类型为 endpoint,唯一标识符为变体的名称。例如,endpoint/my-endpoint/variant/my-variant

  • ScalableDimension – 将该值设置为 sagemaker:variant:DesiredInstanceCount

  • PolicyType – 将该值设置为 TargetTrackingScaling

  • TargetTrackingScalingPolicyConfiguration – 用于变体的目标跟踪扩展策略配置。

下面的示例将名为 my-scaling-policy 的目标跟踪扩展策略应用于在 my-endpoint 端点上运行的名为 my-variant 的变体。策略配置将每个实例的平均调用次数保持在 70 次。

POST / HTTP/1.1 Host: application-autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService. X-Amz-Date: 20230506T182145Z User-Agent: aws-cli/2.0.0 Python/3.7.5 Windows/10 botocore/2.0.0dev4 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "my-scaling-policy", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/my-endpoint/variant/my-variant", "ScalableDimension": "sagemaker:variant:DesiredInstanceCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } } }