我们基于昇腾 910B 8 卡 ×16 节点集群、CANN 7.2、MindSpore 2.3 训练70B 参数大模型,采用TP+PP+DP 混合并行 + ZeRO-2,遇到了非常典型但难以根治的分布式性能瓶颈,尝试过多种调优手段仍无法解决,特来求助。
环境与目标
- 芯片:昇腾 910B 32GB HBM
- 互联:RoCE 200G,HCCL 7.1.RC1
- 并行策略:TP=8,PP=2,DP=16
- 精度:BF16 + FP16 混合精度
- 目标:单卡有效算力利用率 ≥ 80%,AllReduce 耗时占比 ≤ 12%
核心问题(三个强相关瓶颈)
-
AllReduce 长尾延迟严重,节点间不均同批次内,部分卡 AllReduce 仅 18ms,部分卡达到 60~90ms,长尾占比超 25%,导致整集群同步阻塞等待,AI Core 频繁 idle。
-
梯度累积阶段与 AllReduce 无法完全并行开启梯度累积(accum=4)后,期望计算与通信重叠,但实际表现为:前向 / 反向计算时通信无法真正跑满,梯度同步时计算又停等,重叠率仅 35%,远低于预期。
-
PP 流水线 bubble 随 AllReduce 延迟同步放大流水线 bubble 本应稳定在 8% 左右,但受 AllReduce 长尾影响,bubble 瞬间冲到 25%+,整周期迭代耗时抖动巨大。
已尝试:
- 修改 HCCL 配置:
HCCL_CONNECT_ROCE、HCCL_BUFFER_SIZE、HCCL_MULTI_PORTS - 调整梯度分块大小、AllReduce 分阶段
- 打开
enable_comm_overlap、enable_task_overlap - 开启
hccl_enable_rdma、调整 MTU 8192 - NUMA 绑定、IRQ 亲和性
均无本质改善。
请教专家
- 昇腾 910B + RoCE 下,HCCL AllReduce 长尾延迟的根因通常是什么?如何定位与根治?
- 大模型 + 混合并行场景下,如何实现梯度累积与 AllReduce 高重叠(≥85%)?
- PP 流水线 bubble 被分布式同步放大,有哪些昇腾专属调度 / 切分策略可以抑制?
我们基于昇腾 910B 8 卡 ×16 节点集群、CANN 7.2、MindSpore 2.3 训练70B 参数大模型,采用TP+PP+DP 混合并行 + ZeRO-2,遇到了非常典型但难以根治的分布式性能瓶颈,尝试过多种调优手段仍无法解决,特来求助。
环境与目标
核心问题(三个强相关瓶颈)
AllReduce 长尾延迟严重,节点间不均同批次内,部分卡 AllReduce 仅 18ms,部分卡达到 60~90ms,长尾占比超 25%,导致整集群同步阻塞等待,AI Core 频繁 idle。
梯度累积阶段与 AllReduce 无法完全并行开启梯度累积(accum=4)后,期望计算与通信重叠,但实际表现为:前向 / 反向计算时通信无法真正跑满,梯度同步时计算又停等,重叠率仅 35%,远低于预期。
PP 流水线 bubble 随 AllReduce 延迟同步放大流水线 bubble 本应稳定在 8% 左右,但受 AllReduce 长尾影响,bubble 瞬间冲到 25%+,整周期迭代耗时抖动巨大。
已尝试:
HCCL_CONNECT_ROCE、HCCL_BUFFER_SIZE、HCCL_MULTI_PORTSenable_comm_overlap、enable_task_overlaphccl_enable_rdma、调整 MTU 8192均无本质改善。
请教专家