大模型训练推理优化(5): FlexLink —— NVLink 带宽无损提升27%

简介: 本期我们将介绍蚂蚁集团ASystem团队在大模型通信优化上的新工作FlexLink,旨在通过动态聚合多路通信(NVLink,PCIe,RDMA),在H800等典型硬件上将典型通信算子如(AllReduce, All Gather)吞吐提升最高达27%,尤其适合大模型长序列推理(Prefill阶段),及训练等通信密集的带宽bound场景。方案对精度无影响。

文章作者:申奥 张锐 赵军平。

系列回顾:

大模型训练推理优化系列:vTensor

大模型训练推理优化系列:FlowMLA

大模型推理显存优化系列(3):FlowMLA——面向高吞吐的DP MLA零冗余显存优化

大模型推理显存优化系列(4):eLLM-大模型推理中的弹性显存管理和优化

本期我们将介绍蚂蚁集团ASystem团队在大模型通信优化上的新工作FlexLink,旨在通过动态聚合多路通信(NVLink,PCIe,RDMA),在H800等典型硬件上将典型通信算子如(AllReduce, All Gather)吞吐提升最高达27%,尤其适合大模型长序列推理(Prefill阶段),及训练等通信密集的带宽bound场景。方案对精度无影响。

背景与挑战:被“闲置”的通信带宽

在当前的大模型并行策略中,无论是训练中的数据交换(例如EP=8),还是推理中的prefill阶段,都可能涉及机内大量的跨GPU的数据交换。

  1. 通信瓶颈凸显:实测表明,在单机H800运行开源模型处理64K长序列推理时,Prefill阶段通信耗时占比高达36%。字节跳动的MegaScale-MoE一文也指出,MoE模型训练中前向传播时的通信占比可达43.6%
  2. 链路利用单一化:行业普遍采用固化的通信模式:节点内几乎仅依赖高速NVLink,节点间则主要走通用以太网卡及RDMA网络。这种模式虽简洁高效,却忽视了同样连接GPU的的PCIe总线及基于PCIe的RDMA网卡的潜力,导致其带宽资源被长时间闲置
  3. 硬件限制:中国市场上广泛部署的H800核心的NVLink互联带宽遭到了大幅削减。例如,H800的NVLink带宽仅为400 GB/s,远低于标准版H100的900 GB/s。

FlexLink思路:从单独最优到动态多路聚合,榨干硬件潜力

FlexLink的核心思想是打破固化模式,化“单选题”为“多选题”。我们在NVLINK的基础上,将所有可用的通信链路视为一个统一的、可聚合的带宽资源池。通过协同使用这些链路,实现总通信吞吐的最大化。 因此,FlexLink的核心设计包括:

  • 多通道并发传输:聚合NVLink,PCIe,RDMA网卡等多个物理上独立的传输通道,将一次大的通信传输操作,拆分到多个链路并发执行,以提高总带宽。
  • 动态负载划分: FlexLink采用了两阶段的负载均衡和划分:通过感知硬件拓扑,简单,轻量地在初始化的时候,tuning各个链路的负载比例以及适合各个链路的chunk大小。并且在运行时通过实时的负载特征,对于各个链路的负载进行实时调整。
  • CPU内存中转优化:针对利用PCIe进行卡间通信(需通过Host Memory中转)的场景,FlexLink通过流水线化通信过程,通信组GPU的NUMA节点感知,以及优化Host Memory的访问路径和CPU执行开销,有效提升PCIe卡间通信效率。

image.gif

图1: FlexLink设计图

FlexLink关键设计:两阶段自适应负载均衡简介

如何让带宽相对较慢的PCIe和RDMA网卡在分担负载的同时,避免拖累高速NVLink-----这是实现增益的关键。

我们尝试通过两阶段负载均衡机制来解决这一问题。

  • 初始化阶段: 基于硬件信息建模,设定初始负载比例。随后在短时间内进行微调(按步长转移负载),监测链路性能偏序关系变化。若关系反转(如慢链路变快),则减半步长并迭代优化,数秒内收敛到较优状态。
  • 运行时阶段: 在固定时间窗口内Evaluator采集各链路传输速率数据, 并反馈给Load Balancer:
  • 识别当前窗口内最有可能的最慢与最快链路。
  • 计算平均速率差,若超过阈值,则从慢链路向快链路转移负载份额。
  • 特别地,若NVLink并非最慢链路,则采用差异化阈值进行更积极的份额转移,确保其高效利用。

image.gif

图2: 基于Load Balancer和Evaluator进行运行时负载均衡

FlexLink初步结果对比

硬件环境:H800 SXM *8(单机,NVLink 400GB/s,PCIe 5.0, 8块ConnectX-6网卡 (800Gbps双向)。

软件版本:CUDA 12.4,GPU Driver 535,NCCL 2.27.3,NVSHMEM 3.2.5。

负载情况:AllReduce: input=output=256MB;AllGather: input=256MB, output = worldsize * input,我们选择256MB以充分体现带宽瓶颈的场景。

关注指标:Input / Duration (GB/s)。

通信方式

卡数

NCCL基线

FlexLink

PCIe+RDMA 贡献

带宽提升比例

  1. PCIe + RDMA 负载%
  2. PCIe 负载%
  3. RDMA 负载%

AllReduce

2卡

139 GB/s

175 GB/s

36 GB/s

26%

  1. 21%
  2. 12%
  3. 9%

AllReduce

4卡

98 GB/s

118 GB/s

20 GB/s

20 %

  1. 18%
  2. 13%
  3. 5%

AllReduce

8卡

107 GB/s

109 GB/s

2 GB/s

2 %

  1. 2%
  2. 1%
  3. 1%

AllGather

2卡

132 GB/s

161 GB/s

29 GB/s

22 %

  1. 19%
  2. 14%
  3. 5%

AllGather

4卡

49 GB/s

62 GB/s

13 GB/s

27%

  1. 22%
  2. 12%
  3. 10%

AllGather

8卡

21 GB/s

26 GB/s

5 GB/s

24%

  1. 19%
  2. 12%
  3. 7%

实验结果表明:

  • 在 2卡,4卡H800环境下,对于AllReduce算子(256MB输入),FlexLink带来了20%和26%的提升,在8卡场景下,由于AllReduce的通信链路相比AllGather较长,延迟增加更明显,导致性能提升(2%)相对有限。
  • 对于AllGather算子(256MB输入),在2卡、4卡场景下提升达22%以及27%;在8卡场景下,虽然通信延迟增加带来一定挑战,FlexLink仍实现了24% 的有效提升。
  • PCIe与RDMA链路成功分担了18%-22% 的总通信负载,有效利用了闲置带宽。

小结

FlexLink通过动态启用多链路聚合、结合初始化粗粒度负载均衡运行时细粒度自适应调整,有效的提升了系统可用带宽。其价值不仅限于H800。对于同样面临卡间通信带宽限制的其它硬件平台,理论上均可基于该方法进一步提升。

进一步工作:

  • 我们将适时进行开源推理框架的集成,敬请期待!
相关文章
|
13天前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
255 4
|
26天前
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
561 8
|
28天前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
25天前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
890 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
23天前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
228 10
|
21天前
|
监控 算法 测试技术
大模型推理服务优化:动态批处理与连续批处理技术
本文系统阐述大语言模型推理服务中的关键技术——动态批处理与连续批处理。通过分析传统静态批处理的局限性,深入解析动态批处理的请求调度算法、内存管理策略,以及连续批处理的中断恢复机制。文章包含完整的服务架构设计、核心算法实现和性能基准测试,为构建高性能大模型推理服务提供全面解决方案。
164 3
|
22天前
|
机器学习/深度学习 存储 缓存
大模型推理加速技术:PagedAttention原理与实现
本文深入解析大语言模型推理中的革命性技术——PagedAttention,该技术是vLLM推理引擎的核心创新。通过将操作系统中的虚拟内存分页概念引入注意力机制,PagedAttention有效解决了KV缓存的内存碎片问题,实现了近乎零浪费的KV缓存管理。文章详细阐述其原理、内存管理机制、实现细节,并提供完整的代码示例和性能分析。
145 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
推理型大语言模型兴起,通过先思考再作答提升性能。本文介绍GRPO等强化学习算法,详解其原理并动手用Qwen2.5-3B训练推理模型,展示训练前后效果对比,揭示思维链生成的实现路径。
311 2
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南

热门文章

最新文章