侧边栏壁纸
博主头像
星宇云社区 博主等级

行动起来,活在当下

  • 累计撰写 36 篇文章
  • 累计创建 15 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

关于Moe与Dense模型的理解

kkdshire
2025-08-01 / 0 评论 / 4 点赞 / 134 阅读 / 0 字
温馨提示:
本文最后更新于2025-08-01,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在2024年12月26日,DeepSeek开源了DeepSeek-V3模型,相较于其之前发布的DeekSeek-V2,创新的采用了多头注意力(MLA)和DeepSeekMoE架构。而在2025年火爆的DeepSeek-R1思考模型也是继续沿用的这个机制,Moe架构在国内一下就爆火了起来,为此,本文将简单介绍一下Moe架构与Dense的区别。

关于Dense架构,实际上是指的Transformer中的FeedForward层(前馈神经网络层),该层的作用直接来说是对输入的单词进行进一步的加工,比如输入为“猫”,该层会把“猫”的向量信息进行解析,转化为类似“猫是动物”等更详细的数据。而FeedForward在传统的Transformer中一搬也被称为密集模型,也就是所谓的Dense Model,在其中,所有的参数都会被激活,所有的参数也都需要使用。这样的的设计理念非常简单易懂-----每个单元都会参与计算,无论任务的难易程度,这使得Dense模型在处理维度层次简单的任务会比较稳定,同时开发的难度和上手理解也会简单很多。

但是,虽然密集模型的原理与实现比较直观简单,但有一个严重的问题:无论模型成品有多大,实际推理都需要全部参数都启动过一遍,这样无论是否有关的参数都会被调用上,这虽然提升了稳定兴和更宽的拓扑,但推理的效率和成本都被极大的拖累了,因此,稀疏模型Sparse Models则为此解决了这个问题,他在FeedForward层时仅会激活总参数的一部分,在训练维度上,可以将密集模型分为多个部分,并对此重新训练,然后在不同时段下只激活部分的参数,这部分也就是专家,这样的专家结构和之后的MoE密切相关。

回到MoE上,既然稀疏模型解决了密集模型的问题,看起来也和MoE的一些描述很相似,那么,MoE究竟实现了什么?实际上一个LLM模型一般具有多个Layers,也就是说一次输入会经过多次的FeedForward,也就是说哪怕在稀疏模型中也会经过多个专家,也就是说一次输入会经过一组专家,MoE的做的其中之一就是在此之前多一个路由层(Router),该层会给出概率值以选择最匹配的专家,专家层再返回选定的总参数的那部分并乘以这个概率值总而完成原来的FeedForward层的实现,所以,是路由层+专家层共同构成了MoE层。因此,实际上MoE还可以分为稀疏MoE和密集MoE,前者的路由器只会选出少部分的专家,而后者会以不同的发布选择全部专家。这些都是MoE且很容易混淆,但是在目前主流的LLM-MoE模型中,他通常指的是稀疏的MoE,因为这种设计会极大减少计算开销,这是LLM-MoE的重大发展与特性。

因此可以看出,大部分的MoE模型实际上指的是稀疏MoE的设计,而Dense模型指的是FeedForward全参数激活上的设计,两者在同层对比上还是有点不一样的。但在主流的LLM模型中,MoE模型和Dense模型的也代指这两种总体结构,因此在此处做出这两种模型的一些优势总结。

  • Dense模型(Qwen3-32B、LLaMA3.1 405B、Meta Llama 3 70B):优点:全参数激活带来的结果输出结果的稳定型,同时其参数训练也会相对稳定,在数量多但简单的任务时,Dense模型的优势会较为明显。缺点:全参数的激活导致的Dense模型相对于同参数的Moe模型,其需要的计算配置更高,效率也更低,在不需要的参数上会存在资源浪费的情况。

  • MoE模型(DeepSeek-V3-0324、DeepSeek V2-0506、Qwen3-30B-A3B):优点:极大减少了推理所需要的计算量,减少推理的配置与成本,极大提高了模型的并发数,且面对复杂问题时的处理能力更强,处理不同维度的问题的灵活性更高。(更适合思考模型)。缺点:结构复杂,上手与理解难度很高,且在训练与微调上因为路由层的选择机制会导致训练的不稳定,在某些任务中也可能出现因为专家调度的问题出现模型利用率不高导致准确度不高的状况。

  因此,在应用场景上,需要稳定训练与微调或低并发需求的但需要输出稳定的可以选择Dense模型,而对高并发有强需求的,对有复杂问题(思考能力)的模型优先选择MoE模型。

4

评论区