查看和查询 Amazon SageMaker 服务配额使用情况的最佳实践

作者: 布鲁诺·克莱因 和帕 拉斯·梅赫拉 | 202

亚马逊 S ageMaker 客户可以通过服务配额查看和管理其配额限制 。 此外,他们可以查看近乎实时的利用率指标,并创建 亚马逊 CloudWatch 指标 来查看和以编程方式查询 SageMaker 配额。

SageMaker 可帮助您轻松构建、训练和部署机器学习 (ML) 模型。要了解更多信息,请参阅 亚马逊 S ageMaker 入门 。服务配额允许您从中心位置查看和管理 SageMaker 的配额,从而简化限额管理。

使用服务配额,您可以查看您的 亚马逊云科技 账户或 亚马逊云科技 区域中的最大资源、操作或项目数量。您也可以使用服务配额请求增加可调整的配额。

随着 mLops 实践使用量的增加,以及因此对专用于机器学习模型实验和再培训的资源的需求,越来越多的客户需要运行多个实例,通常同时运行相同实例类型。

许多数据科学团队经常并行工作,同时使用多个实例进行处理、训练和调整。以前,用户有时会达到某些特定实例类型的可调整账户限制,因此必须手动向 亚马逊云科技 请求提高限额。

要从 服务配额用户界面手动请求增加配额 ,可以从列表中选择配额,然后选择 请求增加配额 。有关更多信息,请参阅 申请增加配额

在这篇文章中,我们将介绍如何使用新功能在达到较高实例级别时自动请求提高限制。

解决方案概述

下图说明了解决方案架构。

该架构包括以下工作流程:

  1. CloudWatch 指标监控资源的使用情况。当资源使用量超过某个预先配置的阈值时,CloudWatch 警报就会触发。
  2. 一条消息已发送到 亚马逊简单通知服务 (Amazon SNS)。
  3. 该消息由 亚马逊云科技 Lambda 函数 接收。
  4. Lambda 函数请求增加配额。

除了请求增加特定账户的配额外,Lambda 函数还可以将配额增加添加到 组织模板 中 (最多 10 个配额)。这样,默认情况下,在给定 亚马逊云科技 组织下创建的任何新账户都有增加的配额申请。

先决条件

完成以下必备步骤:

  1. 设置 A WS 账户 并创建 A WS 身份和访问管理 (IAM) 用户。有关说明,请参阅 保护您的 亚马逊云科技 账户
  2. 安装 亚马逊云科技 SAM 命令行界面

使用 亚马逊云科技 无服务器应用程序模型进行部署

要使用 GitHub 存储库 部署应用程序 ,请在终端中运行以下命令:

git clone https://github.com/aws-samples/sagemaker-quotas-alarm.git
cd sagemaker-quotas-alarm
sam build && sam deploy --stack-name usage --region us-east-1 --resolve-s3 --capabilities CAPABILITY_IAM --parameter-overrides ResourceUsageThreshold=50 SecurityGroupIds=<SECURITY-GROUP-IDS> SubnetIds=<SUBNETS>

部署解决方案后,您应该会在 CloudWatch 控制台上看到一个新的警报。此警报监控 ml.t3.medium 实例的 SageMaker 笔记本电脑实例的使用情况。

alarm monitors usage for SageMaker notebook instances

如果您的资源使用量超过 50%,则会触发警报,Lambda 函数会请求增加。

alarm triggers

alarm triggers

如果您拥有的账户是 亚马逊云科技 组织的一部分并且您 启用了 配额申请模板 ,那么如果模板有可用空位,您还应该在模板上看到这些增加。这样,该组织的新账户也可以在创建时配置增量。

increases on the template

使用 CloudWatch 控制台部署

要使用 CloudWatch 控制台部署应用程序,请完成以下步骤:

  1. 在 CloudWatch 控制台上,选择导航窗格 中的 所有警报
  2. 选择 “ 创建警报 ” 。
    create alarm
  3. 选择 选择指标
    select metric
  4. 选择 “ 用法 ” 。
    choose usage
  5. 选择要监控的指标。
    select metric to monitor
  6. 选择您希望何时触发警报的条件。

有关配置警报时的更多可能配置,请参阅 基于静态阈值 创建 CloudWatch 警报

more possible configurations when configuring the alarm

  1. 将 SNS 主题配置为接收有关警报的通知。

您还可以使用亚马逊 SNS 在触发警报时触发 Lambda 函数。有关更多信息,请参阅 将 亚马逊云科技 Lambda 与亚马逊 SNS 搭配 使用。

Configure the SNS topic

  1. 警报名称 中 ,输入一个名称。
  2. 选择 “ 下一步 ” 。
    choose next
  3. 选择 “ 创建警报 ” 。
    creat alarm

清理

要清理在这篇文章中创建的资源,请务必删除所有创建的堆栈。为此,请运行以下命令:

sam delete --stack-name usage --region us-east-1

结论

在这篇文章中,我们展示了如何使用SageMaker与服务配额的新集成来自动请求增加SageMaker资源的配额。这样,数据科学团队可以有效地并行工作并减少与实例不可用有关的问题。

您可以通过访问文档来了解有关亚马逊 SageMaker 配额的更多信息。 您还可以在此处了解有关服务配额的 更多信息


作者简介

布鲁诺·克莱因 是 亚马逊云科技 ProServe 团队的机器学习工程师。他特别喜欢在生产中创建自动化和改善模型的生命周期。在空闲时间,他喜欢在户外度过时光和远足。

P aras Mehra 是 亚马逊云科技 的高级产品经理。他专注于帮助建立亚马逊 SageMaker 培训和处理系统。在业余时间,Paras喜欢与家人共度时光,在湾区骑公路自行车。你可以在 领英 上找到他 。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。