AI图鉴

AI图鉴首页 › AI 资讯 › 使用 AWS CDK 的 Orchestration SageMaker AI

使用 AWS CDK 的 Orchestration SageMaker AI 端点自动缩放

来源:AWS ML Blog · 发布时间:10-24 · 由 AI图鉴每小时自动聚合

更新已注册应用程序自动缩放的 SageMaker AI 端点使 AWS CloudFormation 和 AWS CDK 部署失败。 显示这个帖子如何buil

人工智能

使用 AWS CDK 的 Orchestration SageMaker AI 端点自动缩放

更新 Amazon Sagemaker AI 实时端点配置(改变实例类型,实例计数,或环境变量)导致通过 AWS CloudFormation 或 AWS Cloud Development Kit(AWS CDK)的部署失败。 SageMaker AI要求您在更新端点前对可缩放目标进行解登记,但当您解登记时,CloudFormation 无法跟踪 AWS 应用程序自动缩放资源。

在此文章中,我们演示您如何使用 AWS CloudFormation 自定义资源的可重复使用的 CDK 构建,以在结束点更新时协调解注册和自动注册自动缩放。 您可以在一次部署中更新端点配置和自动缩放参数,而无需人工干预。

为什么会有这样的问题

当使用本地的CloudFormation自动缩放资源部署一个 SageMaker AI 端点时,然后改变端点配置并进行重新部署,会出现几个失败模式。 具体的失败取决于你改变什么,你是如何围绕这个问题工作的。

用已注册的自动缩放更改终点配置

CloudFormation试图在可扩展目标仍然注册的同时更新终点。 SageMaker AI 以以下错误拒绝更新:

SageMaker AI在CloudFormation到达自动缩放资源前屏蔽端点更新。

手动解登记自动缩放,然后只更改端点配置

如果通过AWS命令线接口(AWS CLI)对可伸缩目标进行解登记,并且只进行端点配置更改后进行重新部署,部署成功。 CloudFormation虽然在CloudFormation模板中,CloudFormation模板中的自动缩放参数没有改变,端点现在运行时没有自动缩放,没有错误显示出任何出错。

手动解登记自动缩放,然后更改自动缩放参数

如果您通过 AWS CLI 解析可缩放目标,并使用自动缩放参数变化进行调用,CloudFormation 试图更新已不存在的可缩放目标资源:

这种失败是值得注意的,因为回滚也失败了(UPDATE ROLLBACK FAILED),使堆栈处于一个断裂状态,需要人工干预云阵控制台才能恢复。

解决方案概述

您可以使用此 CDK 构造来替换本地的 AWS:: application AutoScaled::可扩展目标和 AWS:: application AutoScaled::: scale Political CloudFormation 资源,使用三种自定义资源。 这些自定义资源解除了注册,并在端点更新周围注册自动缩放,并明确依赖命令,由节点执行。 CDK中添加依赖性调用。 完整序列为:

- Deregister(海关资源):在结束点更新开始前删除可扩展目标。 在第一次部署时,还没有可缩放的目标存在,所以处理者优雅地处理错误并持续。

- 端点更新(CDK管理):CDK正常更新端点资源,交换到新的端点配置。

- 注册可扩展目标(海关资源):等待终点达到InService状态,然后注册可扩展目标。

- 附加缩放政策(海关资源):等待可缩放目标可查询,然后应用目标跟踪政策。

注册可缩放目标并附加缩放策略使用 CDK 提供者的同步补全模式。 每个自定义资源都有一个即时返回的活动处理器,一个是完成处理器。 提供商的服务员在间隔时间(每30秒)内重新接通,提供商总时间(登记可缩放目标1小时,附加缩放政策15分钟)限制等待时间

每个自定义资源上的 ConfigHash 属性迫使 CloudFormation 当配置值发生变化时,重新启用 Lambda 函数。 端点配置和自动缩放参数一起定义,因为一个单一的ConfigHash驱动自动缩放管弦。

虽然构造定义了3个自定义资源,但部署的堆栈包含超过3个Lambda函数。 每个自定义资源都由CDK cr. Provider支持,提供方框架会生成自己的助手Lambda功能。 一个同步提供商(Deregister)新增 1框架函数。 一个同步提供商(注册可缩放目标并附加缩放政策) 新增 3 (on Event, is complete, and on Timeout) 加上驱动服务员的AWS Step函数状态机。 因此,部署的堆栈包含3个自定义资源,2个Step函数态机,12个Lambda函数。 其中5项资源持有构造本身的处理器代码(一个用于Deregister,一个用于活动,一个用于每个同步资源的完整对),其余7项由提供者框架产生。 您不写或维护框架生成的功能,但是它们存在于堆栈中,值得在您审查部署的资源时考虑。

走过去

在这个走行部中,您会使用提供的示例堆栈使用自动缩放的 SageMaker AI 端点,然后校验配置更新是否正确。

行走包括以下步骤:

- 清除存储器并安装依赖。

- 配置端点和自动缩放设置。

- 部署和核实。

-测试最新消息

源代码可以在链接的GitHub寄存器中找到。

先决条件

要走过这段路,你需要:

- AWS账户,有Amazon SageMaker AI、AWS Lambda、AWS身份和访问管理、应用程序自动缩放和Amazon云表的许可。

- AWS CDK v2安装。

- Python 3.12或后来。

-Python依赖管理

- Amazon简易存储服务(Amazon S3)中的SageMaker AI模型文物,以及Amazon弹性集装箱登记簿(Amazon ECR)中的集装箱图像,或SageMaker AI内置算法容器。

克隆寄存器并安装依赖性

- 清除仓库:

- 安装依赖:

配置您的端点和自动缩放设置

端点和自动缩放设置在配置/配置中一起定义。 yaml 因为一个单一的配置 hash驱动自动缩放的管弦乐。 对任一部分的修改会触发完整的序列。

以您的值编辑配置/ 配置 yaml:

端点参数映射到SageMaker AI CreateModel和CreateEndpointConfig APIs. 自动缩放参数映射到应用程序自动缩放可缩放目标及PutS缩放政策 API.

部署和核查

- 如果还没有

- 部署堆:

CloudFormation创建了SageMaker AI模型,端点配置,端点,然后按顺序运行三个自定义资源来注册自动缩放。

- 核实部署是否登记了可扩展目标:

- 核实部署是否采用了缩放政策:

测试更新

更改配置/ 配置中的值。 例如,Yaml 将实例类型从 ml.m5. 大小更新到 ml.m5.x 大,并重新部署:

部署完成后,验证自动缩放是否仍在登记,并有更新的值:

与现有堆栈合并

如果您正在开始新的或想要引用执行,请使用示例堆栈。 如果您已经拥有 SageMaker AI 资源的 CDK 堆栈,请直接使用此构造。

要与已有的堆栈集成,请将 sagemaker autoscaling/ 构建/ 目录复制到您的工程中,并在您的端点资源旁添加构造:

施工方式

本节通过Sagemaker Autoscaling Construct的关键实施细节。

运动家

Deregister 自定义资源在端点更新前调用 deregister scale target. 在没有可扩展目标的情况下,它处理首次部署的ObjectNotFound排除:

依赖在CDK中建立:

可缩放目标

尽管CloudFormation在接受更新后将端点资源视为完整,但可扩展目标只能在端点到达InService后注册。 登记可缩放目标使用提供者的同步完成模式,而不是阻止Lambda在等待中援引。 事件处理器立即返回,提供者的服务员重新输入查询- 间距上的“ 完整处理器”,直至终点为 InService。 提供商总时间(1小时)限制等待

堆栈删除时,活动处理器将可扩展目标解录以清理。

附加缩放策略

在RegisterS可缩放目标返回后有一个简短的窗口,目标尚无法查询。 附加缩放策略使用相同的同步补全模式:在事件处理器上立即返回,而在可缩放目标可查询时才完成的为完成,此时它应用了策略。 提供商的总时间( 15分钟) 限制等待:

堆栈删除时,活动处理器会删除清理的缩放策略。

清理

为了避免今后发生费用,删除资源:

这删除了 SageMaker AI 端点,端点配置,模型,Lambda 函数,IAM 角色,由目标跟踪缩放策略创建的 Amazon Cloud Watch 提醒,并解除可缩放目标的记录。

结论

在此文章中,我们向您演示了如何使用可重复使用的 CDK 构造来解登记并自动注册自动缩放,以协调 SageMaker AI 端点更新。 该建筑使用3个CloudFormation自定义资源,并有明确的依赖性订单和一个ConfigHash属性,使自动缩放在整个部署中保持完好无损。

要开始,克隆样本- sagemaker-endpoint-autoscaling寄存器并遵循设置指令。 该寄存器包括一个可以直接部署的示例堆栈,或者可以将构造集成到现有的CDK堆栈中。

关于SageMaker AI应用自动缩放的更多信息,请参见自动缩放 Amazon SageMaker AI模型。 关于CloudFormation自定义资源的更多信息,请参见AWS CloudFormation用户指南中的Custom资源。

本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

相关免费羊毛

同源资讯

阅读原文(aws.amazon.com)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI图鉴首页 · 提交工具 · 商务合作 · 关于本站 · 588 款 AI 工具分类导航 · 每日 AI 热门项目与动态