使用 Amazon EKS 上的 AWS Deep Learning Containers 配置和验证分布式训练集群

通过采用系统方法启动所需组件并验证其正确配置,可以防止 Amazon EKS 分布式训练中的错误配置问题。本文将逐步介绍设置和验证 EKS 集群以使用 DLC 训练大型模型的步骤。

来源:亚马逊云科技 _机器学习
训练最先进的大型语言模型 (LLM) 需要大规模的分布式计算基础设施。例如,Meta 的 Llama 3 在 16,000 个 NVIDIA H100 GPU 上运行了超过 3084 万个 GPU 小时。 Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管服务,可简化 Kubernetes 集群的部署、管理和扩展,并可扩展到训练 LLM 所需的范围。为了方便配置此类大型分布式工作负载,AWS 深度学习容器 (DLC) 为 PyTorch 等流行框架提供了预构建的性能优化映像,以便团队可以更快地启动作业并减少兼容性问题。然而,即使使用 Amazon EKS 和 DLC,为大型训练工作负载配置集群也不是一项简单的任务。训练集群配置复杂性的一个来源是分布式训练中使用的 GPU 驱动的实例中的 GPU 配置。由 GPU 驱动的 Amazon Elastic Compute Cloud (Amazon EC2) 实例分为两个系列:G 系列(例如,配备 NVIDIA L4 Tensor Core GPU 的 G6),用于经济高效的推理和轻型训练;P 系列(例如,配备 NVIDIA GB200 NVL72 的 P6),用于大规模分布式作业。单个 P5 具有 8 个 H100 GPU,具有 640 GB HBM3,并提供 3,200 Gbps EFA 网络,非常适合数十亿参数模型训练。尽管 G 实例更实惠,但它们缺乏极端规模所需的高带宽、低延迟结构和内存吞吐量。 P 实例虽然速度很快,但需要精确配置网络、存储和 GPU 拓扑,这使得它们功能强大但操作复杂,并且是分布式作业错误配置或错误的潜在来源。通过采用系统方法启动所需组件并验证其正确配置,可以防止 Amazon EKS 分布式训练中的错误配置问题。本文逐步介绍了设置和验证用于训练大型模型的 EKS 集群的步骤