MOE架构

月伴飞鱼 2025-03-11 17:43:25
AI相关 > AI技术
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

img

传统模型就像一位超级教授,必须精通所有学科,从文学到物理,从历史到计算机科学。

  • 每个问题都由这位教授独自解答。

MoE模型则像一所设有多个系的大学,有文学教授、物理教授、历史教授等。

  • 每当有问题来临,先由导师(Router)决定该问问哪个或哪几个教授,然后综合他们的答案。

MoE的核心思想:分工合作,各尽所长

MoE架构的基本组成

MoE架构主要由三部分组成:

专家网络:多个独立的神经网络,每个专注于处理特定类型的任务。

路由器:决定将输入分配给哪些专家处理。

组合器:将选中专家的答案加权组合成最终输出。

MoE的工作流程

用一个就医的例子来解释MoE的工作流程:

你来到医院(输入数据进入模型)。

前台接待(路由器)询问你的症状。

前台决定将你转诊给心脏科医生和肺科医生(选择适合的专家)。

两位医生分别给出诊断(专家处理信息)。

综合考虑两位医生的意见,前台给你最终的治疗方案(组合专家输出)。

在DeepSeek中,这个过程是这样的:

文本输入模型。

路由器分析每个词(Token)应该交给哪些专家处理。

被选中的专家(通常是2个)处理这个词。

组合器将专家的输出按权重合并。

形成最终的表示,继续后续处理。

为什么MoE这么厉害?

更高效的计算:

假设有一个具有8个专家的MOE模型,每次只用2个专家:

  • 普通模型:处理1个词 = 使用100%的计算资源。
  • MOE模型:处理1个词 = 使用约25%的计算资源(2/8)。

这意味着同样的计算资源,MOE模型可以处理更多信息或使用更大的模型。

更大的模型容量:

传统模型增加参数量必然增加计算量,而MoE可以增加大量参数而只小幅增加计算量。

例如:

  • 8个专家,每次用2个 = 参数量是普通模型的4倍,但计算量只增加约50%。

这就像拥有8本厚厚的专业书,但每次只需查阅其中2本,既有庞大的知识库,又能快速找到答案。

MoE的关键技术挑战及解决方案

专家不平衡问题:

问题:有些专家可能总是被选中,有些却几乎不用。

就像医院里心脏科医生忙得不可开交,而皮肤科医生却无人问津。

解决方案:负载均衡

DeepSeek使用一种特殊的训练目标,鼓励路由器平均分配任务。

通信开销:

在大型分布式系统中,专家可能分布在不同机器上,数据传输会成为瓶颈。

解决方案:

DeepSeek对数据进行批量处理,减少传输次数,就像医院会集中安排同类患者在特定时段就诊,而不是随到随诊。

DeepSeek-MoE架构

在DeepSeek模型中,MoE主要用在Transformer的前馈网络(FFN)部分。

简单来说:

  • 保留标准的自注意力机制不变。

  • 将原来的单一前馈网络替换为多个专家网络。

  • 添加路由机制决定使用哪些专家。

  • 其他部分(如注意力层、层归一化等)保持不变。

这种设计让模型在不改变整体架构的情况下获得MoE的好处。

img
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!