使用 SageMaker HyperPod 的先决条件 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 SageMaker HyperPod 的先决条件

在开始使用之前,以下各节将引导您了解先决条件 SageMaker HyperPod。

SageMaker HyperPod 配额

根据Amazon账户中的 SageMaker HyperPod 集群使用配额,您可以创建集群。

重要

要了解有关 SageMaker HyperPod 定价的更多信息,请参阅SageMaker HyperPod 定价Amazon SageMaker 定价

使用查看亚马逊 SageMaker HyperPod配额 Amazon Web Services 管理控制台

查找集群使用量的配额的默认值和应用值(也称为限制),用于 SageMaker HyperPod。

  1. 打开 服务配额 控制台

  2. 在左侧导航窗格中,选择 Amazon 服务

  3. Amazon服务列表中,搜索并选择 Amazon A SageMaker I

  4. 服务配额列表中,您可以看到服务配额名称、应用的值(如果可用)、Amazon默认配额以及配额值是否可调整。

  5. 在搜索栏中输入集群使用量。这将显示集群使用配额、应用配额和默认配额。

创建 HyperPod集群的常用服务配额列表及其先决条件

您可能需要检查是否已在 SageMaker AI 控制台中请求提高以下配额的服务配额限制,以创建新 HyperPod 集群,以及先决条件。导航到服务配额控制台并搜索以下术语。

配额名称 搜索词 说明
1 每个 SageMaker HyperPod集群允许的最大实例数 在 SageMaker AI 下搜索 “每个 SageMaker HyperPod 集群允许的最大实例数” 您的账户级别配额值必须大于您要添加到集群中的实例数量
2 SageMaker HyperPod 集群实例的 EBS 卷的最大大小(以 GB 为单位)

在 SageMaker AI 下搜索 “ HyperPod 集群实例的最大 EBS 卷大小(以 GB 为单位)” 

您的账户级别配额值必须大于您要添加到集群的 EBS 数量

3 跨 SageMaker HyperPod集群允许的实例总数

在 SageMaker AI 下搜索 “跨 SageMaker HyperPod 集群允许的实例总数” 

您的账户级别配额值必须大于您希望在账户中的所有集群中添加的实例总数
4

实例配额 

在 SageMaker AI 下搜索 “ml. <instance_type>用于集群使用” 例如:用于集群使用的 ml.p5.48xlarge

您的特定实例类型(例如:ml.p5.48xlarge)的账户级别配额值必须大于要在账户中所有集群中添加的实例总数。
5

VPCs 每个区域

在亚马逊 Virtual Private Cloud(亚马逊 VPC)下搜索 “VPCs按区域” 设置集群时,您的账户级别配额值必须足以在账户中创建新 VPC。 HyperPod 请通过查看 VPC 控制台来检查您是否已用完此配额限制。只有当您要通过 SageMaker HyperPod 控制台中的快速或自定义集群设置选项创建新 VPC 时,才需要增加配额。
6

每个区域的互联网网关数

在 Amazon Virtual Private Cloud(亚马逊 VPC)下搜索 “每个地区的互联网网关”

设置集群时,您的账户级别配额值必须足以在账户中创建一个额外的互联网网关。 SageMaker HyperPod 只有当您要通过 SageMaker HyperPod 控制台中的快速或自定义集群设置选项创建新 VPC 时,才需要增加配额。 
7 每个区域的网络接口数 在 Amazon Virtual Private Cloud(亚马逊 VPC)下搜索 “每个区域的网络接口”

设置集群时,您的账户级别配额值的账户中必须有足够的网络接口。 HyperPod 

8 EC2-VPC 弹性 IPs 在亚马逊弹性计算云(亚马逊 EC2)下搜索 “EC2-VPC Elastic IPs” 设置集群时,您的账户级别配额值必须足以在账户中创建新 VPC。 HyperPod 请通过查看 VPC 控制台来检查您是否已用完此配额限制。只有当您要通过 SageMaker HyperPod 控制台中的快速或自定义集群设置选项创建新 VPC 时,才需要增加配额。

使用 Amazon 申请增加 SageMaker HyperPod 配额 Amazon Web Services 管理控制台

增加账户或资源级别的配额。

  1. 要增加集群使用量的实例配额,请选择要增加的配额。

  2. 如果配额可调,则可根据可调整性列中列出的值,在账户级别或资源级别请求增加配额。

  3. 对于增加配额值,输入新值。新值必须大于当前值。

  4. 选择请求

  5. 要在管理控制台中查看任何待处理或最近解决的请求,请从服务详细信息页面导航至请求历史记录选项卡,或从导航窗格中选择控制面板。对于待处理的请求,请选择请求状态以打开收到的请求。请求的初始状态为 Pending。状态更改为 “已申请配额” 后,您会看到案例编号为Amazon Web Services 支持。选择案例编号以打开请求服务单。

要了解有关请求增加配额的更多信息,请参阅《Amazon 服务配额用户指南》中的请求增加配额

SageMaker HyperPod使用自定义 Amazon VPC 进行设置

要使用自定义 Amazon VPC 设置 SageMaker HyperPod 集群,请查看以下先决条件。

注意

要进行 Amazon EKS 编排,必须配置 VPC。对于 Slurm 编排,VPC 设置是可选的。

  • 使用自定义 VPC 创建 SageMaker HyperPod 集群Amazon Web Services 账户之前,请验证您的弹性网络接口 (ENI) 容量。ENI 限制由 Amazon 控制 EC2 ,因而异Amazon Web Services 区域。 SageMaker HyperPod 无法自动请求增加配额。

    要验证您当前的 ENI 配额,请执行以下操作:
    1. 打开 服务配额 控制台

    2. 管理配额部分,使用Amazon服务下拉列表搜索 VPC

    3. 选择查看 Amazon Virtual Private Cloud(Amazon VPC)的配额。

    4. 查找服务配额每个区域的网络接口数配额代码 L-DF5E4CA3

    如果您当前的 ENI 限制不足以满足您的 SageMaker HyperPod 集群需求,请申请增加配额。提前确保充足的 ENI 容量,有助于避免集群部署失败。

  • 使用自定义 VPC 将 SageMaker HyperPod 集群与Amazon资源连接时,请在创建集群 IDs 时提供 VPC 名称Amazon Web Services 区域 IDs、ID、子网和安全组。

    注意

    当您的 Amazon VPC 和子网 IPv6 在集群或实例组级别使用OverrideVPCConfig属性支持时 ClusterInstanceGroupSpecification,网络通信会因集群编排平台而异:VPCConfig

    • SLURM 编排的集群会自动为节点配置双 IPv4 地址 IPv6 和地址,从而实现即时网络通信。 IPv6 除了设置之外,不需要其他VPCConfig IPv6 配置。

    • 在 EKS 编排的集群中,节点接收双堆栈寻址,但是 Pod 只能在明确启用 Amazon EKS 集群时 IPv6 使用。 IPv6您必须创建一个新的 IPv6 Amazon EKS 集群,现有的 IPv4 Amazon EKS 集群无法转换为 IPv6。有关部署 IPv6 Amazon EKS 集群的信息,请参阅Amazon EKSIPv6 集群部署

    其他 IPv6 配置资源:

  • 确保所有资源都部署在与 SageMaker HyperPod 集群Amazon Web Services 区域相同的环境中。配置安全组规则以允许 VPC 内的资源间通信。例如,在 us-west-2 中创建 VPC 时,跨一个或多个可用区预调配子网(例如 us-west-2aus-west-2b),然后创建一个允许组内流量的安全组。

    注意

    SageMaker HyperPod 支持多可用区部署。有关更多信息,请参阅 跨多个 SageMaker HyperPod 集群设置 AZs

  • 通过创建 VPC 终端节点,为 VPC 部署的 SageMaker HyperPod实例组建立Amazon Simple Storage Service(Amazon S3)连接。如果没有互联网访问权限,实例组将无法存储或检索生命周期脚本、训练数据以及模型构件。我们建议您创建一个自定义 IAM 策略,仅允许在私有 VPC 内访问 Amazon S3 存储桶。有关更多信息,请参阅《Amazon PrivateLink 指南》中的 Amazon S3 的端点

  • 对于使用支持 Elastic Fabric Adapter (EFA) Fabric Adapter 的实例的 HyperPod 集群,请将安全组配置为允许进出安全组本身的所有入站和出站流量。具体而言,避免为出站规则使用 0.0.0.0/0,因为这可能会导致 EFA 运行状况检查失败。有关 EFA 安全组准备指南的更多信息,请参阅 A mazon EC2 用户指南中的步骤 1:准备启用 EFA 的安全组

  • 在创建集群之前,请仔细考虑子网的无类域间路由 (CIDR) 块大小。 HyperPod

    • 子网 CIDR 块大小一经创建便无法更改。在使用像 P5 这样的大型加速实例时,这一点尤为重要。如果块大小不足,则在纵向扩展时必须重新创建集群。

    • 在选择合适的子网 CIDR 块大小时,请考虑以下因素:实例类型、预期实例数以及每个实例使用的 IP 地址数。

    • 对于 Slurm 编排的集群,每个 P5 实例可创建 32 个 IP 地址(每个网卡一个)。对于 EKS 编排的集群,每个 P5 实例可创建 81 个 IP 地址(其中 50 个来自主卡,剩余 31 张卡各提供 1 个)。有关详细规格,请参阅《Amazon EC2 实例类型开发人员指南》中的网络规格

    • 有关指定子网 CIDR 块大小的 CloudFormation 模板示例,请参阅存储库中的 HyperPod Slurm 模板和 A HyperPod mazon EKS 模板。awsome-distributed-training

跨多个 SageMaker HyperPod 集群设置 AZs

您可以跨多个可用区 (AZs) 配置 SageMaker HyperPod 集群,以提高可靠性和可用性。

注意

Elastic Fabric Adapter (EFA) 流量无法 AZs 通过或。 VPCs这不适用于来自 EFA 接口的 ENA 设备的正常 IP 流量。有关更多信息,请参阅 EFA 限制

  • 默认行为

    HyperPod 在单个可用区中部署所有集群实例。VPC 配置决定部署可用区:

    • 对于 Slurm 编排的集群,VPC 配置是可选的。如果未提供 VPC 配置, HyperPod 则默认为平台 VPC 中的一个子网。

    • 对于 EKS 编排的集群,VPC 配置是必需的。

    • 对于 Slurm 和 EKS 协调器,如果提供,VpcConfig则从提供的子网列表 HyperPod中选择一个子网。VpcConfig所有实例组都继承子网的可用区。

    注意

    创建集群后,无法修改其 VpcConfig 设置。

    要了解有关 VPCs 为 HyperPod 集群进行配置的更多信息,请参阅前面的部分 SageMaker HyperPod使用自定义 Amazon VPC 进行设置

  • 多可用区配置

    在创建 HyperPod 集群或向现有集群添加新实例组时,您可以跨多个 AZs 集群设置集群。要配置多可用区部署,可通过为集群中的单个实例组指定不同的子网和安全组(可能跨不同的可用区)来覆盖集群的默认 VPC 设置。

    SageMaker HyperPod API 用户在使用CreateClusterClusterInstanceGroupSpecification时可以使用中的OverrideVpcConfig属性UpdateCluster APIs。

    OverrideVpcConfig 字段:

    • 实例组一经创建便无法修改。

    • 为可选项。如果未指定,则将集群级别 VpcConfig 用作默认值。

    • 对于 Slurm 编排的集群,只能在提供集群级别 VpcConfig 时指定。如果未在集群级别指定 VpcConfig,则 OverrideVpcConfig 不能用于任何实例组。

    • 包含两个必填字段:

      • Subnets-接受 1 到 16 个子网 IDs

      • SecurityGroupIds-接受 1 到 5 个安全组 IDs

    有关使用 SageMaker HyperPod 控制台 UI 或以下方式创建或更新 SageMaker HyperPod 集群的更多信息Amazon CLI:

注意

当跨多个工作负载运行时 AZs,请注意,两者之间的网络通信会 AZs 带来额外的延迟。在设计对延迟敏感的应用程序时,请考虑这一影响。

为集群用户访问控制设置Amazon Systems Manager和运行方式

SageMaker HyperPod DLAMI开箱即用 Amazon Systems Manager(SSM),可帮助您管理对 SageMaker HyperPod 集群实例组的访问权限。本节介绍如何在 SageMaker HyperPod 集群中创建操作系统 (OS) 用户并将其与 IAM 用户和角色关联。这有助于使用操作系统用户账户的凭证验证 SSM 会话。

注意

授予用户访问 HyperPod 群集节点的权限允许他们在节点上安装和操作用户管理的软件。确保遵守用户的最低权限原则。

在您的Amazon账户中启用 Run As

作为Amazon账户管理员或云管理员,您可以使用 SSM 中的运行身份功能在 IAM 角色或用户级别管理对 SageMaker HyperPod 集群的访问权限。有了这项功能,您就可以使用与 IAM 角色或用户相关联的操作系统用户启动每个 SSM 会话。

要在您的Amazon账户中启用运行身份,请按照 Linux 和 macOS 托管节点启用运行身份支持中的步骤操作。如果您已经在集群中创建了操作系统用户,请确保按照为 Linux 和 macOS 托管节点打开“以另一种身份运行”支持下步骤 5 的选项 2 中的指导,通过标记 IAM 角色或用户,将其与 IAM 角色或用户关联起来。

(可选)在 Amazon SageMaker HyperPod 上设置 Lu FSx stre

要开始使用集群 SageMaker HyperPod 和您 FSx 的 for Lustre 文件系统之间的数据路径并将其映射,请选择Amazon Web Services 区域支持的路径之一。 SageMaker HyperPod选择Amazon Web Services 区域自己喜欢的可用区后,还应确定要使用哪个可用区 (AZ)。

如果您使用的 SageMaker HyperPod 计算节点与 for Lustre 文件系统的设置 AZs 位置 AZs 不同Amazon Web Services 区域,则可能会有通信和网络开销。 FSx 我们建议您使用与 SageMaker HyperPod 服务账户相同的物理可用区,以避免 SageMaker HyperPod 集群与您 FSx 的 for Lustre 文件系统之间出现任何跨可用区流量。此外,请确保已在 VPC 中进行了配置。如果您想使用 Amazon FSx 作为存储的主文件系统,则必须使用您的 VPC 配置 SageMaker HyperPod 集群。