文章目录什么是混合专家模型专家们Dense LayerSparse Layer专家学习什么专家的架构路由路由路由选择负载均衡参考资料MOE混合专家模型使用地方Transformer中FNN部分。核心部分路由与专家什么是混合专家模型混合专家模型(MOE)使用**不同子模型(专家)**来提高大模型语言质量。MOE两个组件**专家**每一个前馈神经网络层有一层“专家”可以选择其中一个子集。这些专家本身也是前馈神经网络。路由(门控网络)****决定那些词元tokens被发送到那些专家。注意专家是在单词层面学习句法信息。路由器(门控网络)选择最合适专家。每一个专家都是LLM的一个子部分。专家们MOE作用在transformer中FNN中原始的transformer中FNN属于“密集层(Dense Layer)”.Dense LayerTransformer解码器架构其中FFNN前馈神经网络如下。Sparse LayerDense Layer在前馈神经网络中激活了所有神经元。稀疏模型只激活一部分参数混合专家模型与其密切相关。思想每个专家在训练过程中学习到不同信息然后在推理的时候根据不同问题信息选定不同专家进行推理预测。这个就像是训练拥有了不同领域的专家更加聚焦以前就像是“一个全能人才”处理所有事情现在是“有n个领域的专家”。专家学习什么专家学习学习更加细粒度信息。从图中可以看出它相当于对层进行分组分别训练每一组就是一个“专家”“负责一个具体任务”。专家的架构注意专家其实是分割密集型FNN但是本质也是完整的FNN即完整的前馈神经网络。在大模型LLM中Decoder含有多层因此在生成文本之前给定的文本会经过多个专家处理**但是所选的专家在不同层所在位置可能不同这会导致走 **不同路径 。总的来说就像是“FFN的分类”。路由路由给定标记选择合适的专家即让大模型知道使用那个专家。路由也是前馈神经网络的一部分根据特定输入来选择专家这里再次证明了Softmax的强大之处。这里MOE架构基本完整了即“专家 路由”稀疏与密集MOE稀疏MOE选择部分专家密集MOE选择全部专家路由选择它不仅决定了在推理过程中选择哪些专家还决定了在训练过程中选择哪些专家。看了原理他是用可训练的路由权重矩阵来做选择的可以划分为3步。输入与理由权重矩阵相乘之后将H(x)通过Softmax权重归一化生成概率权重即每一个专家的概率分布。最后每个路由器输出与每个选定专家的输出相乘并且将结果相加。整体流程负载均衡目的训练的时候尽可能均匀的将数据分配给不同专家。方法通过引入可训练的高斯噪声(噪声随机性大)我们可以防止总是选择相同的专家然后如果需要激活前K个专家比如说2个之前其他专家都设置为-∞这样就避免了反复选择一个专家。参考资料https://github.com/Elvin-Ma/distributed_training