想象一下,你正在试图组织一场规模宏大的全球接力赛,目的是为了训练一个超级智能的 AI(大语言模型)。在过去,你只能使用来自同一个特定国家(即一个硬件厂商,比如 NVIDIA)的选手。他们穿着同样的鞋子,说着同样的语言,并且完全知道如何传递接力棒。这使得比赛既快速又顺畅。
但今天,只用一个国家的选手来跑比赛太贵了,或者因为供应不足而无法实现。所以,你决定混合使用来自不同国家的选手(如 NVIDIA、AMD、华为等)。问题在于?这些选手语言不通,鞋子也不同,而且不知道如何互相传递接力棒而不掉落。
这就是 HetCCL 所解决的问题。以下是它的工作原理,通过简单的概念进行拆解:
1. 问题所在:“教练”瓶颈
在过去的混合赛事尝试中,如果 A 国的选手需要将接力棒交给 B 国的选手,他们必须先跑到中央的“教练”(即 CPU)那里。教练接过接力棒,把它记录在剪贴板上,然后跑到另一边,再把它交给新的选手。
- 问题在于: 这个“教练”步骤很慢。它浪费了在跑来跑去上的时间,而且教练与选手之间的路径是一条狭窄拥挤的走廊(即 PCIe 瓶颈)。
2. 解决方案:“直连线”(P2P 传输)
HetCCL 发明了一种新的传递接力棒的方式。它不再使用教练,而是在不同国家的选手手之间建立一条直接的高速隧道。
- 工作原理: HetCCL 让“控制”(关于何时奔跑的指令)保留在教练手中,但“数据”(实际的接力棒)在整个过程中始终留在选手的手中。
- 类比: 想象教练发送了一条短信说:“开始!”然后选手们通过一条超高速隧道直接将接力棒传给彼此,完全跳过了教练的办公室。这消除了那种缓慢的“来回奔波”的时间。
3. “边境警卫”技巧(厂商无关的归约/Reduction)
有时候,比赛不仅仅是关于传递接力棒,还涉及合并信息。例如,如果选手 A 有数字“5”,而选手 B 有“3”,他们需要在把结果传下去之前,先把它们相加得到“8”。
- 问题: 不同国家的选手使用不同的计算器。你不能直接要求选手 A 使用选手 B 的计算器。
- 解决方案: HetCCL 创建了一个“边境警卫”系统。它从不同的选手那里获取数字,并将它们移动到一个特定的“边境站”,在那里使用一个标准的、通用的计算器(该计算器内置于每个国家的现有软件中)来进行数学运算。这就像是在边境有一个通用的翻译员负责为所有人做加法,这样就没人需要学习新语言。
4. “流水线”(层级化与流水线设计)
在拥有许多队伍的大型比赛中,如果每个人都要等待前一个团队完成后才开始,比赛就会变慢。
- 解决方案: HetCCL 将比赛组织成一个层级化的流水线。
- 第 1 步: 同一国家的选手首先完成他们的本地交接。
- 第 2 步: 在他们进行这些操作的同时,“边境警卫”开始在不同国家之间传递数据。
- 第 3 步: 最后在国家内部再次进行交接。
- 类比: 不再是等待整条线停下来,而是当上一批选手腾出赛道时,下一批选手立即开始移动。这让“隧道”(网络带宽)始终保持充实和忙碌,而不是处于闲置状态。
他们证明了什么?
研究人员构建了这个系统(称为 HetCCL),并使用来自四家不同公司的真实硬件对其进行了测试。以下是他们的发现:
- 速度: 在混合赛事场景中,HetCCL 比旧有的“教练”模式(Gloo)快了 17 到 19 倍。
- 效率: 它实现了几乎与所有人都来自同一个国家时相当的速度,即使是在混合不同硬件的情况下。
- 现实世界的影响: 当他们使用它来训练 AI 模型(如 Llama 3)时,与旧方法相比,每一步的训练速度提升了高达 16.9%。
简而言之: HetCCL 是一个通用翻译器和快速通道,它允许不同类型的计算机芯片协同工作,像一个团队一样协作,而不会互相拖后腿,从而使构建大规模 AI 系统变得更便宜、更快速。
技术摘要:HetCCL
问题陈述
大语言模型(LLM)的快速扩展需要使用大规模 GPU 集群。然而,成本、供应链限制和增量升级等实际约束正促使企业采用多厂商异构集群(例如,结合 NVIDIA、AMD、华为及其他加速器)。
现有的集合通信库(CCL)无法有效支持此类环境:
- 以设备为中心的库(如 NCCL、RCCL)针对单厂商硬件进行了高度优化,但由于厂商特定的编程模型和内核实现,缺乏跨厂商的互操作性。
- 以主机为中心的库(如 Gloo、OpenMPI)虽然具有硬件兼容性,但依赖于将数据从设备内存复制到主机内存(CPU 中转缓冲区)进行传输。这引入了显著的主机-设备内存复制开销和 PCIe 瓶颈,在通信成本至关大的大规模 LLM 训练中,会严重降低性能。
核心挑战在于设计一种集合通信框架,能够在不损害同构集群性能的前提下,实现高效、低开销的异构设备间数据传输与规约。
方法论:HetCCL 架构
作者提出了 HetCCL,这是一个通过解耦控制逻辑与数据路径并引入层次化拓扑抽象来实现异构集合通信的框架。该设计基于三个关键支柱:
1. 主机驱动的设备缓冲区 RDMA(解耦控制与数据路径)
为了在保持跨厂商兼容性的同时消除主机-设备内存复制开销,HetCCL 采用了创新的主机驱动设备缓冲区 RDMA机制:
- 控制路径(主机侧): 所有控制逻辑(连接管理、内存区域注册、工作请求发布和事件处理)都卸载到主机代理(Host Proxy)。这确保了跨不同厂商编程模型(如 CUDA、ROCm)的兼容性,而无需厂商特定的设备内核。
- 数据路径(设备侧): 实际的数据移动完全保留在设备上。发送方将数据从应用缓冲区复制到设备上的 RDMA 发送缓冲区;RNIC 将此缓冲区直接传输到远程对端;接收方将数据从 RDMA 接收缓冲区复制到目标设备缓冲区。
- 协同工作: 为了在没有设备侧控制逻辑的情况下维持执行依赖关系(例如流顺序),HetCCL 使用在设备流上启动的主机函数作为同步占位符。
2. 通过边界通信器实现的厂商无关规约
对于组合集合操作(如 AllReduce、ReduceScatter),HetCCL 避免为每种硬件类型编写自定义规约内核。相反,它利用了边界通信器机制:
- 拓扑抽象: 异构集群被分解为同构子集群(来自同一厂商的设备组)。在每个子集群内部,使用原生的厂商 CCL 进行高效的同构操作。
- 边界秩(Border Ranks): 每个子集群中指定特定的秩作为“边界秩”,负责处理集群间的通信。
- 规约策略: 对于全局规约,数据被传输到目标集群的边界秩。随后,规约计算通过目标集群厂商 CCL 的原生规约接口进行。通过利用现有的同构库而非实现新的跨厂商内核,实现了厂商无关性。
3. 分层算法与流水线执行
HetCCL 引入了分层算法设计以平衡灵活性与效率:
- 集群级原语: 集合操作被分解为三个步骤:(1) 集群内同构操作,(2) 集群间(C2C)数据传输或规约,(3) 最终的集群内操作。
- 流水线执行: 为了防止因顺序执行导致带宽利用率不足,HetCCL 实现了一个流水线工作流。它将独立的集群间数据传输与集群内集合操作进行重叠,从而最大化跨集群链路的利用率。
核心贡献
- 首个全设备缓冲区异构 CCL: HetCCL 是第一个支持跨混合厂商集群进行全设备缓冲区数据传输和 MPI 式集合操作的库,消除了 CPU 转发瓶颈。
- 创新的主机-设备协同: 它成功地将 RDMA 控制(主机)与数据移动(设备)解耦,在无需依赖厂商特定设备内核进行控制逻辑的情况下实现了高性能。
- 可移植的规约机制: 通过利用边界通信器和原生厂商库进行规约,它解决了组合集合操作中的可移植性挑战,且无需将计算卸载到 CPU。
- 分层拓扑抽象: 它提供了一种将异构集群建模为互连同构子集群的系统化方法,优化了数据传输量和带宽利用率。
评估结果
作者使用 C 和 Python(超过 3 万行代码)实现了 HetCCL,并将其与 PyTorch 集成。评估是在一个包含四种硬件厂商(NVIDIA A800 以及三个匿名厂商 V1、V2、V3)的集群上进行的。
- P2P 性能: 在异构 SendRecv 操作中,HetCCL 的带宽比 Gloo(标准的基于主机转发的基准)高出 17–19 倍。在非对称设置下,其带宽也比带宽较低的厂商原生 P2P 高出 13–45%。
- 集合性能:
- AllGather: 达到了较慢的同构厂商实现带宽的 85.7%–97.8%。
- AllReduce: 达到了较慢厂商实现带宽的高达 70.8%。
- C2C 效率: 在一个 4 节点、32 GPU 的集群中,C2C 算法在 AllGather 操作中达到了原生 NCCL 带宽的 97.4%。
- 端到端训练:
- 对于 Llama3-3B 和 Llama3-8B 模型,与基于主机转发的方法相比,HetCCL 分别减少了 9.1% 和 16.9% 的单步耗时。
- 文中指出,在更大规模、通信密集型场景中,加速效果更为显著。
- 推理服务性能: 在使用 Qwen2-7B 进行预填充-解码(prefill-decode)解耦的任务中,与基于主机转发的基准相比,HetCCL 将首字延迟(TTFT)降低了 >65%。
重要性与主张
论文声称,HetCCL 解决了现代 LLM 训练基础设施中的一个关键缺口,即过度依赖单厂商同构集群正变得不再现实。通过实现高效的混合厂商训练而不牺牲性能,HetCCL 使企业能够:
- 有效利用碎片化且多样化的计算资源(例如,旧硬件、不同的云实例)。
- 避免供应商锁定和采购限制。
- 在异构环境中实现接近原生的性能,使混合厂商集群成为大规模 AI 工作负载的可行替代方案。
作者强调,他们的解决方案保持了“设备侧”数据路径原则,这对于高性能计算至关重要,同时解决了此前迫使在效率与兼容性之间进行权衡的移植性问题。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。