使用 Slurm 编排 SageMaker HyperPod 集群 - Amazon SageMaker

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

使用 Slurm 编排 SageMaker HyperPod 集群

中的 Slurm 支持 SageMaker HyperPod 可帮助您配置弹性集群,以运行机器学习 (ML) 工作负载和开发 state-of-the-art 大型语言模型 (LLMs)、扩散模型和基础模型 (FMs) 等模型。它FMs通过消除构建和维护由数千个加速器提供支持的大规模计算集群所涉及的无差别繁重工作来加快开发速度,例如 AWS Trainium 以及 NVIDIA A100 和 H100 图形处理单元 ()。GPUs当加速器出现故障时, SageMaker HyperPod 监控集群实例的弹性功能会自动检测并即时更换故障硬件,这样您就可以专注于运行 ML 工作负载。此外,借助生命周期配置支持 SageMaker HyperPod,您可以自定义您的计算环境以最好地满足您的需求,并使用 Amazon SageMaker 分布式训练库对其进行配置以实现最佳性能 AWS.

操作集群

您可以通过控制台用户界面 (UI) 以图形方式创建、配置和维护 SageMaker HyperPod 集群,也可以通过控制台用户界面 (UI) 以编程方式创建、配置和维护集群 AWS 命令行界面 (CLI) 或 AWS SDK for Python (Boto3)。 借助 AmazonVPC,您可以保护集群网络,还可以利用您的资源配置集群VPC,例如吞吐量最快的 Amazon FSx for Lustre。您还可以为集群实例组IAM分配不同的角色,并限制您的集群资源和用户可以操作的操作。要了解更多信息,请参阅 管理由 S SageMaker HyperPod lurm 精心策划的集群

配置您的机器学习环境

SageMaker HyperPod 运行SageMaker HyperPod DLAMI,这会在集 HyperPod 群上设置 ML 环境。您可以DLAMI通过提供生命周期脚本来支持您的用例,从而为配置其他自定义设置。要了解有关如何设置生命周期脚本的更多信息,请参阅开始使用 Slurm 进行编排 SageMaker HyperPodSageMaker HyperPod 生命周期配置最佳实践

安排作业

成功创建 HyperPod 集群后,集群用户可以登录集群节点(例如头节点或控制器节点、登录节点和工作节点),并安排运行机器学习工作负载的作业。要了解更多信息,请参阅 在 SageMaker HyperPod 集群上运行作业

针对硬件故障的弹性

SageMaker HyperPod 在群集节点上运行运行状况检查并提供工作负载自动恢复功能。借助的集群弹性功能 HyperPod,在节点数超过 16 的集群中将故障节点替换为运行正常的节点之后,您可以从保存的最后一个检查点恢复工作负载。要了解更多信息,请参阅 SageMaker HyperPod 集群弹性

记录和管理集群

您可以在 Amazon 中找到 SageMaker HyperPod 资源利用率指标和生命周期日志 CloudWatch,并通过标记来管理 SageMaker HyperPod 资源。每次CreateClusterAPI运行都会创建一个不同的日志流,其命名<cluster-name>-<timestamp>格式为。在日志流中,您可以检查主机名、失败的生命周期脚本的名称以及失败脚本(例如stdout和)的输出stderr。有关更多信息,请参阅 SageMaker HyperPod 集群管理

与 SageMaker 工具兼容

使用 SageMaker HyperPod,您可以通过以下方式配置集群 AWS 优化的集合通信库 SageMaker,例如SageMaker分布式数据并行度 (SMDDP) 库。该SMDDP库实现了针对以下AllGather内容进行了优化的操作 AWS 由 NVIDIA A GPUs 100 提供支持的最高性能 SageMaker 机器学习实例的计算和网络基础架构。要了解更多信息,请参阅 在 Slurm 开启的情况下运行分布式训练工作负载 HyperPod