【CS336】lecture4 MoE|专家路由|专家数量
省流啥是MoE就是原本模型有一个大线性层FFN不管来什么token都走一遍这也是推理时主要的计算开销。现在改成多个小FFN层对于每个token选一些最相关的FFN做前向传播因为不是所有token都需要整个FFN的知识。好处是可以降低推理开销并且可以增加专家数量提升模型能力只会导致显存增加但不会增加计算开销。优势在不改变计算量的情况下也就是激活专家数是固定的增加专家数可以优化模型表现左图是训练loss右图是perplexity的负对数都表示了专家越多效果越好上面标的128e,64e就是专家个数左图具体描述了训练速度的加速达到相同的perplexityMoE所需时间减少了7倍并且MoE天然适合多机并行一般的并行需要把FFN层矩阵切开做张量并行而MoE的多个FFN天然就是切开的可以部署到不同机器上只是开始和最后需要两次all-to-all通信举例主流MoE模型主流旗舰模型都采用了MoE包括Deepseek V3.1,Gemini2,GPT4开源小模型也有很多采用了MOE比如Qwen1.5消融实验Deepseek的经典消融实验相同激活参数量的MoE和Dense模型MoE在各个benchmark都明显表现更好缺点当然MoE也有缺点。首先就是MoE参数量大多机并行实现起来需要较高的infra水平。其次训练不稳定如下左图是MoE右图是DenseDense的loss很少出现突然上升但MoE由于专家路由的问题可能出现loss突然上升训炸了常见MoE架构最常见的是左图前面见过了每个token路由到一些FFN层。比较少见的是如右图除了FFN层给注意力层也做MoE每次路由到一部分注意力权重矩阵MoE要点一般的MoE架构主要考虑的点有路由策略专家大小训练方式可能遇到的障碍路由概览主流的路由方式就是选topk。看左侧两个图分别是给每个token选topk的专家以及给每个专家选topk的token。其中给token选topk专家是最主流的。最右侧的图意思是考虑一个全局最优解不是简单的topk后面会细说。消融实验TC,EC分别是给token路由以及给专家路由可以发现给token路由明显更好这也是前面提到的每个token选topk的专家是主流的原因几种路由topk路由一般选哈希路由作为baseline进行对比。哈希路由是通过一个哈希函数把token映射到专家好处是计算量小路由快而且一般好的哈希函数能天然保证负载均衡也就是各个桶的元素是均匀的因为哈希函数要尽量避免哈希碰撞。但缺点是这个路由没有考虑每个token的含义适合分给哪个token是纯随机的但因此正好适合作为baseline检验topk的效果。上面topk右侧标的模型和()意思是这些主流MoE模型的激活专家个数Deepseek是最多的7个还有一些路由方式上方图展示的是基于强化学习的路由训练一个强化学习模型使用交叉熵损失函数。但RL效果不好且训练收敛很慢现在不常用下图的方案是把路由问题建模成一个二分图匹配问题这是经典算法问题每个token和每个专家都有一个匹配得分作为边权现在要给每个token匹配到k个专家使得所有匹配的边权之和最大。可以用网络流解决。这是数学意义上的全局最优解但是一是计算复杂度更高更致命的是网络流这种线性规划算法不适合利用GPU并行化这会导致路由阶段成为推理吞吐的瓶颈。所以综合来看topk计算代价低并且能取得较好的路由效果是综合来看的最优解。topk路由公式topk的具体公式如上s是给每个token匹配上每个专家的打分对这个得分做topk得到gg的映射是如果s在topk里则保持不变否则置零。最后用g来乘上FFN的前向传播结果如果这个专家不在topk里g等于0等价于不选这个专家这样实现可以避免ifelse是适合GPU高吞吐的做法。Deepseek MoEDS对传统MoE的改进有两点一是更细粒度的专家也就是拆成更多更小的FFN这样每个专家更专精。而是设一个共享专家每次都使用消融实验对比可以发现增加共享专家和细粒度划分都是有帮助的也有其他人的实验指出收益来自细粒度专家而不是共享专家这里可以看到共享专家在大多数的情况下都没有更优而增加专家个数明显更优。专家激活比常见的模型激活专家个数/专家总数都在1/4-1/8左右

相关新闻

SpringBoot+微信小程序图书捐赠系统:从架构设计到避坑实战

SpringBoot+微信小程序图书捐赠系统:从架构设计到避坑实战

简介:一套基于SpringbootSpringMVCMybatis小程序实现的图书捐赠管理系统毕业设计完整资源包,面向计算机相关专业毕业生和正在学习SSM框架、小程序开发的读者,适用于毕业设计、课程设计或项目实战参考。资源共包含856个文件,压缩包…

2026/10/10 7:48:32 阅读更多 →
机器视觉通用检测框架:VS2019+C#+VisionPro9.0实战解析

机器视觉通用检测框架:VS2019+C#+VisionPro9.0实战解析

简介:这套基于VS2019与VisionPro9.0搭建的机器视觉通用检测框架,面向工业视觉项目开发者、C#技术学习者以及需要快速交付视觉方案的团队,定位是可直接复用的工程级源码。RAR压缩包内含208个文件,以C#源代码、DLL依赖库、VPP视觉工…

2026/10/8 16:45:30 阅读更多 →
【C++ 标准项目】发布订阅消息队列(篇四):sqlite 与 gtest 断言框架介绍及实战应用

【C++ 标准项目】发布订阅消息队列(篇四):sqlite 与 gtest 断言框架介绍及实战应用

前面我们介绍了muduo库,接下来我们进行sqlite以及gtest的使用 一.SQLite3 1.什么是 SQLite SQLite 是一个进程内的轻量级数据库,它实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其…

2026/10/10 21:25:36 阅读更多 →

最新新闻

先xor再add反运算:逆向题加密逻辑拆解与Python脚本实现

先xor再add反运算:逆向题加密逻辑拆解与Python脚本实现

简介:这份docx文档聚焦数据恢复与逆向工程中的核心难点,面向具备一定二进制运算基础的安全从业者与逆向爱好者,系统讲解“先异或再加法”的反运算推导思路。内容围绕字节拆分、固定字节定位、二次异或消除位模式等关键技巧展开,通…

2026/10/11 0:01:27 阅读更多 →
企业4A数字化架构演进与治理:从身份管理到零信任的落地实践

企业4A数字化架构演进与治理:从身份管理到零信任的落地实践

最近在企业数字化的交流圈里,4A数字化架构是被反复点名的话题。一份标着“122页满分可编辑PPT——企业4A数字化架构演进与治理方案”的材料,乍看是个PPT模板,实际上更像甲方请乙方做咨询交付物时的“骨架级”参考。很多人找这份材料&#xff…

2026/10/11 0:01:27 阅读更多 →
政务API安全治理:资产测绘、低代码编排与行标对标实践

政务API安全治理:资产测绘、低代码编排与行标对标实践

政务单位这两年最头疼的事情清单里,API安全绝对排得上号。业务上云、数据共享、移动办公、“一网通办”这些事儿推进得越快,API接口数量就越失控——有的部门自己都说不清到底开了多少个接口,哪些是长期的,哪些是测试临时开的&…

2026/10/11 0:01:27 阅读更多 →
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真

统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真

【安全密钥】对基尔霍夫-洛-约翰逊噪声(KLJN)安全密钥交换协议的统计随机数生成器攻击(Matlab代码实现)提到密钥交换,传统思路就是RSA、Diffie-Hellman这一类基于数学难题的方案,但量子计算的发展让这类方案…

2026/10/11 0:01:27 阅读更多 →
星辰变:归来归素去繁心法,褪去冗形体态本真

星辰变:归来归素去繁心法,褪去冗形体态本真

体态多层修饰、冗余形态堆积,会让本真质感被掩盖,姿态繁杂不纯粹。归素去繁心法主打褪去所有多余冗形与修饰痕迹,回归极简素净的天然体态。归素实操方式:舍弃一切刻意塑形微调,通体回归自然静定状态,肌理褪…

2026/10/11 0:00:27 阅读更多 →
基于Spring Boot的高校自习室预约系统:从预约签到闭环到防超卖实战

基于Spring Boot的高校自习室预约系统:从预约签到闭环到防超卖实战

自习室预约这事儿,在高校里看着不起眼,做起来却相当磨人。座位就那么多,学生需求又集中,尤其是考试周前后,经常是一座难求。这套“基于Java Spring Boot的高校自习室预约系统”,核心就是把座位资源线上化&a…

2026/10/11 0:00:27 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →