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

内容摘要昇腾推出的大规模专家并行策略,其核心思想是通过跨节点的专家分片部署,将庞大的专家模型(如千亿参数的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
24小时热闻
今日推荐
浙ICP备16017970号-3