昇腾+盘古:MoE模型推理性能提升6-8倍的秘诀

华为昇腾平台联合盘古,通过软硬协同优化,使MoE模型推理性能提升6-8倍,打造更优性价比的推理体验。

原文标题:MoE推理「王炸」组合:昇腾×盘古让推理性能狂飙6-8倍

原文作者:机器之心

冷月清谈:

华为团队在昇腾平台推出了原生设计的Pangu Pro MoE 72B模型,该模型通过系统级软硬协同优化、高性能算子融合优化、模型原生投机算法优化等手段,将推理性能提升了6-8倍。具体优化包括:

* **分层混合并行(H2P):** 针对模型结构和硬件拓扑特性进行优化,让每个模块都在最适合的并行方式下运行,提升了解码吞吐性能。
* **攻克通信瓶颈(TopoComm):** 通过SlimRing和NHD算法,降低通信同步次数,提高链路有效带宽,并采用混合量化通信策略压缩通信数据,降低了AllGather通信耗时。
* **计算 & 通信融合(DuoStream):** 通过GMMRS和AGMM两大融合策略,实现计算与通信的细粒度并发调度,有效克服通信与数据搬运和计算之间的瓶颈。
* **打造六边形算子战队:** 通过MulAttention和SwiftGMM融合算子,实现了从资源访问、计算调度到数据搬运的全链路优化,显著提升推理性能表现。
* **推理算法加速:** 通过PreMoE动态剪枝、TrimR反思压缩和SpecReason反思投机算法,实现了推理性能与资源效率的双重跃升。

在昇腾800I A2和昇腾300I Duo上,Pangu Pro MoE模型都展现出了卓越的推理性能和性价比。

怜星夜思:

1、MoE模型中的专家数量和选择机制是如何影响推理性能和模型泛化能力的?
2、文章中提到的多种优化策略,例如H2P、TopoComm、DuoStream等,在其他类型的AI模型或硬件平台上是否适用?如果适用,需要进行哪些调整?
3、昇腾平台在MoE模型推理上的优势体现在哪些方面?除了文章中提到的优化外,还有哪些潜在的优化方向?

原文内容

机器之心发布

机器之心编辑部


在通往通用人工智能(AGI)的进程中,混合专家(MoE)模型凭借动态稀疏计算优势,成为大模型推理提效的关键路径。华为团队重磅推出昇腾平台原生设计的 Pangu Pro MoE 72B模型,大幅降低计算开销,并在SuperCLUE千亿内模型并列国内第一


通过系统级软硬协同优化、高性能算子融合优化、模型原生投机算法优化,Pangu Pro MoE 推理性能提升 6~8 倍,在昇腾 300I Duo 上单卡吞吐可达 321 tokens/s,实现极致性价比;在昇腾 800I A2 上更可飙升至 1528 tokens/s,全面释放硬件潜力,打造极致的推理体验。



技术报告地址:https://gitcode.com/ascend-tribe/ascend-inference-system/blob/main/%E6%98%87%E8%85%BE%E5%B9%B3%E5%8F%B0Pangu%20Pro%20MoE%E5%85%A8%E9%93%BE%E8%B7%AF%E9%AB%98%E6%80%A7%E8%83%BD%E6%8E%A8%E7%90%86%E7%B3%BB%E7%BB%9F%E4%BC%98%E5%8C%96%E5%AE%9E%E8%B7%B5.pdf


推理效率拉满:全链路推理系统优化,释放昇腾澎湃算力


在大模型的分布式推理中,每个计算节点都像一个团队成员,信息流通、协调协作不可避免。就像一场跨部门的大项目,若每一步都开「全员大会」,沟通成本高、效率低,项目推进自然慢半拍。聪明的做法,是开对会、分好组,精准沟通、各司其职。这正是华为团队在 Pangu Pro MoE 大模型推理优化中的灵感来源!

 

分层混合并行(H2P):不再「全员大会」,「专人专会」推理才高效!


还在用「一刀切」的并行方式处理大模型?就像公司里什么事都开全员大会,不管你是财务还是研发,全都坐在会议室浪费时间 —— 看似热闹,实则低效。


华为团队另辟蹊径,灵感来自「专人专会」策略,提出创新性的 H2P 混合并行(Hierarchical & Hybrid Parallelism)。与其让所有模块频繁地「开大会」,不如根据任务特性「分工开小会」,让每个部分在各自的通信域内中高效执行!


该策略精准匹配模型结构和硬件互联拓扑特性:Attention 模块采用 DP2+TP4 并行方案,轻量参数聚焦单 CPU 内高效通信;Expert 模块针对路由专家的分组与动态负载,采用 TP2+EP4 策略,实现计算均衡与效率提升;共享专家则以 TP8 全芯并行,加速稠密计算,全方位激发昇腾平台算力潜能。


H2P 策略进一步在 Attention 模块引入 Reduce-Scatter 替代 AllReduce,避免数据聚合操作导致后续通信传输数据量膨胀,并通过优化 AllGather 插入位置,降低冗余向量计算;同时基于分组专家设计,Expert 模块利用全局 AllGather 高效完成 token 与专家的动态匹配,结合全局 Reduce-Scatter 实现路由专家与共享专家的归一通信。


通过这种「哪类事开哪类会」的智慧分工方式,H2P 策略让每个模块都在最适合的并行方式下发挥最大潜能,摆脱了传统「大锅饭式」并行的性能瓶颈,让推理效率飞升一大截,Decode 吞吐性能相比纯 TP 方案提升 33.1%


图 1 H2P 化方案示意图 


攻克通信瓶颈(TopoComm):拒绝「冗余发言」,「言简意赅」推理才畅通!


在大模型推理中,通信就像一场大型数据会议:「会前准备」是静态开销,「会中发言」则对应数据传输。华为团队以「提高开会效率」为目标,设计 TopoComm 优化方案,会前准备到会中交流环节全方位深度优化集合通信,让数据传得快、讲得清、效率高。


针对静态开销,提出 SlimRing 算法,利用 Ring 链路通信对象固定特性,合并相邻通信步的后同步与前同步操作,同步次数降低 35%。针对传输耗时,提出 NHD 算法,通过拓扑亲和的分级通信等效提高链路有效带宽 21%;进一步引入 INT8 AllGather + FP16 Reduce-Scatter 的混合量化通信策略,结合跨芯校准与量化因子复用,实现通信数据压缩 25%,AllGather 通信耗时降低 39%


图 2 TopoComm 优化方案示意图


计算 & 通信融合(DuoStream):告别「干等闲耗」,推理「开会干活」两不误!


大模型分布式并行推理就像一个协作型项目,需要多卡在通信(开会)与计算(干活)之间不断交替执行。高效的团队往往能在会议中一边讨论、一边分工执行,真正做到边「开会」边「干活」,从而大大提高整体效率。华为团队正是借助这一理念,深入挖掘昇腾平台多流架构的潜力,提出 DuoStream 算子级多流融合通算优化方案,实现计算与通信的细粒度并发调度,大幅提升推理计算效率。


针对 Pangu Pro MoE 模型中 Expert 模块通信占比高的问题,构建 GMMRS(GroupedMatmul+Reduce-Scatter)与 AGMM(AllGather+Matmul)两大融合策略,有效克服通信与数据搬运和计算之间的瓶颈,实现关键通信路径的流水掩盖,进一步释放模型在昇腾平台上的推理性能。通过这套 “边讨论边干活” 的融合式优化机制,通信与数据搬运和计算协同推进,显著提升了模型在昇腾平台上的推理效率,最大化释放硬件资源潜能。


图 3 DuoStream 优化方案示意图


打造六边形算子战队:单兵作战到特种部队,融合算子释放昇腾潜能


在大模型推理的算力战场上,传统算子如同各自为战的「单兵」,每个算子独立执行、协作脱节。数据搬运兵(内存访问) 与计算突击手(矩阵乘)各自为战,每次任务需反复传递数据(全局内存读写),大量兵力浪费在资源协调上(Kernel 启动开销),导致资源调度低效、内存搬运频繁,造成大模型推理的「单兵算子困局」。为终结算力内耗以释放硬件潜力,华为团队重构算子执行范式,打造两支精锐「融合算子特种部队」——MulAttention 和 SwiftGMM,实现了从资源访问、计算调度到数据搬运的全链路优化,显著提升推理性能表现。


MulAttention:注意力计算尖刀连,打下推理 KV 搬运桥头堡


随着并发数和序列长度持续增长,Attention 计算时延在整网占比达 30% 至 50%,其中 KV 缓存搬运占据了约 70% 的算子执行耗时。为此,华为团队基于昇腾架构打造原生高性能融合算子 ——MulAttention。


该算子围绕增量推理阶段 KV 数据搬运与计算的高效流水编排开展优化,通过构建 KV 大包连续搬运优化策略,极大提高了访存带宽利用率。同时设计 KV 预取流水机制,有效降低计算的暴露时延。进一步构建了 KV 双循环结构,解耦矩阵与向量计算间数据依赖,缓解指令队列堵塞同时提高向量计算并行度。最终实现 Attention 计算加速 4.5 倍,达成 89% 以上的数据搬运流水占用率以及 87% 的访存带宽利用率


图 4 MulAttention 融合算子优化设计示意图


SwiftGMM:专家计算突击队,闪电速度抵达推理算力战场


路由专家权重搬运已成为 MoE 模型端到端时延的核心瓶颈,且其稀疏激活特性导致的负载动态波动进一步放大了性能优化的挑战。对此,华为团队面向昇腾平台推出高性能矩阵计算引擎 ——SwiftGMM。


SwiftGMM 引入基于历史数据的智能分块缓存策略,通过动态预测并调整最优分块参数,规避重排开销;同时根据计算负载强度,动态切换 GEMV 与 GEMM 执行模式,实现轻重计算任务的灵活调度,保障算子始终运行在高效区间。此外,该算子结合左矩阵单次加载与常驻方案以及双缓存机制,进一步实现数据搬运与计算的高效流水。通过上述系列「闪电突袭」,实现 GMM 计算加速 2.1 倍,解码阶段整网推理时延降低 48.7%


图 5 SwiftGMM 融合算子优化设计示意图


推理算法加速:降本增效,实现推理性能与资源效率的双重跃升


推理系统端到端竞争力不仅涉及单一模型推理,还涉及输入输出序列长度优化,多个模型组合推理。华为团队提出专家动态剪枝算法 PreMoE。针对慢思考输出序列长度过长,提出反思压缩 TrimR 算法。针对多个模型协同,设计实现了反思投机 SpecReason 算法


PreMoE:给 MoE 模型动态「瘦身」


MoE 模型在处理不同任务时,只有特定的专家会被显著激活。和去医院就诊一样,每次挂号去一个科室。MoE 模型的专家动态剪枝 PreMoE 算法,由两个创新性技术组件组成:PEP 用来度量专家重要性,选出给定任务最相关的专家;TAER 查询相似性动态加载与任务相关的专家。保持模型准确率的同时,实现推理吞吐提升 10%+。


组合拳出击:多个模型协同优化


在复杂逻辑问题上,慢思考生成冗长的中间「思考」。但是一旦模型找到正确答案,更进一步的思考收益甚微(「过度思考」);在非常困难的问题上,模型在不同的解决方案之间频繁切换(「欠思考」)。华为团队提出 TrimR 反思压缩算法,用一个小的 7B 模型去动态监测大模型是否出现过度思考和欠思考,如果思考过程异常,通过修改 Prompt 及时让大模型终止并给出最终答案,推理步数降低 14%。


大模型通常能力较强,小模型相对能力偏弱,但是小模型能够解答子问题。SpecReason 反思投机算法使用小模型首先生成 token 序列(如短分析段或假设),而不是单 token 预测,然后大模型执行正确性验证:如果有效,将内容合成为浓缩摘要,并为下一个分析步骤提供方向性指导(如指定下一步探索哪个方面);如果无效,调整小模型的推理方向,使其重新考虑假设或转向替代假设。SpecReason 充分发挥了小模型的优势,推理吞吐提升 30%。


性能全面突破:昇腾亲和软硬协同优化,推理解码性能暴涨 6~8 倍


昇腾 800I A2:大模型的高性能推理平台


在解码阶段采用 4 卡部署策略,Pangu Pro MoE 模型实现了卓越的推理性能:小并发场景下(BS=1,Seq=2k)权重搬运量仅 16B,具备低时延响应能力;大并发场景下(BS=456,Seq=2k),单卡吞吐达 1148 tokens/s,较 72B 和 32B 稠密模型分别提升 97% 和 18%。结合 MTP 投机推理技术,在 token 接受率达 0.9 时,单卡 BS 可提升至 146,平均时延降至 95.56 ms,最高吞吐突破 1528 tokens/s,显著提升高并发任务的推理效率。


表 1 昇腾 800I A2 服务器 4 卡配置下解码阶段推理性能测试结果(输入长度 2k)。* 表示在 MTP 投机推理接受率达到 0.9 条件下可达到的最高输出吞吐。


昇腾 300I Duo:极致性价比的推理平台


依托 Pangu Pro MoE 模型与昇腾平台的深度协同,昇腾 300I Duo 在百亿级 MoE 模型推理中展现出卓越性能与极高性价比。在预填充阶段,2 卡 2 路并发下实现 2k 序列输入仅 1.94s 延迟,单卡吞吐达 1055 tokens/s。在解码阶段,4 卡部署灵活适配不同并发需求:小并发场景下延迟低至 50ms,大并发场景(BS=80)下单卡吞吐达 201 tokens/s,兼顾低延迟与高吞吐。结合高接受率的 MTP 技术,单卡 Batch Size 可提升至 32,平均时延降至 99.7ms,吞吐最高达 321 tokens/s,充分释放 MoE 模型在昇腾平台的推理潜能与 800I A2 推理相比,300I DUO 能够提供更加经济的 MoE 推理解决方案,为各行各业的推理应用部署提供极具性价比的选择


表 2 昇腾 300I Duo 服务器 4 卡配置下解码阶段推理性能测试结果(输入长度 2k)。* 表示在 MTP 投机推理接受率达到 0.9 条件下可达到的最高输出吞吐。


至此,昇腾盘古推理系统的全流程优化已全面揭晓。从系统级优化到高性能算子,软硬协同、层层突破、步步精进,构建起高性能、大规模、低成本的推理能力底座。华为团队持续深耕模型 - 系统的软硬协同创新,为通用大模型的规模部署和高效落地提供了坚实支撑。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

这些优化策略很多是通用的,比如通信优化、计算和通信融合这些思路,在其他模型和硬件平台上都有借鉴意义。但是,具体实施需要根据目标模型和硬件的特性进行调整。例如,H2P分层并行是针对MoE模型的结构设计的,如果模型结构不同,就需要调整并行策略。硬件平台的不同也会影响通信和计算的优化方式,需要充分考虑硬件的架构和性能特点。

除了文中所述,我觉得昇腾的优势还在于它的“全栈”能力。华为可以从芯片、硬件、软件、框架等各个层面进行协同优化,从而实现整体性能的提升。其他潜在的优化方向,我认为可以关注以下几个方面:

* 动态负载均衡: MoE模型的负载通常是不均衡的,如何动态地将计算任务分配到不同的设备上,以充分利用资源,是一个值得研究的方向。
* 模型蒸馏与压缩: 将MoE模型蒸馏成更小的模型,或者采用模型压缩技术,可以降低计算成本和内存占用。
* 混合精度训练: 利用昇腾平台提供的混合精度训练能力,进一步提升训练效率。

从我个人的理解来说,专家数量和选择机制确实是MoE模型的核心。专家数量越多,模型理论上能够处理的复杂性就越高,但同时也带来了更高的计算成本和更大的过拟合风险。选择机制就像一个“路由”,它决定了哪些输入数据应该由哪些专家来处理。如果这个“路由”做得不好,就可能导致某些专家过载,而另一些专家则闲置,从而影响整体的推理效率和模型效果。

我觉得这些优化策略就像是“优化工具箱”里的工具,不同的工具适用于不同的场景。H2P这种并行策略可能更适合具有特定结构的模型,而像TopoComm这种通信优化则相对通用。关键在于理解这些策略背后的原理,然后根据实际情况进行灵活运用。比如,如果要在GPU上应用这些策略,就需要考虑GPU的架构特点,例如shared memory的使用、CUDA编程等等。

这个问题很关键!专家数量直接决定了模型的参数量和计算复杂度,选择机制则决定了哪些专家参与到特定任务的计算中。专家数量太少可能导致模型能力不足,泛化性差;太多则会增加计算开销,甚至可能出现过拟合。选择机制如果不够智能,无法有效激活相关专家,也会影响性能。所以需要在两者之间找到一个平衡点,根据具体任务和数据集来调整专家数量和选择机制。

个人感觉昇腾平台在MoE推理上的优势,一方面是算力足,另一方面是华为自己对这个平台的理解足够深。他们可以针对MoE模型的特点,在硬件和软件层面进行定制化的优化。 除了文章里说的,我觉得还可以考虑以下几个方向:

* 算子融合的粒度更细: 目前的算子融合可能还是比较粗粒度的,如果能将更多细小的算子融合在一起,应该还能提升性能。
* 内存管理的优化: 大模型的内存管理是个大问题,如何更有效地利用内存,减少内存拷贝,也是一个重要的优化方向。
* 探索新的硬件架构: 或许可以针对MoE模型设计专门的硬件加速器,从根本上提升推理性能。

理论上是适用的,但需要适配。H2P这种分层并行,本质上是针对模型结构和硬件拓扑结构的匹配优化,其他模型只要有类似的分层结构,就可以借鉴。通信优化(TopoComm)更是通用,减少通信量、提高通信效率是任何分布式系统都要考虑的问题。DuoStream这种计算通信融合,也是尽可能利用硬件特性,让计算和通信并行执行。所以,关键在于理解这些优化策略的本质,然后根据具体情况进行调整和适配。

这让我想到了一个比喻:专家数量就像是一个团队的成员数量,选择机制就像是任务分配的方式。如果团队成员太少,可能无法胜任复杂任务;如果成员过多,又可能造成资源浪费和效率低下。任务分配如果不够合理,就会导致有的成员忙死,有的成员闲死。所以,关键在于找到一个合适的团队规模,并建立一套高效的任务分配机制。有些研究也在关注自适应的专家数量调整,感觉未来这方面会有更多突破。

昇腾平台的优势在于软硬件协同优化。从硬件层面,昇腾提供了高算力、高带宽的计算资源;从软件层面,华为针对昇腾平台进行了深度优化,例如开发了高性能算子、优化了通信库等等。此外,昇腾的统一架构也使得模型部署更加方便。潜在的优化方向包括:进一步优化算子性能、探索新的模型压缩和量化技术、以及利用昇腾平台的AI原生能力等。