
文章摘要
华为在MoE(Mixture of Experts)训练系统领域取得了显著的技术突破,提出了全新的算子和内存优化方案,显著提升了训练效率和内存利用率。MoE作为一种独特的架构设计,正在成为突破大规模模型训练算力瓶颈的关键路径之一。然而,如何将MoE的潜力转化为高效的训练实践,一直是业界面临的难题。华为通过昇腾与鲲鹏算力的深度协同,从单节点视角出发,深入优化了NPU和CPU内部的算子计算、下发及内存使用,最终实现了训练吞吐量提升20%,内存占用降低70%的显著成果。
在MoE模型的单节点训练效率提升方面,华为面临两大核心挑战:算子计算效率低和NPU内存资源紧张。首先,硬件核心计算单元的利用率不足,存在冗余操作和数据流水搬运问题,导致整体计算吞吐受限。此外,复杂的专家路由机制增加了算子下发的调度压力,形成了Host-Bound瓶颈。其次,MoE模型的参数量动辄千亿甚至万亿,训练过程中前向传播累积的海量激活值使得内存资源捉襟见肘,容易引发NPU内存溢出(OOM)问题。
针对这些挑战,华为提出了三大核心算子优化策略:「瘦身术」、「均衡术」、「搬运术」。在FlashAttention算子优化中,华为通过调整计算顺序、消除冗余计算以及优化流水线衔接,实现了前/反向性能分别提升50%和30%。在MatMul算子优化中,华为通过调整数据流水搬运策略和矩阵子块斜向分配计算核,提升了Cube利用率10%。在Vector算子优化中,华为通过融合多个细粒度小算子和减少数据反复搬运,使得VectorSort类算子性能提升了3倍以上。
此外,华为通过昇腾和鲲鹏的高效协同,进一步优化了算子下发和内存管理。Host-Device协同优化实现了算子下发几乎「零等待」,单次Host-Bound时间从2.1ms降低至0.6ms,降幅超过70%。同时,Selective R/S内存优化技术通过对激活值的细粒度重计算和Swap策略,节省了超过70%的激活值内存。这些优化不仅显著提升了训练效率,还为大规模MoE模型训练扫清了障碍。
华为的这套优化方案不仅是一次技术突破,更是为行业提供了宝贵的参考路径。通过昇腾与鲲鹏的深度协同,华为展示了其在AI算力领域的深厚技术积累,为未来的大规模模型训练奠定了坚实的基础。
原文和模型
【原文链接】 阅读原文 [ 2615字 | 11分钟 ]
【原文作者】 新智元
【摘要模型】 deepseek-v3
【摘要评分】 ★★★★★