【昇腾大规模专家并行技术解码】双流并行实现低时延通信

内容摘要昇腾推出的大规模专家并行策略,其核心思想是通过跨节点的专家分片部署,将庞大的专家模型(如千亿参数的MoE模型)拆解为多个子专家模块,分别分配到不同计算节点上独立执行。     本期,将为大家重点介绍昇腾大规模专家并行针对通信时延的优化:通

昇腾推出的大规模专家并行策略,其核心思想是通过跨节点的专家分片部署,将庞大的专家模型(如千亿参数的MoE模型)拆解为多个子专家模块,分别分配到不同计算节点上独立执行。 

    本期,将为大家重点介绍昇腾大规模专家并行针对通信时延的优化:通过双流并行技术创新降低通信开销。

MoE场景通信时延瓶颈与优化路径

    大规模专家并行策略对跨节点通信时延提出了更高的要求,这一挑战在AI集群中具有普遍性:首先,随着模型参数规模的指数增长,传统集合通信模式(如AllToAll)面临严重的带宽竞争问题,特别是在千卡级以上集群中,通信延迟会随节点数量增加而显著上升;其次,异构计算环境下的非对称资源配置(如计算卡数量不等、内存带宽差异)导致通信负载难以均衡,产生“长尾效应”;再者,现代MoE架构特有的动态专家选择机制,使得通信模式从静态变为动态,进一步加剧了传统通信方案的适配难度。

昇腾MoE双流并行优化

    01

    Prefillmicro-batch双流并行:

    计算和通信相互掩盖,性能提升20%+

    LLM大模型在推理的Prefill阶段,由于输入序列长度(SeqLen)较长,其性能主要受限于计算耗时——随着BatchSize增加,推理计算耗时呈线性增长。同时,Prefill阶段的通信数据量为BatchSize* SeqLen *HiddenSize,随着BatchSize和序列长度的增加,通信数据量也显著增加,导致通信耗时占总耗时的20%-30%。 

    对此,昇腾CANN实现了大幅优化,将Prefill的Batch拆分为多个更小的microbatch。如下图所示,通过将microbatch之间的计算和通信过程进行重叠,在计算耗时较长的情况下,将通信耗时完全掩盖,实现20%+的性能收益。

    图1Prefill micro-batch双流并行

    02

    Weight预取双流并行:

    访存、通信并行,性能提升10%+

    在推理的Decode阶段,权重(Weight)加载耗时较长,主要原因是Weight需要频繁访问高带宽内存(HBM),导致缓存带宽开销较大。 

    针对该问题,利用昇腾910系列硬件L2Cache层的大容量、高带宽特性,预取Weight并存储到L2Cache中,可以实现通信与Weight加载并行,从而加速后续的Cube运算,显著降低Weight加载时间,同时提升Matmul算子的性能,整网性能提升10%+。

    图2Weight预取双流并行

【使用方法】

    以上优化特性已在昇腾CANN最新版本中实现,欢迎大家配套MindIE使用、体验。CANN包安装过程可参考社区文档:document/detail/zh/CANNCommunityEdition/81RC1alpha001/softwareinst/instg/instg_0000.html?Mode=PmIns OS=Ubuntu Software=cannToolKit 

    【昇腾未来演进思考】

    昇腾将继续探索MoE模型的通信优化。我们将充分利用昇腾硬件上多核并发能力,加速通信任务的下发和并发传输;同时,探索通信算子与其他计算算子更细粒度的通算融合,减少或掩盖启动和传输的开销,为更多的客户、伙伴提供更强大的技术能力。

 
举报 收藏 打赏 评论 0
今日推荐
浙ICP备2021030705号-9

免责声明

本网站(以下简称“本站”)提供的内容来源于互联网收集或转载,仅供用户参考,不代表本站立场。本站不对内容的准确性、真实性或合法性承担责任。我们致力于保护知识产权,尊重所有合法权益,但由于互联网内容的开放性,本站无法核实所有资料,请用户自行判断其可靠性。

如您认为本站内容侵犯您的合法权益,请通过电子邮件与我们联系:675867094@qq.com。请提供相关证明材料,以便核实处理。收到投诉后,我们将尽快审查并在必要时采取适当措施(包括但不限于删除侵权内容)。本站内容均为互联网整理汇编,观点仅供参考,本站不承担任何责任。请谨慎决策,如发现涉嫌侵权或违法内容,请及时联系我们,核实后本站将立即处理。感谢您的理解与配合。

合作联系方式

如有合作或其他相关事宜,欢迎通过以下方式与我们联系: