通过 SageMaker AI 控制台开始使用 SageMaker HyperPod
下面的教程演示了如何创建一个新的 SageMaker HyperPod 集群,并通过 SageMaker AI 控制台用户界面使用 Slurm 进行设置。按照教程,您将创建一个带有三个 Slurm 节点(my-controller-group、my-login-group 和 worker-group-1)的 HyperPod 集群。
创建集群
要导航到 SageMaker HyperPod 集群页面并选择 Slurm 编排,请按照以下步骤操作。
通过 https://console.aws.amazon.com/sagemaker/
打开 Amazon SageMaker AI 控制台。 -
在左侧导航窗格中,选择 HyperPod 集群,然后选择集群管理。
-
在 SageMaker HyperPod 集群页面上,选择 HyperPod 集群。
-
从创建 HyperPod 集群下拉菜单中,选择由 Slurm 编排。
-
在 Slurm 集群创建页面上,您将看到两个选项。选择最适合您需求的选项。
-
快速设置 – 要立即开始使用默认设置,请选择快速设置。利用此选项,在创建集群的过程中,SageMaker AI 将创建新资源,例如 VPC、子网、安全组、Amazon S3 存储桶、IAM 角色和适用于 Lustre 的 FSx。
-
自定义设置 – 要与现有 Amazon 资源集成或有特定的联网、安全或存储要求,请选择自定义设置。利用此选项,您可以选择使用现有资源或创建新资源,还可以自定义最适合您需求的配置。
-
在快速设置部分,按照以下步骤操作,使用 Slurm 编排创建 HyperPod 集群。
常规设置
指定新集群的名称。创建集群后,无法更改该名称。
实例组
要添加实例组,请选择添加组。每个实例组都可以进行不同的配置,您可以创建一个异构集群,该集群由具有不同实例类型的多个实例组组成。要部署集群,您必须为控制器和计算组类型添加至少一个实例组。
重要
一次可添加一个实例组。要创建多个实例组,请为每个实例组重复此过程。
执行以下步骤来创建实例组。
-
对于实例组类型,为实例组选择类型。在本教程中,为
my-controller-group选择控制器(主),为my-login-group选择登录,为worker-group-1选择计算(worker)。 -
对于名称,指定实例组的名称。在本教程中,创建三个实例组,分别命名为
my-controller-group、my-login-group和worker-group-1。 -
对于实例容量,选择按需容量或训练计划来预留计算资源。
-
对于实例类型,为实例组选择实例。本教程中,选择
ml.c5.xlarge为my-controller-group,ml.m5.4xlarge为my-login-group,ml.trn1.32xlarge为worker-group-1。重要
请确保为账户选择具有足够配额以及充足的未分配 IP 地址的实例类型。要查看或请求更多配额,请参阅 SageMaker HyperPod 配额。
-
对于实例数量,指定一个不超过集群使用实例配额的整数。在本教程中,为所有三个组输入 1。
-
对于目标可用区,选择将在其中预调配实例的可用区。可用区应与加速计算容量所在的位置相对应。
-
对于每个实例的附加存储卷(GB)– 可选,指定 1 到 16384 之间的整数,以千兆字节(GB)为单位设置附加 Elastic Block Store(EBS)卷的大小。EBS 卷附加到实例组的每个实例。附加 EBS 卷的默认挂载路径为
/opt/sagemaker。成功创建集群后,您可以 SSH 登录集群实例(节点),并通过运行df -h命令验证 EBS 卷是否已正确加载。如 Amazon Elastic Block Store 用户指南中的 Amazon EBS 卷部分所述,附加 EBS 卷可提供稳定、非实例和独立持久化的存储。 -
选择添加实例组。
快速设置默认值
此部分列出了用于创建集群的所有默认设置,包括将在集群创建过程中创建的所有新的 Amazon 资源。检查默认设置。
在自定义设置部分,按照以下步骤操作,使用 Slurm 编排创建 HyperPod 集群。
常规设置
指定新集群的名称。创建集群后,无法更改该名称。
对于实例恢复,选择自动 – 推荐或无。
网络连接
配置网络设置以创建集群。创建集群后,无法修改这些设置。
-
如果您已经有一个允许 SageMaker AI 访问的 VPC,请为 VPC 选择您自己的 VPC。要创建新的 VPC,请按照 Amazon Virtual Private Cloud 用户指南中的创建 VPC 进行操作。您可以将其保留为无以使用默认 SageMaker AI VPC。
-
对于 VPC IPv4 CIDR 块,输入 VPC 的起始 IP。
-
对于可用区,选择 HyperPod 将在其中为您的集群创建子网的可用区(AZ)。选择与加速计算容量的位置匹配的可用区。
-
对于安全组,创建一个安全组,或选择最多五个已配置规则的安全组,以允许 VPC 内资源之间的通信。
实例组
要添加实例组,请选择添加组。每个实例组都可以进行不同的配置,您可以创建一个异构集群,该集群由具有不同实例类型的多个实例组组成。要部署集群,您必须添加至少一个实例组。
重要
一次可添加一个实例组。要创建多个实例组,请为每个实例组重复此过程。
执行以下步骤来创建实例组。
-
对于实例组类型,为实例组选择类型。在本教程中,为
my-controller-group选择控制器(主),为my-login-group选择登录,为worker-group-1选择计算(worker)。 -
对于名称,指定实例组的名称。在本教程中,创建三个实例组,分别命名为
my-controller-group、my-login-group和worker-group-1。 -
对于实例容量,选择按需容量或训练计划来预留计算资源。
-
对于实例类型,为实例组选择实例。本教程中,选择
ml.c5.xlarge为my-controller-group,ml.m5.4xlarge为my-login-group,ml.trn1.32xlarge为worker-group-1。重要
请确保为账户选择具有足够配额以及充足的未分配 IP 地址的实例类型。要查看或请求更多配额,请参阅 SageMaker HyperPod 配额。
-
对于实例数量,指定一个不超过集群使用实例配额的整数。在本教程中,为所有三个组输入 1。
-
对于目标可用区,选择将在其中预调配实例的可用区。可用区应与加速计算容量所在的位置相对应。
-
对于每个实例的附加存储卷(GB)– 可选,指定 1 到 16384 之间的整数,以千兆字节(GB)为单位设置附加 Elastic Block Store(EBS)卷的大小。EBS 卷附加到实例组的每个实例。附加 EBS 卷的默认挂载路径为
/opt/sagemaker。成功创建集群后,您可以 SSH 登录集群实例(节点),并通过运行df -h命令验证 EBS 卷是否已正确加载。如 Amazon Elastic Block Store 用户指南中的 Amazon EBS 卷部分所述,附加 EBS 卷可提供稳定、非实例和独立持久化的存储。 -
选择添加实例组。
生命周期脚本
您可以选择使用默认生命周期脚本或自定义生命周期脚本,这些脚本将存储在 Amazon S3 存储桶中。可以查看 Awsome Distributed Training GitHub 存储库
-
对于生命周期脚本,选择使用默认生命周期脚本或自定义生命周期脚本。
-
对于生命周期脚本的 S3 存储桶,选择创建新的存储桶或使用现有存储桶来存储生命周期脚本。
权限
选择或创建一个 IAM 角色,该角色允许 HyperPod 代表您运行并访问必要的 Amazon 资源。
存储
将 FSx for Lustre 文件系统配置为在 HyperPod 集群上预调配。
-
对于文件系统,选择现有 FSx for Lustre 文件系统,创建新的 FSx for Lustre 文件系统,或者不预调配 FSx for Lustre 文件系统。
-
对于每单位存储的吞吐量,选择预调配存储中每 TiB 可用的吞吐量。
-
在存储容量中,输入以 TB 为单位的容量值。
-
对于数据压缩类型,选择 LZ4 以启用数据压缩。
-
对于 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)。为防止产生任何费用,请删除存储或文件系统中的所有构件和数据。