大语言模型架构解析:稀疏门控混合专家(MoE)模型
1. 引言
混合专家(Mixture of Experts,MoE)是神经网络领域中一种高效的团队合作技术。其核心思想是将一项复杂的任务分解为多个子任务,由不同的'专家'网络分别处理,再通过一个智能的'门控'机制动态组合这些专家的输出。尽管这一概念最初在神经网络语境下被提出,但其逻辑可应用于任何类型的模型集成。
在大语言模型(LLM)飞速发展的今天,MoE 架构已成为突破模型容量与计算效率瓶颈的关键技术之一。本文旨在深入解读 MoE 的核心论文,分析其架构设计、训练策略及在实际任务中的表现。
1.1 摘要
- 容量限制:神经网络的吸收信息容量受限于参数总数。
- 条件计算:针对每个样本激活部分子网络进行计算,理论上可显著增加模型容量。
- 效率提升:在实际应用中,以少量计算效率的牺牲,实现了 1000 倍的模型容量提升。
- 稀疏门控层:引入包含数千个前馈子网络的稀疏门控专家混合层,通过可训练的门控网络计算专家的稀疏组合。
- 应用场景:将 MoE 应用于语言建模和机器翻译任务,有效吸收训练语料库中的巨量知识。
- 实验规模:提出的模型架构包含 1370 亿个参数,以卷积方式堆叠在 LSTM 层之间。
- 性能表现:在基准测试中,该模型以更少的计算成本实现了优于最先进方法的结果。
2. 介绍和相关工作
2.1 条件计算
充分利用训练数据和模型规模的扩展一直是深度学习成功的关键。当训练集足够大时,增加神经网络容量(即参数数目)通常能提高预测准确度。然而,传统深度学习模型对每一个样本都会激活整个模型,导致训练成本随模型大小和样本数目近似二次方增长。当前的计算能力和分布式进展尚难以完全满足这种需求。
因此,许多研究提出了各种形式的条件计算,旨在不显著增加计算成本的情况下最大化模型容量。这些算法通常基于每个样本(on a per-example basis)激活或冻结网络的大部分组件。门控决策机制可以是二进制的、稀疏连续的、随机性或确定性的,并通过强化学习或反向传播进行训练。
图 1 说明:MoE 层嵌入到循环语言模型中。在本例中,稀疏的门控函数选择两个专家来执行计算。门控网络会调整专家的输出。
尽管理论前景广阔,但此前鲜有工作能在模型容量、训练时间或质量上取得显著提升。主要挑战包括:
- 现代计算设备(特别是 GPU)在数值计算上比分支操作更快。
- 大批次大小对性能至关重要,而条件计算往往减少了有效批次大小。
- 网络带宽可能成为性能瓶颈。
- 损失项的设计可能影响模型质量和负载平衡。
- 现有文献多处理图像识别等小数据集,难以为大模型提供足够信号。
本文针对上述挑战提出了解决方案,并验证了条件计算在大规模场景下的可行性。
2.2 本文方法:稀疏门控专家混合层
本文提出的条件计算方法引入了一个新的通用神经网络组件:稀疏门控专家混合层(Sparsely-Gated Mixture-of-Experts Layer)。
MoE 层包含以下要素:
- 专家网络:若干简单的前馈神经网络。
- 门控网络:可训练的网络,负责挑选专家的稀疏组合来处理每个输入。
- 联合训练:所有网络均使用反向传播进行联合训练。
虽然该技术具有通用性,但本文聚焦于语言建模和机器翻译任务。具体而言,如图 1 所示,我们将 MoE 以卷积的方式放置在多层 LSTM 层之间。在文本的每个位置调用一次 MoE,从而可能选择不同的专家组合。不同的专家倾向于变得高度专业化(基于语法和语义)。
3. 混合专家层的结构
3.1 MoE 层基础
MoE 层主要包括:
- $n$ 个'专家网络':$E_1, \dots, E_n$。
- 一个门控网络 $G$,其输出是一个稀疏的 $n$ 维向量。
理论上,每个专家网络只需保持一致的输入和输出大小。但在本研究中,我们限制专家网络具有相同的网络结构,且参数独立。给定输入 $x$,定义 $G(x)$ 为门控网络输出,$E_i(x)$ 为第 $i$ 个专家网络的输出。MoE 模块的输出公式如下:


