一、什么是MoE架构
MoE架构的核心思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,确保每个专家处理其最擅长的数据类型或任务方面,从而实现更高效、准确的预测。
二、MoE架构的运行机制
MoE架构包含以下3个重要组成部分:门控网络/路由器、专家、输出聚合
-
门控网络(Gating Network)/路由器(Router):门控网络是MoE架构的一个核心组件,负责决定每个输入样本应该由哪个专家或哪些专家来处理。门控网络会计算每个输入与各个路由专家之间的匹配得分,然后选择Top-K个最合适的路由专家来处理该输入。
-
专家(Experts):专家是MoE架构中的核心组件,每个专家都是一个独立的神经网络,专门处理输入数据的特定子集或特定任务。通常在DeepSeek V3的专家中包含路由专家(蓝色部分)、共享专家(绿色部分)。
-
路由专家:路由专家根据输入的具体特征进行动态选择,只有最相关的路由专家会被激活来处理这些特定特征。这种机制使得模型能够灵活地适应不同任务和输入的特定需求。常见的特定特征包括:医学等领域术语、其他输入特定信息等。
-
共享专家:共享专家始终处于激活状态,负责捕获和整合这些通用特征,确保模型能够处理任何输入的基本信息,常见的通用特征包括:词性、语法结构、上下文信息等。
-
-
输出聚合(Output Aggregation):输出聚合是MoE架构中将所有专家的输出进行加权合并的过程。每个专家的输出根据门控网络计算的权重进行加权,最终生成模型的最终输出。
三、动态负载均衡
MoE架构既能提高办理效率,也能节省资源。但是当模型被拆分为多个专家节点后,如何合理分配计算负载成为新的挑战。如果路由机制设置的不合理,将会导致部分专家过度调度,其他专家长期处于闲置的状态。
为了解决以上问题,MoE架构引入了在线学习算法,具体来说就是门控网络根据当前批次数据的分布和专家的性能反馈,实时更新专家权重分配,使负载更适应数据变化。此外也引入了反馈机制,允许专家根据自身处理难度和资源占用情况向门控网络反馈信号,从而动态优化负载。