《MoE技术分享》link
MoE(Mixture of Experts,混合专家模型)的概念最早可以追溯到 1991 年的相关论文。这一开创性工作为后续 MoE 模型的发展奠定了理论基础,其核心思想是采用“分而治之”的方式,将复杂任务拆解为多个子问题,并分别交由不同的“专家”模型处理,从而提升模型的表达能力和处理效率。
一、为什么需要MoE
随着大模型的持续发展,业界希望进一步提升模型能力和参数规模,但同时又不希望推理成本、显存占用和时延随着参数规模线性增长。MoE 提供了一种有效思路:虽然整体参数规模可以做得很大,但在实际推理时,每个 token 只会激活其中一小部分专家参数,因此模型可以在显著扩展参数量的同时,将单次计算量控制在相对稳定的水平。
2020 年,谷歌在 GShard 项目中首次将 MoE 技术引入 Transformer 架构,并提出了高效的分布式并行计算框架,使 MoE 模型能够在分布式环境下实现大规模训练与推理。此后,2021 年谷歌进一步推出了 Switch Transformer 和 GLaM 等模型,通过对门控机制和专家设计进行优化,进一步提升了 MoE 模型的性能和效率,也推动了该技术在大模型领域的快速发展。
近年来,MoE 模型的应用范围不断扩大。除了在自然语言处理领域持续取得突破外,它也逐步拓展到计算机视觉、多模态学习等方向,成为大规模模型架构演进中的重要技术路线之一。
二、 什么是MoE?
在理解 MoE 之前,首先需要区分稠密模型(Dense)和稀疏模型(Sparse)。两者最核心的区别在于:一次前向传播时,是否所有参数都会参与计算:
稠密模型中:所有参数都会被激活;
稀疏模型中:通常只有部分参数会被激活。
总体来看,Dense 模型的特点是结构简单、所有参数都参与计算,但随着模型规模增大,计算量和内存消耗也会持续上升。Sparse 模型则通过“按需激活”的方式降低单次计算成本,在扩大模型容量的同时保持较高效率。MoE 正是建立在这种稀疏计算思想之上的一种典型架构。
……
点击标题可阅读全文。