自动缩放异步端点 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

自动缩放异步端点

Amazon SageMaker 支持异步终端节点的自动扩展。自动扩展 动态调整为模型预配置的实例数,以响应工作负荷的变化。与 Amazon SageMaker 支持的其他托管模型不同,通过异步推理,您还可以将异步终端节点实例缩减到零。当实例为零时收到的请求将在终端节点向上扩展后排队等待处理。

要自动缩放异步终端节点,您必须至少:

  • 注册已部署的模型(生产变体)。

  • 删除扩展策略。

  • 应用自动扩展策略。

在使用自动扩展之前,必须已创建 SageMaker 模型部署。部署的模型称为生产变体。请参阅将模型部署到 SageMaker 托管服务,了解有关部署模型终端节点的更多信息。要为扩展策略指定指标和目标值,请配置目标跟踪扩展策略。有关如何定义扩展策略的信息,请参阅删除扩展策略. 注册模型并定义扩展策略后,将扩展策略应用于已注册的模型。有关如何应用扩展策略的信息,请参阅应用扩展策略.

有关与自动扩展结合使用的其他先决条件和组件的详细信息,请参阅先决条件SageMaker。

删除扩展策略

要为扩展策略指定指标和目标值,请配置目标跟踪扩展策略。在文本文件中将扩展策略定义为 JSON 块。在调用 Amazon CLI 或 Application Auto Scaling API 时,您可以使用该文本文件。有关策略配置语法的更多信息,请参阅TargetTrackingScalingPolicyConfiguration在 Application Auto Scaling API 参考中。

对于异步终端节点,SageMaker 强烈建议您为变体的目标跟踪扩展创建策略配置。在此配置示例中,我们使用自定义指标CustomizedMetricSpecification,称为ApproximateBacklogSizePerInstance.

TargetTrackingScalingPolicyConfiguration={ 'TargetValue': 5.0, # The target value for the metric. Here the metric is: SageMakerVariantInvocationsPerInstance 'CustomizedMetricSpecification': { 'MetricName': 'ApproximateBacklogSizePerInstance', 'Namespace': 'AWS/SageMaker', 'Dimensions': [ {'Name': 'EndpointName', 'Value': <endpoint_name> } ], 'Statistic': 'Average', } }

定义扩展到 0 的扩展策略

下面显示了如何定义和注册端点变体与应用程序自动缩放使用Amazon SDK for Python (Boto3). 使用 Bto3 定义了表示应用程序自动缩放的低级客户端对象后,我们使用RegisterScalableTarget方法以注册生产变体。我们设置MinCapacity设置为 0,因为异步推理使您能够在没有要处理的请求时自动缩放到 0。

# Common class representing application autoscaling for SageMaker client = boto3.client('application-autoscaling') # This is the format in which application autoscaling references the endpoint resource_id='endpoint/' + <endpoint_name> + '/variant/' + <'variant1'> # Define and register your endpoint variant response = client.register_scalable_target( ServiceNamespace='sagemaker', ResourceId=resource_id, ScalableDimension='sagemaker:variant:DesiredInstanceCount', # The number of EC2 instances for your Amazon SageMaker model endpoint variant. MinCapacity=0, MaxCapacity=5 )

有关应用程序自动扩展 API 的详细说明,请参阅扩展 Boto3文档中)。