一文搞懂混合专家(MoE)模型    

DeepSeek-V3便是一个实力强劲的混合专家(MoE)模型,其总参数量高达6710亿,且在处理每个标记(token)时,能够智能地激活约370亿的参数,实现高效计算。

同样引人注目的还有Qwen2.5-Max,这一大规模MoE模型通过精心设计的监督微调(SFT)流程以及基于人类反馈的强化学习(RLHF)方法进行了后训练,大大提升了其性能与实用性。

这个“ MoE ”代表什么?为什么这么多大语言模型(LLM)都在使用它?

混合专家(Mixture of Experts,MoE)模型将一个复杂的任务分解为多个子任务,每个子任务由一个专门的专家来处理。


在MoE模型中,“专家”负责学习并处理不同的信息,而“路由器”则负责根据输入智能地选择最合适的专家进行处理,并将选定专家的输出作为最终输出。


一、专家(Expert)


混合专家(MoE)模型的专家(Expert)是什么?专家(Expert)是训练好的子网络(神经网络或层),通常是一个独立的前馈神经网络(FFNN),也可以是更复杂的网络结构。


image.png

MoE模型将一个复杂的任务拆分成多个子任务,每个子任务都交给一个专门的“专家”来处理。这些专家各自拥有独特的专长,专门处理特定的数据或任务,就像不同领域的专家一样。

image.png

如何将密集模型(Dense)转换为混合专家(MoE)模型?这个过程通常被称为MoE化,将稠密模型的参数和计算分解为多个专家模块,每个专家模块只处理输入数据的一部分,并专注于特定的任务或数据特征。


MoE模型通常被用于替换传统的FFNN层。传统 Transformer 中的 FFNN 被称为密集模型(Dense),因为所有参数(其权重和偏差)均已激活。

稠密模型是一个“通才”模型,能够处理多个不同的任务,但可能在处理复杂或特定任务时效率不高。


image.png

相比之下,稀疏模型仅激活其总参数的一部分,并且与专家混合密切相关。将密集模型分成几部分(所谓的专家),重新训练它,并且在给定时间内只激活一部分专家。

image.png

二、路由器(Router)


混合专家(MoE)模型的路由器(Router)是什么?路由器也是一个前馈神经网络(FFNN),用于根据特定输入选择专家。

路由器(Router)输出概率,用于混合专家(MoE)模型选择最佳匹配专家(Expert),选择的专家(Expert)也是一个前馈神经网络(FFNN)。


image.png

混合专家层(MoE Layer)是什么?路由器与专家(其中仅选定少数)一起构成了混合专家层(MoE Layer)。

image.png

MoE Layer有两种,一种是稀疏的专家混合(Sparse MoE),另一种是密集的专家混合(Dense MoE)。

两者都使用路由器来选择专家,但是稀疏混合专家模型通过路由器仅选择少数关键专家处理输入,实现高性能与低计算开销的平衡;而密集混合专家模型则利用路由器激活所有专家,但可能以不同权重分布,以全面捕捉输入数据的多样特征。

image.png

关联文档