MoE模型的世界那么大,我想写几行代码看看
再次,针对业界同类开源项目大多存在的 " 一头热 " 的 " 被动适配 " 生态合作模式问题,Omni-Infer 社区则采取了 " 主动适配 " 的社区构筑路径,尤其是主动拥抱国内正在逐步成长的人工智能开源项目,让生态真正实现多方共赢。已经成为当前大模型的一个主流架构选择,以最近开源的盘古 Pro MoE 为例,其基于 MoGE 架构构建的混合专家架构,总参数量达 720 亿,激活参数量为 16
MoE 应用于大模型,GPT-4并不是第一个。在2022年的时候,Google 就提出了MoE大模型Switch Transformer,模型大小是1571B,Switch Transformer在预训练任务上显示出比 T5-XXL(11B) 模型更高的样本效率。在相同的训练时间和计算资源下,Switch Transformer 能够达到更好的性能。
除了GPT-4和Switch Transformer,国内的团队DeepSeek 也开源了国内首个 MoE 大模型 DeepSeekMoE。
混合专家网络模型架构(MoE)已经成为当前大模型的一个主流架构选择,以最近开源的盘古 Pro MoE 为例,其基于 MoGE 架构构建的混合专家架构,总参数量达 720 亿,激活参数量为 160 亿,专门针对昇腾硬件优化,在性能与效率上表现突出。
名词解释:
什么是MoE大模型?
MoE,全称为Mixed Expert Models,翻译过来就是混合专家模型。MoE并不是什么最新技术,早在1991年的时候,论文Adaptive Mixture of Local Experts就提出了MoE。
我们知道,模型规模是提升模型性能的关键因素之一,这也是为什么今天的大模型能取得成功。在有限的计算资源预算下,用更少的训练步数训练一个更大的模型,往往比用更多的步数训练一个较小的模型效果更佳。
MoE 的一个显著优势是它们能够在远少于 Dense 模型所需的计算资源下进行有效的预训练。这意味着在相同的计算预算条件下,您可以显著扩大模型或数据集的规模。特别是在预训练阶段,与稠密模型相比,混合专家模型通常能够更快地达到相同的质量水平。
MoE基于Transformer架构,主要由两部分组成:
- 稀疏 MoE 层:这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如 8 个),每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (FFN),但它们也可以是更复杂的网络结构。
- 门控网络或路由: 这个部分用于决定哪些 token 被发送到哪个专家。例如,在下图中,“More”这个 token 可能被发送到第二个专家,而“Parameters”这个 token 被发送到第一个专家。有时,一个 token 甚至可以被发送到多个专家。token 的路由方式是 MoE 使用中的一个关键点,因为路由器由学习的参数组成,并且与网络的其他部分一同进行预训练。
总结来说,在混合专家模型 (MoE) 中,我们将传统 Transformer 模型中的每个前馈网络 (FFN) 层替换为 MoE 层,其中 MoE 层由两个核心部分组成: 一个路由器(或者叫门控网络)和若干数量的专家。
MoE大模型具备哪些优势?
MoE的最大优势就是与Dense模型相比,在相同计算资源下,训练速度更快,而且可以训练更大的模型。比如Google的Switch Transformer,模型大小是T5-XXL的15倍,在相同计算资源下,Switch Transformer模型在达到固定困惑度 PPL 时,比T5-XXL模型快4倍。
相同计算资源下,Google的MoE大模型能够在相同计算资源下,以更快的速度达到相同的PPL,而且模型是T5的15倍;DeepSeek的16B MoE大模型,仅在40%的计算量的情况下,性能和LLaMA 2 7B效果比肩。
总结MoE大模型优点,主要有以下3点:
- 训练速度更快,效果更好。
- 相同参数,推理成本低。
- 扩展性好,允许模型在保持计算成本不变的情况下增加参数数量,这使得它能够扩展到非常大的模型规模,如万亿参数模型。
- 多任务学习能力:MoE在多任务学习中具备很好的新能(比如Switch Transformer在所有101种语言上都显示出了性能提升,证明了其在多任务学习中的有效性)。
而MoE大模型的缺点,主要有以下4点:
- 训练稳定性:MoE在训练过程中可能会遇到稳定性问题。
- 通信成本:在分布式训练环境中,MoE的专家路由机制可能会增加通信成本,尤其是在模型规模较大时。
- 模型复杂性:MoE的设计相对复杂,可能需要更多的工程努力来实现和优化。
- 下游任务性能:MoE由于其稀疏性,使得在Fine-tuning过程中容易出现过拟合。
重点来啦!此次,华为的盘古大模型还实现了在推理时做到又快又稳。
在技术特性上,盘古模型引入 " 快思考 " 和 " 慢思考 " 双系统,可根据问题复杂度自动切换响应模式,并在推理性能上实现突破——在昇腾 800I A2 上单卡推理吞吐性能达 1148 tokens/s,经投机加速技术可提升至 1528 tokens/s,显著优于同等规模稠密模型。
那么让盘古、DeepSeek、Qwen 这些开源的 MoE 模型在昇腾硬件上推理,能够达到易维护、高性能,并且全面开源的技术项目有没有呢?
现在,这个问题似乎有了标准答案——
华为一个新项目,直接把推理超大规模 MoE 背后的架构、技术和代码,统统给开源了!
这个新开源项目名叫Omni-Infer,整体来看,它对于企业用户来说是非常利好的。
例如它可以给企业提供 PD 分离部署方案,针对 QPM 进行系统级优化,还会分享大规模商用过程中硬件使用的 " 方法论 "。
而且对于开发者和开源社区,华为这 " 一呼 " 也是起到了 " 百应 " 的效果。
GitHub 地址:https://github.com/FlagOpen/FlagScale/pull/630
北京智源研究院副院长兼总工程师林咏华表示:
北京智源研究院一直以来致力于人工智能开源生态建设,很高兴看到 Omni-infer 项目开源,智源团队打造的面向多芯片的 FlagScale 框架也在第一时间接入了 Omni-infer,期待后续有更多生态合作。
上海人工智能实验室系统平台中心负责人王辉认为:
DeepLink 致力于打造最开放兼容的人工智能计算体系,十分期待能与 Omni-infer 项目携手,繁荣自主软硬件协同开源社区、拓展生态版图。
以及OpenI 启智社区运营中心主任余跃也给出了响应:
OpenI 启智社区坚持创新为本,面向未来与 Omni-Infer 项目一起打造基于算力网的开源共创协作生态。
据了解,华为 Omni-Infer 社区的定位是 " 加速套件 + 最佳实践 ",未来提供开箱即用能力,支持昇腾推理集群快速部署。
而对于这次 Omni-Infer 的开源,其实是华为兑现了一个月前在发布重磅技术报告之际所做出的承诺。
那么接下来,我们就来一同深入了解一下华为的 Omni-Infer。
一个框架和一个套件
从整体来看,Omni-Infer 可以拆成两大块来看:一个是推理框架,一个是推理加速套件。
从框架角度来看,Omni-Infer 能和业界主流的开源大模型推理框架(如 vLLM)完美兼容,就像不同品牌的零件可以组装在同一台机器上。
并且据了解,它的功能还将不断扩展,会持续为昇腾硬件平台上的大模型推理提供更强大的支持(例如 SGLang 等主流开源 LLM 推理框架)。
值得一提的是,Omni-Infer 是与 vLLM/SGLang 等等这些主流大模型推理开源框架是解耦的,独立安装。
这就意味着用户只需维护 vLLM 等的主版本即可,大大降低了软件版本维护的成本。
至于 Omni-Infer 的加速套件,若是用较为形象的比喻,它的 " 打开方式 " 是这样的:
企业级的 " 调度员 ":它有一套智能的调度系统,就像交通警察指挥车辆一样,能合理安排任务(xPyD 调度)。而且支持大规模分布式部署,就像多个交通岗亭协同工作,不管任务量多大,都能保证最低的延迟,让响应更及时。
精准的 " 负载平衡器 ":对于不同长度的任务序列,它在预填充和解码这两个关键阶段都做了优化。比如,就像快递分拣中心针对不同大小的包裹采用不同的分拣策略,让整个处理过程的吞吐量达到最大,同时还能保持低延迟。
MoE 模型的 " 专属搭档 ":它对混合专家(MoE)模型特别友好,支持 EP144/EP288 等多种配置。可以想象成一个大型的 " 专家团队 ",每个专家负责不同的任务,它能让这些专家高效协作。
智能的 " 资源分配者 ":具备分层非均匀冗余和近实时动态专家放置功能。就像在一个大型工厂里,根据实时的生产需求,动态调整各个生产线的工人分配,让资源得到最充分的利用。
注意力机制的 " 强化器 ":专门为 LLM、MLLM 和 MoE 等模型优化了注意力机制。这就好比给模型的 " 注意力 " 装上了 " 放大镜 ",让它在处理信息时更聚焦、更高效,提升了模型的性能和可扩展性。
如何 " 食用 "?
在聊完 Omni-Infer 的特点之后,我们继续来看下该如何去体验。
首先对于它的使用环境是有一定的要求:
硬件:目前仅支持 CloudMatrix384 推理卡
操作系统:Linux Python: >=3.9, <= 3.11
其次在安装方式上,目前仅支持通过 Docker 镜像方式进行安装:
docker pull swr.cn-southwest-2.myhuaweicloud.com/omni-ai/omniinfer:202506272026
这个镜像已预先集成所需的 CANN 及 Torch-NPU 依赖包,同时内置可直接运行的 Omni-Infer 与 vLLM 工具包,开箱即可使用。
可以使用下面这个命令检查是否可用:
pip list | grep omni_infer
以PD 分离自动化部署(4 机 2P1D)为例,它的部署框架如下所示:
再接下来,只需文档教程,仅少量代码和步骤,即可完成安装和部署:
整体来看,此次华为面向超大规模 MoE 开源的项目,是做到了简单几步就可以让 AI 推理这事变得又快又稳。
极致开源
Omni-Infer 除了将此前《华为昇腾服务器 DeepSeek V3/R1 推理部署最佳实践》技术报告中的关键技术开源出来之外,也同步进行了更加专业的开源社区建设。
首先,在独立的社区仓库中,将社区治理、社区会议、社区活动、生态合作、代码规范、设计文档等社区信息全部开放出来,让开发者能够最直接深入的参与到社区发展中。
其次,参照业界主流大型开源社区的最佳实践,采用开放的社区治理机制,通过项目管理委员会(Project Management Committee)和特别兴趣小组(Special Interest Group)两级机制,提供公正透明的讨论与决策机制。
再次,针对业界同类开源项目大多存在的 " 一头热 " 的 " 被动适配 " 生态合作模式问题,Omni-Infer 社区则采取了 " 主动适配 " 的社区构筑路径,尤其是主动拥抱国内正在逐步成长的人工智能开源项目,让生态真正实现多方共赢。
作为长期与业界几大主流开源基金会(Linux 基金会、OpenInfra 基金会、Apache 基金会等)保持紧密合作关系的社区团队,Omni-infer 刚开源的首个活动就将参与 OpenInfra 基金会在苏州的 Meetup,感兴趣的同学可以到现场交流,也顺路可参加有特色的全球性开源社区的生日活动。
最后,所有相关的地址放下面了,感兴趣的小伙伴可自取哦 ~
技术报告及可分析代码包:
https://gitcode.com/ascend-tribe/ascend-inference-cluster
源代码开发协作:
https://gitee.com/omniai/omniinfer
社区治理、运作等内容:
https://gitee.com/omniai/community
【其他托管平台】
Github:
https://github.com/omni-ai-npu/omni-infer
OpenI 启智社区:
https://git.openi.org.cn/omni-ai/omni-infer
GitLink 确实平台:
https://gitlink.org.cn/omni-ai/omniinfer
参考链接:群魔乱舞:MoE大模型详解
一键三连「点赞」「转发」「小红❤」 欢迎在评论区留下你的想法!

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐
所有评论(0)