通过 SageMaker AI 控制台开始使用 SageMaker HyperPod - Amazon SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通过 SageMaker AI 控制台开始使用 SageMaker HyperPod

下面的教程演示了如何创建一个新的 SageMaker HyperPod 集群,并通过 SageMaker AI 控制台用户界面使用 Slurm 进行设置。按照教程,您将创建一个带有三个 Slurm 节点(my-controller-groupmy-login-groupworker-group-1)的 HyperPod 集群。

创建集群

要导航到 SageMaker HyperPod 集群页面并选择 Slurm 编排,请按照以下步骤操作。

  1. 通过 https://console.aws.amazon.com/sagemaker/ 打开 Amazon SageMaker AI 控制台。

  2. 在左侧导航窗格中,选择 HyperPod 集群,然后选择集群管理

  3. SageMaker HyperPod 集群页面上,选择 HyperPod 集群

  4. 创建 HyperPod 集群下拉菜单中,选择由 Slurm 编排

  5. 在 Slurm 集群创建页面上,您将看到两个选项。选择最适合您需求的选项。

    1. 快速设置 – 要立即开始使用默认设置,请选择快速设置。利用此选项,在创建集群的过程中,SageMaker AI 将创建新资源,例如 VPC、子网、安全组、Amazon S3 存储桶、IAM 角色和适用于 Lustre 的 FSx。

    2. 自定义设置 – 要与现有 Amazon 资源集成或有特定的联网、安全或存储要求,请选择自定义设置。利用此选项,您可以选择使用现有资源或创建新资源,还可以自定义最适合您需求的配置。

快速设置部分,按照以下步骤操作,使用 Slurm 编排创建 HyperPod 集群。

常规设置

指定新集群的名称。创建集群后,无法更改该名称。

实例组

要添加实例组,请选择添加组。每个实例组都可以进行不同的配置,您可以创建一个异构集群,该集群由具有不同实例类型的多个实例组组成。要部署集群,您必须为控制器和计算组类型添加至少一个实例组。

重要

一次可添加一个实例组。要创建多个实例组,请为每个实例组重复此过程。

执行以下步骤来创建实例组。

  1. 对于实例组类型,为实例组选择类型。在本教程中,为 my-controller-group 选择控制器(主),为 my-login-group 选择登录,为 worker-group-1 选择计算(worker)

  2. 对于名称,指定实例组的名称。在本教程中,创建三个实例组,分别命名为 my-controller-groupmy-login-groupworker-group-1

  3. 对于实例容量,选择按需容量或训练计划来预留计算资源。

  4. 对于实例类型,为实例组选择实例。本教程中,选择 ml.c5.xlargemy-controller-groupml.m5.4xlargemy-login-groupml.trn1.32xlargeworker-group-1

    重要

    请确保为账户选择具有足够配额以及充足的未分配 IP 地址的实例类型。要查看或请求更多配额,请参阅 SageMaker HyperPod 配额

  5. 对于实例数量,指定一个不超过集群使用实例配额的整数。在本教程中,为所有三个组输入 1

  6. 对于目标可用区,选择将在其中预调配实例的可用区。可用区应与加速计算容量所在的位置相对应。

  7. 对于每个实例的附加存储卷(GB)– 可选,指定 1 到 16384 之间的整数,以千兆字节(GB)为单位设置附加 Elastic Block Store(EBS)卷的大小。EBS 卷附加到实例组的每个实例。附加 EBS 卷的默认挂载路径为 /opt/sagemaker。成功创建集群后,您可以 SSH 登录集群实例(节点),并通过运行 df -h 命令验证 EBS 卷是否已正确加载。如 Amazon Elastic Block Store 用户指南中的 Amazon EBS 卷部分所述,附加 EBS 卷可提供稳定、非实例和独立持久化的存储。

  8. 选择添加实例组

快速设置默认值

此部分列出了用于创建集群的所有默认设置,包括将在集群创建过程中创建的所有新的 Amazon 资源。检查默认设置。

自定义设置部分,按照以下步骤操作,使用 Slurm 编排创建 HyperPod 集群。

常规设置

指定新集群的名称。创建集群后,无法更改该名称。

对于实例恢复,选择自动 – 推荐

网络连接

配置网络设置以创建集群。创建集群后,无法修改这些设置。

  1. 如果您已经有一个允许 SageMaker AI 访问的 VPC,请为 VPC 选择您自己的 VPC。要创建新的 VPC,请按照 Amazon Virtual Private Cloud 用户指南中的创建 VPC 进行操作。您可以将其保留为以使用默认 SageMaker AI VPC。

  2. 对于 VPC IPv4 CIDR 块,输入 VPC 的起始 IP。

  3. 对于可用区,选择 HyperPod 将在其中为您的集群创建子网的可用区(AZ)。选择与加速计算容量的位置匹配的可用区。

  4. 对于安全组,创建一个安全组,或选择最多五个已配置规则的安全组,以允许 VPC 内资源之间的通信。

实例组

要添加实例组,请选择添加组。每个实例组都可以进行不同的配置,您可以创建一个异构集群,该集群由具有不同实例类型的多个实例组组成。要部署集群,您必须添加至少一个实例组。

重要

一次可添加一个实例组。要创建多个实例组,请为每个实例组重复此过程。

执行以下步骤来创建实例组。

  1. 对于实例组类型,为实例组选择类型。在本教程中,为 my-controller-group 选择控制器(主),为 my-login-group 选择登录,为 worker-group-1 选择计算(worker)

  2. 对于名称,指定实例组的名称。在本教程中,创建三个实例组,分别命名为 my-controller-groupmy-login-groupworker-group-1

  3. 对于实例容量,选择按需容量或训练计划来预留计算资源。

  4. 对于实例类型,为实例组选择实例。本教程中,选择 ml.c5.xlargemy-controller-groupml.m5.4xlargemy-login-groupml.trn1.32xlargeworker-group-1

    重要

    请确保为账户选择具有足够配额以及充足的未分配 IP 地址的实例类型。要查看或请求更多配额,请参阅 SageMaker HyperPod 配额

  5. 对于实例数量,指定一个不超过集群使用实例配额的整数。在本教程中,为所有三个组输入 1

  6. 对于目标可用区,选择将在其中预调配实例的可用区。可用区应与加速计算容量所在的位置相对应。

  7. 对于每个实例的附加存储卷(GB)– 可选,指定 1 到 16384 之间的整数,以千兆字节(GB)为单位设置附加 Elastic Block Store(EBS)卷的大小。EBS 卷附加到实例组的每个实例。附加 EBS 卷的默认挂载路径为 /opt/sagemaker。成功创建集群后,您可以 SSH 登录集群实例(节点),并通过运行 df -h 命令验证 EBS 卷是否已正确加载。如 Amazon Elastic Block Store 用户指南中的 Amazon EBS 卷部分所述,附加 EBS 卷可提供稳定、非实例和独立持久化的存储。

  8. 选择添加实例组

生命周期脚本

您可以选择使用默认生命周期脚本或自定义生命周期脚本,这些脚本将存储在 Amazon S3 存储桶中。可以查看 Awsome Distributed Training GitHub 存储库中的默认生命周期脚本。要了解有关生命周期脚本的更多信息,请参阅使用生命周期脚本自定义 SageMaker HyperPod 集群

  1. 对于生命周期脚本,选择使用默认生命周期脚本或自定义生命周期脚本。

  2. 对于生命周期脚本的 S3 存储桶,选择创建新的存储桶或使用现有存储桶来存储生命周期脚本。

权限

选择或创建一个 IAM 角色,该角色允许 HyperPod 代表您运行并访问必要的 Amazon 资源。

存储

将 FSx for Lustre 文件系统配置为在 HyperPod 集群上预调配。

  1. 对于文件系统,选择现有 FSx for Lustre 文件系统,创建新的 FSx for Lustre 文件系统,或者不预调配 FSx for Lustre 文件系统。

  2. 对于每单位存储的吞吐量,选择预调配存储中每 TiB 可用的吞吐量。

  3. 存储容量中,输入以 TB 为单位的容量值。

  4. 对于数据压缩类型,选择 LZ4 以启用数据压缩。

  5. 对于 Lustre 版本,查看为新文件系统推荐的值。

标签 – 可选

对于标签 – 可选,向新集群添加键值对,并将集群作为 Amazon 资源进行管理。要了解更多信息,请参阅标记您的 Amazon 资源

部署资源

使用快速设置自定义设置完成集群配置后,选择以下选项以启动资源预调配和集群创建。

  • 提交 – SageMaker AI 将开始预调配默认配置资源并创建集群。

  • 下载 CloudFormation 模板参数 – 您将下载配置参数 JSON 文件并运行 Amazon CLI 命令以部署 CloudFormation 堆栈,从而预调配配置资源并创建集群。如果需要,您可以编辑已下载的参数 JSON 文件。如果选择此选项,请在使用 Amazon CloudFormation 模板创建 SageMaker HyperPod 集群中查看更多说明。

删除集群并清理资源

成功测试创建 SageMaker HyperPod 集群后,它会继续以 InService 状态运行,直到您删除该集群。我们建议您在不使用时删除使用按需 SageMaker AI 实例创建的任何集群,以避免产生基于按需定价的持续服务费用。在本教程中,您创建了一个由两个实例组组成的集群。其中一个使用 C5 实例,因此请确保按照 删除 SageMaker HyperPod 集群 中的说明删除集群。

但是,如果您创建了具有预留计算容量的集群,则集群的状态不会影响服务计费。

要从本教程使用的 S3 存储桶中清理生命周期脚本,请转到集群创建过程中使用的 S3 存储桶并完全删除文件。

如果您已测试在集群上运行任何工作负载,请确保您是否上传了任何数据,或者您的作业是否将任何构件保存到不同的 S3 存储桶或文件系统服务(如适用于 Lustre 的 Amazon FSx 和 Amazon Elastic File System)。为防止产生任何费用,请删除存储或文件系统中的所有构件和数据。