深度学习13——MoE模型
1. Dense 模型与 MoE 模型Dense 模型Dense 模型中每个 token 都会经过同一套完整参数。在 Transformer 中一层通常包含Attention → FFN其中 FFN 的参数量和计算量通常占较大比例。无论输入哪个 tokenDense 模型都会激活完整的 FFN。特点所有参数对每个 token 都参与计算训练过程相对稳定实现简单通信开销较低参数量增加时每个 token 的计算量也会同步增加。MoE 模型MoE 全称为Mixture of Experts中文为“混合专家模型”。MoE 的核心目标是在显著增加模型总参数量的同时只让每个 token 激活少量参数从而控制实际计算量。MoE 通常不是替换整个 Transformer而是将普通 FFN 替换成多个专家 FFNAttention → MoE FFN多个专家通常具有相同的网络结构但拥有不同的参数。例如Expert 0一套 FFN 参数 Expert 1一套 FFN 参数 ... Expert 7一套 FFN 参数2. Router 如何选择专家每个 token 不会经过全部专家而是先交给一个 Router也称为 Gate 网络。Router 通常是一个较小的线性层token 隐藏向量 → Router → 每个专家的分数假设有 8 个专家某个 token 的 Router 输出为Expert 00.05 Expert 10.40 Expert 20.02 Expert 30.25 Expert 40.08 Expert 50.04 Expert 60.12 Expert 70.04如果使用 Top-2 路由就选择分数最高的两个专家Expert 1 Expert 3这个 token 只进入这两个专家计算其他六个专家不参与该 token 的前向传播。不同 token 可以选择不同的专家token A → Expert 1、Expert 3 token B → Expert 0、Expert 6 token C → Expert 1、Expert 5因此MoE 是一种稀疏激活模型。3. MoE 的参数量与计算量假设一个 Dense 7B 模型中Attention 等非 FFN 参数约 1.4B FFN 参数约 5.6B 总参数约 7B总参数量总参数量 共享参数 8 个专家参数 1.4B 8 × 5.6B 46.2B现在将 FFN 替换为 8 个专家每个专家都有约 5.6B 参数而 Attention 等参数仍然共享。如果每个 token 只选择两个专家激活参数量 共享参数 2 个专家参数 1.4B 2 × 5.6B 12.6B可以近似理解为总参数量约 46B 每个 token 实际激活约 13B 参数因此 MoE 可以做到模型总容量很大 但单个 token 的计算量明显低于同规模 Dense 模型需要注意激活参数量不完全等于实际 FLOPs但可以用于直观比较计算规模。4. MoE 节省计算但不等于节省全部显存虽然每个 token 只经过少量专家但模型仍然需要保存所有专家的参数。原因是当前 token 可能选择 Expert 1、Expert 3 下一个 token 可能选择 Expert 0、Expert 7因此推理或训练时所有专家参数都必须存在于设备显存、CPU 内存或多卡系统中。可以概括为总参数量约 46.2B 每个 token 激活参数量约 12.6B 参数存储仍需容纳全部 46.2BMoE 主要减少的是每个 token 的 FFN 计算量每一步实际激活的参数数量。它不会自动减少全部模型权重的存储空间优化器状态占用多卡训练时的通信开销。而且在多 GPU 场景中不同专家可能分布在不同 GPU 上token 需要在设备之间发送这种方式称为 Expert Parallelism可能带来较高通信成本。因此MoE 的理论计算量较低但实际训练和推理速度不一定按参数比例直接提升。5. MoE的问题专家坍缩与负载不均衡专家坍缩专家坍缩是指 Router 长期只选择少数几个专家。例如有 8 个专家但大多数 token 都被路由到Expert 1 Expert 3其他专家很少收到 token。这会导致热门专家负载过高冷门专家训练不足多个专家没有形成差异化能力设备负载不均衡部分 token 因容量不足被丢弃或重新路由模型训练不稳定。理想情况下不是要求每个专家使用次数绝对相同而是避免流量过度集中。6. 常见的负载均衡方法辅助负载均衡损失训练时加入额外的辅助损失鼓励 Router 将 token 较均匀地分配给不同专家。总损失可以写成total_loss language_model_loss balance_coefficient × load_balance_loss负载均衡损失通常同时考虑每个专家被实际选择的 token 比例Router 分配给每个专家的平均概率。它不是简单地规定“某专家被选择一次就增加一次惩罚”而是当流量过度集中在少数专家时提高辅助损失。辅助损失权重过小可能无法解决专家坍缩权重过大又可能干扰模型根据 token 内容选择合适专家。专家容量限制每个专家在一个 batch 中能够处理的 token 数量通常有上限。例如每个专家最多接收 100 个 token当某个专家超过容量后额外 token 可能会被丢弃进入第二候选专家被重新分配通过残差路径跳过专家计算。专家容量通常与下面因素有关总 token 数 专家数量 每个 token 选择的专家数量 capacity factor容量限制可以防止单个专家负载过大但容量过小可能导致大量 token 无法进入首选专家。Router 噪声训练时可以在 Router logits 中加入少量噪声router_logits → 加入噪声 → 再选择 Top-k 专家作用是增加早期探索防止 Router 过早固定在少数专家上让不同专家有机会接收到训练样本。这并不是直接强制选择低分专家而是轻微扰动专家排序使分数接近的专家都有机会被选择。推理阶段通常关闭这类随机噪声。Router 正则化与稳定化还可以使用Router logits 正则化限制 Router logits 过大合理初始化 Router调整 Router 学习率对 Router 使用更高精度计算设置共享专家或始终激活的专家。这些方法主要用于避免 Router 过早饱和和训练数值不稳定。7. Dense 与 MoE 对比对比项DenseMoEFFN 数量每层通常一套每层包含多个专家 FFN每个 token 激活范围激活全部 FFN 参数只激活 Top-k 专家总参数量相对较小可以非常大单 token 计算量随总参数量增加低于同总参数量 Dense 模型权重存储保存全部参数仍需保存全部专家参数KV Cache主要由 Attention 决定通常不会因 FFN MoE 直接变化训练稳定性相对稳定Router 和负载均衡更复杂多卡通信相对简单可能产生较大 All-to-All 通信主要问题扩大参数会直接增加计算量专家坍缩、负载不均、通信开销核心区别可以概括为Dense 每个 token 使用同一套完整 FFN。 MoE 模型拥有多套专家 FFN 但每个 token 只选择其中少数几个参与计算。MoE 并不是让模型“用更少参数”而是保存大量参数形成更大的模型容量同时通过稀疏激活控制每个 token 的实际计算量。

相关新闻

XUnity.AutoTranslator终极指南:5步构建高效Unity游戏自动翻译系统

XUnity.AutoTranslator终极指南:5步构建高效Unity游戏自动翻译系统

XUnity.AutoTranslator终极指南:5步构建高效Unity游戏自动翻译系统 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一个专业的Unity游戏自动翻译插件,通过…

2026/8/6 8:52:13 阅读更多 →
抖音买单服务商:3个关键指标帮你避坑选优

抖音买单服务商:3个关键指标帮你避坑选优

在短视频电商快速发展的当下,越来越多的商家开始寻求专业的抖音买单解决方案。作为电商生态中的重要一环,优质的ISV服务商不仅能为商家提供稳定可靠的技术支持,更能帮助实现营销闭环和交易转化。1. 专业ISV服务商的核心价值优质的抖音买单服务…

2026/8/6 8:52:13 阅读更多 →
IT66630 芯片技术全解析:HDMI2.0一分二有源分配器底层原理科普

IT66630 芯片技术全解析:HDMI2.0一分二有源分配器底层原理科普

摘要依托 ITE 官方规格文件,对 HDMI2.0 一分二有源分配芯片 IT66630 开展中立技术科普。文章讲解芯片协议兼容性、4K60 音视频处理能力、内部硬件模块、电源时序、电气与功耗指标,梳理硬件开发关键设计要点,纯技术原理分享,不含推…

2026/8/6 8:52:13 阅读更多 →

最新新闻

5个理由:为什么SMAPI是星露谷物语模组玩家的必备神器

5个理由:为什么SMAPI是星露谷物语模组玩家的必备神器

5个理由:为什么SMAPI是星露谷物语模组玩家的必备神器 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 你是否曾为星露谷物语安装模组时遭遇游戏崩溃而烦恼?或者因为复杂的模组…

2026/8/6 11:38:35 阅读更多 →
Claude Code智能编程工具使用与优化指南

Claude Code智能编程工具使用与优化指南

1. Claude Code基础使用指南作为一款新兴的智能编程工具,Claude Code正在开发者社区中快速流行。第一次打开这个工具时,你会发现它的界面设计遵循了现代IDE的经典布局,但加入了许多智能化元素。左侧是项目文件树,中间是代码编辑区…

2026/8/6 11:38:35 阅读更多 →
如何免费在线编辑Mermaid图表:面向新手的终极教程

如何免费在线编辑Mermaid图表:面向新手的终极教程

如何免费在线编辑Mermaid图表:面向新手的终极教程 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-editor …

2026/8/6 11:38:35 阅读更多 →
Report Builder 3.0连接Oracle数据库的完整指南

Report Builder 3.0连接Oracle数据库的完整指南

1. Report Builder 3.0与Oracle数据库连接概述Report Builder 3.0作为一款专业的报表设计工具,在企业级数据可视化领域有着广泛应用。而Oracle数据库作为关系型数据库的标杆产品,承载着大量关键业务数据。将二者进行连接,能够充分发挥Report …

2026/8/6 11:38:35 阅读更多 →
微信小程序助农电商平台开发实践与优化

微信小程序助农电商平台开发实践与优化

1. 项目概述:助农小程序的技术价值与社会意义去年参与某县域助农项目时,我亲眼目睹了农户因销售渠道受限导致优质农产品滞销的困境。传统电商平台的高门槛和复杂操作流程,让许多不熟悉互联网的中老年农户望而却步。这正是我们团队决定开发基于…

2026/8/6 11:38:35 阅读更多 →
SuperRDP:一键解锁Windows远程桌面完整功能的终极解决方案

SuperRDP:一键解锁Windows远程桌面完整功能的终极解决方案

SuperRDP:一键解锁Windows远程桌面完整功能的终极解决方案 【免费下载链接】SuperRDP Super RDPWrap 项目地址: https://gitcode.com/gh_mirrors/su/SuperRDP 你是否在使用Windows家庭版时,发现无法使用远程桌面功能?或者在使用专业版…

2026/8/6 11:37:35 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →