混合专家模型(MoEs)技术揭秘——万亿参数模型的"分治"智慧
你有没有想过,为什么有些大模型参数规模惊人(甚至万亿),但推理时却能保持高效?背后的秘密正是——混合专家模型(Mixture-of-Experts, MoEs)。
MoE通过"分而治之"的稀疏门控机制,用更少的计算量实现了远超传统密集模型的能力上限。今天,我们就从1991年的开山之作开始,一路梳理到2024年最热门的Mixtral 8x7B,完整揭秘MoE技术的前世今生。
一、MoE技术发展简史
MoE并非一夜之间诞生,它经历了30多年的技术演进。[pdf_25]
|
|
|
|
|---|---|---|
| 1991 |
|
|
| 2013 |
|
|
| 2017 |
|
|
| 2020 |
|
|
| 2021 |
|
|
| 2022 |
|
1.6万亿参数
|
| 2023-2024 |
|
|
二、开山鼻祖:自适应局部专家混合(1991)
核心思想
Michael I. Jordan和Geoffrey Hinton在1991年开创性地提出了混合专家模型(MoE),其核心理念是:用多个独立的子网络("专家")处理不同的输入子集,通过门控网络决定每个输入由哪个专家处理。[pdf_25]
为什么需要MoE?
当时用反向传播训练单个多层网络处理不同子任务时,会产生强烈的干扰效应,导致学习缓慢、泛化能力差。MoE通过将不同任务分配给不同专家,有效避免了这种干扰。[pdf_25]
三大核心贡献
-
分治处理复杂问题:将复杂任务分解为更小、更易管理的子任务,各由不同专家处理 -
引入新的学习机制:通过组合多个专家的知识,灵活适应不同数据模式 -
对后续研究的深远启发:为神经网络架构创新和分布式学习奠定了基础[pdf_25]
三、深度MoEs:从单层到多层(2013)
2013年,Ilya Sutskever(OpenAI联合创始人)提出深度混合专家(Deep MoE, DMoE),将MoE从单层扩展为堆叠模型。[pdf_25]
核心突破:
-
层次化MoE:将DNN中的每一层作为MoE来训练,支持更深层次的网络结构 -
分解表示学习:每个专家学习数据的部分特征,综合形成完整表示 -
指数级扩展专家数量:通过多层组合,在不显著增加计算量的情况下极大扩大模型容量[pdf_25]
★在随机平移版本的MNIST数据集上,深度混合专家自动学习到了第一层的位置相关("where")专家和第二层的类别特定("what")专家,展现出了强大的自动分解能力!
四、稀疏门控MoE:1000倍容量提升(2017 ICLR)
Hinton和Jeff Dean团队合作发表的论文,解决了条件计算(Conditional Computation)的实际挑战,实现了现代GPU集群上模型容量的1000倍以上提升,而计算效率仅有轻微损失。[pdf_25]
稀疏门控MoE层公式
其中,G(x) 是门控网络的输出,E(x) 是专家网络的输出。通过稀疏门控,每个输入只激活少数几个专家。
核心贡献
-
引入稀疏性:由数千个前馈子网络组成的Sparsely-Gated MoE层,可训练门控网络为每个样例确定使用哪些专家的稀疏组合 -
实现条件计算:网络的某些部分仅针对特定样本激活,在不增加计算量的情况下扩大模型规模[pdf_25]
实验结果(WMT'14 En→Fr)
|
|
|
|
|
|
|---|---|---|---|---|
|
|
40.56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MoE 8.7B参数仅需85M ops/timestep,而278M参数的GNMT却需要214M ops——MoE的计算效率远超密集模型![pdf_25]
五、GShard:基于MoE探索巨型Transformer(Google, 2020)
GShard是Google推出的一个模块化工具,由轻量级API注解和XLA编译器扩展组成,让研究者能以最小代码改动实现大规模并行计算。[pdf_25]
关键成就:
-
将多语言神经机器翻译Transformer模型与稀疏门控MoE结合 -
扩展到超过6000亿参数 -
可在2048个TPU v3加速器上高效训练4天 -
实现从100种语言到英语的翻译质量远超先前技术[pdf_25]
GShard架构特点
在Transformer的FFN(前馈网络)层中,用多个专家FFN替换单个FFN,并通过门控网络(Router/Gating) 决定每个token使用哪个专家。[pdf_25]
六、GLaM:使用MoE扩展语言模型(Google, 2021)
GLaM(Generalist Language Model)是一系列采用稀疏激活MoE架构的语言模型,旨在扩展模型容量的同时显著降低训练成本。[pdf_25]
与GPT-3对比的惊人数据
|
|
|
|
|---|---|---|
|
|
稀疏MoE |
|
|
|
1.2万亿 |
|
|
|
GPT-3的1/3 |
|
|
|
GPT-3的1/2 |
|
|
|
零次/一次/少次学习均优 |
|
GLaM的成功表明:通过智能设计MoE架构,可以在资源消耗和性能之间取得更好的平衡。同时,GLaM在29个NLP任务上的零次、一次和少次学习表现均优于GPT-3。[pdf_25]
七、Switch Transformer:万亿模型的里程碑(Google, 2022)
Switch Transformer深入剖析了MoE在训练和微调中面临的稳定性挑战,并发布了具有2048个专家和1.6万亿参数的MoE模型。[pdf_25]
与T5的对比
|
|
|
|
|---|---|---|
|
|
MoE(编码器-解码器) |
|
|
|
1.6万亿 |
|
|
|
T5-XXL的4倍 |
|
预训练速度提升4倍,参数量是T5-XXL的145倍! 这就是稀疏激活的力量。[pdf_25]
专家容量(Expert Capacity)
Switch Transformer引入了专家容量(Expert Capacity)的概念:
通过设置容量因子,控制每个专家在每批次中能处理的token数量上限,从而实现负载均衡。[pdf_25]
八、Mixtral 8x7B:质效并举的稀疏专家模型(Mistral AI, 2024)
Mistral AI在2023年12月发布了Mixtral 8x7B,这是一个Sparse Mixture of Experts(SMoE)语言模型,一经发布便引起轰动。
架构设计
|
|
|
|---|---|
|
|
|
|
|
|
|
|
47B |
|
|
仅13B
|
|
|
32k tokens |
|
|
Apache 2.0开源 |
与其他模型基准对比
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.32 |
| Mixtral 8x7B | 70.6% | 84.4% |
|
60.7% | 58.4% |
|
关键发现: Mixtral 8x7B虽然只有13B激活参数,但在多项基准上超越或持平LLaMA 2 70B(70B全量参数)和GPT-3.5。尤其是在MBPP(代码生成)上,Mixtral 8x7B达到60.7%,远超LLaMA 2 70B的49.8%。[pdf_25]
在LMSys Chatbot Arena的排名
|
|
|
|
|---|---|---|
|
|
|
|
| Mixtral-8x7B-Instruct | 1121 | Apache 2.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mixtral 8x7B Instruct版本以1121的Elo评分超越了Claude-2.1、GPT-3.5-Turbo、Gemini Pro和LLaMA 2 70B Chat,是当时最好的开源权重模型![pdf_25]
幻觉与偏见控制
在BBQ和BOLD基准上的测量表明,Mixtral 8x7B在偏见控制方面相比LLaMA 2 70B有明显进步。[pdf_25]
九、MoE vs 集成学习:找对类比很重要
很多人会把MoE和集成学习(Ensemble Learning)混淆,但二者有本质区别:[pdf_25]
|
|
|
|
|---|---|---|
| 基本概念 |
|
|
| 目的 |
|
减少总预测误差 |
| 模型协作 |
|
|
| 适用性 |
|
|
| 典型例子 |
|
|
总结
-
MoE从1991年至今已30余年,从开山鼻祖到万亿参数模型,技术持续演进 -
稀疏门控是MoE的核心:每个token只激活少量专家,实现"参数多、计算少" -
GShard(6000亿)→ GLaM(1.2万亿)→ Switch Transformer(1.6万亿):Google在MoE领域持续引领 -
Mixtral 8x7B是里程碑:47B参数仅13B激活,Apache 2.0开源,超越LLaMA 2 70B -
计算效率是MoE的最大优势:GLaM训练能耗仅为GPT-3的1/3,Switch Transformer预训练快T5-XXL的4倍
★一个问题留给你思考:MoE通过"分治"策略实现了效率与规模的统一,未来能否进一步突破训练稳定性、专家负载均衡和分布式通信等挑战?Mixtral 8x7B的成功是否意味着"稀疏化"将成为下一代大模型架构的标配?
本文内容整理自《AI大模型微调实战营》第十一节课程,由彭靖田老师(Google Developer Expert)主讲。

