
摘要
神经网络吸收信息的能力受其参数数量的限制。理论上,条件计算(即根据每个样本激活网络的部分组件)被提出作为一种在不大幅增加计算量的情况下显著提升模型容量的方法。然而,在实际应用中,该方法面临着重大的算法和性能挑战。在这项工作中,我们解决了这些挑战,最终实现了条件计算的潜力,在现代GPU集群上仅以轻微的计算效率损失就实现了超过1000倍的模型容量提升。我们引入了一种稀疏门控专家混合层(Sparsely-Gated Mixture-of-Experts, MoE),该层包含多达数千个前馈子网络。一个可训练的门控网络决定了每个样本应使用哪些专家的稀疏组合。我们将MoE应用于语言建模和机器翻译任务,这些任务中模型容量对于吸收训练语料库中的大量知识至关重要。我们展示了在堆叠LSTM层之间卷积应用具有多达1370亿参数的MoE的模型架构。在大规模语言建模和机器翻译基准测试中,这些模型在较低的计算成本下取得了显著优于现有最先进水平的结果。
代码仓库
unconst/MACH
tf
GitHub 中提及
jsuarez5341/Efficient-Dynamic-Batching
pytorch
GitHub 中提及
davidmrau/mixture-of-experts
pytorch
GitHub 中提及
ma921/XRDidentifier
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| language-modelling-on-one-billion-word | Low-Budget MoE | Number of params: 5B PPL: 34.1 |
| language-modelling-on-one-billion-word | High-Budget MoE | Number of params: 5B PPL: 28.0 |
| machine-translation-on-wmt2014-english-french | MoE | BLEU score: 40.56 Hardware Burden: 142G Operations per network pass: |
| machine-translation-on-wmt2014-english-german | MoE | BLEU score: 26.03 Hardware Burden: 24G Operations per network pass: |