[控场AI]
· 4 分钟阅读· 2,213 字

CHARM+:跨硬件注意力机制如何突破分布式通信瓶颈

CHARM+:跨硬件注意力机制如何突破分布式通信瓶颈

CHARM+ 通过通信分级与多流并行、解耦跨硬件与硬件内通信,消除分布式注意力的同步瓶颈,在双 NUMA 与双节点架构上实现最高 2.9 倍加速。

长序列推理中广泛采用的 Ring-Attention 因顺序通信依赖导致计算与通信难以重叠,在跨 NUMA 或跨节点部署中,带宽不均衡更使频繁同步成为性能拖累。CHARM+ 提出两项核心设计:一是将顺序通信重组为多个层级,实现层内并行与计算通信重叠;二是解耦跨硬件与硬件内通信,使快链路不再跟随慢链路同步。二者共同构成 Re-Merge Multistream 机制。实测显示,双 NUMA PCIe 架构上前向加速 1.3 倍、反向 1.7 倍;双节点 NVLink 架构上前向 2.8 倍、反向 2.9 倍,且反向加速普遍高于前向,NVLink 收益大于 PCIe。该工作针对真实集群中链路带宽参差不齐的典型部署形态,对依赖频繁集合通信的其他并行策略也有参考价值。

长序列推理已成为大模型训练的常态,分布式注意力方案如 Ring-Attention 被广泛采用。但通信依赖导致计算与通信难以充分重叠,GPU 利用率受限。在跨 NUMA 或跨节点架构中,带宽不均衡更让频繁同步成为整体性能的拖累。CHARM+(Cross-Hardware Attention with Re-Merge Multistream Mechanism)正是针对这一痛点提出的优化方案。

CHARM+ 论文概览

分布式注意力的通信瓶颈从何而来

Ring-Attention 将序列切分到多张 GPU 上,通过环形通信逐步聚合注意力结果。这种模式天然依赖顺序通信:每一轮计算必须等待上一轮通信完成,计算与通信的重叠空间被压缩。

问题在跨硬件场景下进一步放大。NUMA 架构或跨节点部署中,不同链路的带宽并不对等——本地链路快、跨硬件链路慢。频繁的同步操作会让快链路空等慢链路,整体吞吐被最慢的一环拖住。论文指出,这种带宽不均衡带来的同步开销,是跨硬件分布式注意力难以绕开的障碍。

Ring-Attention 是一种将长序列切分到多张 GPU 上、通过环形(ring)拓扑逐步聚合注意力结果的分布式注意力实现方式。其核心思想是把序列按块分配到各设备,每张卡持有查询(Q)的一部分,而键(K)和值(V)的块沿环依次传递,每轮计算局部注意力并累加部分结果,直到所有 KV 块遍历完毕。这种设计使单卡显存占用与序列长度解耦,因而被广泛用于长上下文训练与推理。但它的代价是通信与计算严格交替:每一轮必须等待上一轮的 KV 块到达才能开始计算,形成天然的串行依赖链,计算与通信的重叠窗口很窄,在带宽受限或链路不均衡时尤为明显。

NUMA(Non-Uniform Memory Access,非统一内存访问) 是一种多处理器架构:每个 CPU 或 GPU 拥有本地内存,访问本地内存延迟低、带宽高,而访问其他节点的远程内存则需经过互连链路,延迟更高、带宽更低。因此同一台机器内不同设备之间的链路带宽并不对等,形成“快慢混合”的拓扑。跨节点部署时这一问题更突出,节点内(如 NVLink)与节点间(如 InfiniBand 或以太网)的带宽差距可达数倍。在分布式注意力这类需要频繁同步的负载中,快链路必须等待慢链路完成,整体吞吐被最慢环节拖住,这正是文中强调的带宽不均衡同步开销的根源。

CHARM+ 的两个核心设计

通信分级与多流并行

CHARM+ 将原本顺序执行的通信重新组织为多个层级,在同一层级内实现并行,并让计算与通信相互重叠。这样一来,环形通信中“等前一步算完再走下一步”的串行链条被拆解,GPU 在等待远端数据时仍有本地工作可做。

多流(multistream)并行 指利用 GPU 的多个 CUDA 流(stream)同时调度计算核与通信操作。不同流中的任务可以并发执行,配合异步拷贝引擎,使计算核在等待远端数据到达时继续处理本地已就绪的分块。CHARM+ 的 Re-Merge Multistream 机制正是借助多流把原本串行的“计算—通信—计算”链条拆成可交错执行的片段,从而在环形通信的等待间隙填入有效计算,提高 GPU 利用率。多流并行的效果取决于任务划分粒度与依赖管理,粒度过粗难以重叠,过细则调度开销上升。

解耦跨硬件与硬件内通信

第二个设计是把跨硬件通信和硬件内通信分开处理。跨硬件链路带宽低、延迟高,硬件内链路则快得多。将两者解耦后,快链路不必跟着慢链路的节奏同步,带宽不均衡造成的同步等待被消除。

这两个设计共同构成 Re-Merge Multistream 机制:多流并行负责挖掘重叠空间,分级与解耦负责消除不必要的同步点。

实测加速:双 NUMA 与双节点对比

论文在前向和反向算法上分别评估了多种硬件架构,均优于当前最优方法。具体数据如下:

  • 双 NUMA PCIe 架构:前向平均加速 1.3 倍,反向平均加速 1.7 倍,对比对象为 Ring-Attention。
  • 双节点 NVLink 架构:前向平均加速 2.8 倍,反向平均加速 2.9 倍。

你可能没注意到,反向传播的加速幅度普遍高于前向。考虑到反向计算涉及的通信轮次更多、依赖关系更复杂,通信优化带来的收益在反向路径上更容易被放大,这一结果符合直觉。

NVLink 架构上的加速比明显高于 PCIe 架构。跨节点 NVLink 虽然带宽高于 PCIe,但节点间与节点内的带宽差距依然存在,CHARM+ 的解耦设计在这种“快慢混合”的拓扑中收益更大。

对长序列推理的实际意义

从工程视角看,CHARM+ 的价值不只在于加速比数字。它针对的是分布式注意力在真实集群中的典型部署形态——NUMA 节点、多机多卡、链路带宽参差不齐。这些场景下,理论算力与实际利用率之间的差距往往来自通信同步,而非计算本身。

将顺序通信拆分为可并行的层级、把跨硬件与硬件内通信解耦,这套思路对其他依赖频繁集合通信的并行策略同样有参考价值。随着序列长度继续增长,通信效率会成为比单卡算力更关键的约束,CHARM+ 这类跨硬件通信优化的工作,正在把注意力机制的扩展边界往外推。

#CHARM+#分布式注意力#Ring-Attention#跨硬件通信#序列并行#大模型推理优化#NUMA#NVLink
分享:

相关推荐