AWS 介绍在 EKS 上用 Ray Train DLC 与 EFA 做分布式训练
AWS 发布技术文章,介绍如何用预构建的 Ray Train 深度学习容器在 Amazon EKS 上跨节点分布式训练,并以 EFA 承载节点间通信,示例无需自行构建镜像。
核心事实
AWS 在官方博客发布技术文章,介绍在 Amazon Elastic Kubernetes Service(Amazon EKS)上使用 Ray Train 深度学习容器(DLC)配合 Elastic Fabric Adapter(EFA)进行分布式训练的做法。文章给出的示例使用公开镜像 public.ecr.aws/deep-learning-containers/ray:train-ml-cuda-v1.1,在 KubeRay 管理的 RayCluster 上,用 PyTorch FSDP 在两台 g6.12xlarge 实例、共八块 NVIDIA L4 GPU 上微调 Qwen2.5-1.5B。文章称整个过程不需要构建任何镜像。
背景与影响
文章指出,阻碍 PyTorch 训练扩展到集群的往往是容器而非模型代码:CUDA、PyTorch、NCCL、EFA 用户态库、AWS OFI NCCL 插件与 Ray 版本需要彼此匹配。该 DLC 由 AWS 组装、整体测试并发布在 Amazon ECR Public,同时持续打补丁。文章强调,若网络相关组件版本不匹配,NCCL 会静默回落到 TCP,任务仍能跑完但速度大幅下降;AWS 称每次发布都会经过多节点 EFA 与多节点 KubeRay 训练测试。镜像本身不区分 head 与 worker 角色,实例类型、每 Pod 的 GPU 与 EFA 数量、NCCL 使用的网络传输以及任务所需的额外 Python 包,均通过 KubeRay 清单、环境变量和 Ray runtime_env 在镜像外部配置。
限制与来源
上述内容来自 AWS 博客原文,属于官方技术说明,文中未给出性能对比数据或定价信息。镜像标签、可用区域、实例类型与组件版本可能变化,实际使用请以 AWS 官网与镜像仓库当前信息为准。原文链接:aws.amazon.com。