news 2026/9/2 23:19:53

昇思人工智能框架峰会 | 昇思MindSpore MoE模型性能优化方案,提升训练性能15%+

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
昇思人工智能框架峰会 | 昇思MindSpore MoE模型性能优化方案,提升训练性能15%+

据悉,昇思MindSpore开源社区将于 2025 年 12 月 25日在杭州举办昇思人工智能框架峰会。本次峰会的昇思人工智能框架技术发展与行业实践论坛将讨论到昇思MindSpore大模型训练技术进展与实践,MindSpore Parallel Training System SIG的核心贡献者将在昇思开发者动手实践workshop设立开发者动手实践体验,带领开发者体验使用昇思MindSpore大模型训练技术。本文对MindSpore 大模型训练技术进行了深入解读,就业界关热度较高的MoE性能优化技术,介绍MindSpore方案。

混合专家模型(Mixture of Experts, MoE)因其在计算效率与模型容量之间巧妙的平衡作用,能有效缓解解决大模型参数指数增长带来的计算压力的关键技术之一,正成为构建超大规模神经网络的核心架构。然而,MoE模型引入的复杂路由机制,导致通信开销显著增长,特别是token dispatch和combine阶段,AlltoAll类密集的跨机大数据量通信,成为系统性能的主要瓶颈。针对这一瓶颈,昇思MindSpore面向大模型训练实践,提出了一套MoE性能优化方案。

昇思MindSpore MoE性能优化方案主要包含机间通信合并、零冗余通信、AlltoAllV收发异构复用3项关键技术。这些技术协同作用,系统性地解决了MoE架构在大规模分布式训练中面临的通信开销大、断流频率高、显存占用高等核心瓶颈。

机间通信合并特性

当前的流行MoE架构存在着专家数多、单个专家计算量小的特点。如DeepSeek V3每个层的路由专家个数高达256个,在训练实践中为了减小显存压力往往开启专家并行(EP),将专家切分到不同的卡上。然而,当EP数大于单个节点的的NPU/GPU数量时,专家会被切分到不同节点上,在token dispatch和combine阶段,需要进行AlltoAll的机间通信。因机间带宽远小于机内带宽,此时,机间通信不可避免地成为通信性能的瓶颈。

昇思MindSpore团队针对这一问题,采用跨机AllGather通信与机内AlltoAll通信相结合的方式,解决AlltoAll机间通信性能差的问题。首先将所需的tokens通过跨机AllGather同步到机间,然后在机间进行tokens的排序与AlltoAll通信。基于这种分层的通信方式降低了跨机通信数据量,有效地提升了整体通信性能。经过在DeepSeek V3 671B实训测试,在EP=16时端到端吞吐性能提升15%。机间通信合并与原始通信方案的示意如图1。

图1. 机间通信合并与原始通信方案的示意图

AlltoAllV收发异构复用特性

在MoE的token dispatch 以及 token combine阶段各需要执行一次AlltoAllV的通信计算。在下发AlltoAllV算子时需要send_list/receive_list的参数信息,而这两个参数内存在device侧,需要对其进行一次device to host操作将其搬运至Host侧内存。因此在正向token dispatch及token combine阶段各存在1次因device to host引发的下发断流(即,下发流程需要等待device to host操作完成后,才能下发其余算子)。如果考虑反向计算,断流次数就变成4次,对性能造成严重影响。

为此,昇思MindSpore采用AlltoAllV收发异构复用技术来减少断流次数,其核心思想在于在提前对token dispatch的send_list/receive_list进行device to host,将其缓存在Host,然后基于缓存的send_list/receive_list实现提前下发token combine阶段的AlltoAllV,其原理如图2所示。

图2. AlltoAllV收发异构复用

昇思MindSpore通过其异构能力实现AlltoAllV收发send_list/receive_list的异构复用,将断流次数从4次降低到1次。在DeepSeek V3 671B实训测试,端到端性能提升5%。

昇思MindSpore针对MoE性能提升的业界难题,成体系地采用优化技术,包括但不限于上述2项技术,构筑了昇思MindSpore面向超大规模MoE训练的高效通信底座,更多的技术介绍与交流,请关注昇思人工智能框架峰会。

本次在杭州举办的昇思人工智能框架峰会,将会邀请思想领袖、专家学者、企业领军人物及明星开发者等产学研用代表,共探技术发展趋势、分享创新成果与实践经验。欢迎各界精英共赴前沿之约,携手打造开放、协同、可持续的人工智能框架新生态!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:22:03

jdk1.8 是如何解决死循环问题的?

首先先看看 hashmap 在 jdk1.8 下扩容的核心方法在 JDK 1.8 的 HashMap 源码中,已经找不到 transfer 这个方法了。JDK 1.8 将扩容逻辑全部整合到了 resize() 方法中。而且,为了配合新的“尾插法”和“位运算”优化,这段代码的逻辑发生了翻天覆…

作者头像 李华
网站建设 2026/9/2 23:02:28

CPU RAM(内存) 是什么?一篇文章搞定入门!

先来看两张图大致了解一下基本结构:CPU我们先来看看一条程序是如何执行的?CPU 执行程序的过程如下:第⼀步,CPU 读取「程序计数器」的值,这个值是指令的内存地址,然后 CPU 的「控制单元」操作「地址总线」指…

作者头像 李华
网站建设 2026/9/2 10:37:01

vivado hls如何实现recursive fuction递归函数

一、HLS编译 IR中间表示(Intermediate Representation, IR)是编译器在将源代码转换为目标代码过程中使用的一种中间形式的程序表示; hls compiler核心是datapath compiler,这个是核心,属于back-end后端部分,这部分是不…

作者头像 李华
网站建设 2026/9/2 2:31:22

构建智能Agent系统的路由模式:原理、实现与实战案例(建议收藏)

文章详细介绍了智能Agent系统中的路由模式,这是一种使系统能够根据环境状态、用户输入等因素动态选择行动的机制。通过"决策-执行"循环,系统可灵活处理不同类型的请求。文章以智能客服系统为例,分别使用LangChain和LangGraph两种框…

作者头像 李华
网站建设 2026/9/3 0:56:01

一款智能手表上语音通话时的音频设备动态切换

手机上打电话时通常会支持在扬声器和听筒以及蓝牙耳机之间的动态音频设备切换。我开发过的一款手表也有这样的功能,只不过由于是手表,没有了听筒,动态音频设备切换就变成了在扬声器以及蓝牙耳机之间了。本文就讲讲这款手表上动态切换音频设备…

作者头像 李华