参考文章
Encoder-Decoder之争
- Encoder:某个词能看到整个序列的所有信息,
同时看到上文和下文 - Decoder:由于mask机制,编码某个词特征时,
仅能看到上文。
Encoder-only/自编码语言模型
🥅建模目标
- BERT将序列
随机挑选15%Token变成 [MASK]得到噪声 - 期望根据上下文恢复/猜测出原始值
。
代表和优缺点
- 代表:Bert
- 优点:较好融入双向语言模型,能看到被预测单词的上文和下文。
- 💔 缺点
- Masked Language Modeling 任务,不擅长做生成任务。
- 👿预训练引入mask导致和下游finetune任务不一致。
- 😞 泛化效果不好需要微调。

Encoder-Decoder
- 代表:T5、BART
PrefixLM
🎓核心内容
Encoder-Decoder 变体,区别是Encoder和Decoder 共享一个Transformer。
Encoder:
Auto-Encoding编码, token之间互相可见。Decoder:
Auto-Regressive自回归模式,待生成token可以看到Encoder所有token和Decoder已经生成的token。
可以根据给定的前缀生成后续的文本,生成每个词时都可以考虑之前的上下文信息。
代表:UNILM、GLM等。
适用于:机器翻译等任务。
👑CasualLM/Decoder-Only/自回归LM
🎓核心内容
- Next Token Prediction 兼顾理解和生成;下游泛化性好。
- 只能根据前面生成的文本去生成后面的文本。
- 代表:GPT (当前绝对主流)
- GPT是单向的从左到右,使用更大语料和参数,把AutoRegressive LM发挥到了极致。ELMo是双向的。
🥅建模目标
- 给定文本序列
,调整参数使得训练数据上的似然函数最大。 : Transformer(或RNN)在t时刻之前编码的隐状态,emb为词向量。
优缺点
- 优点:天然符合下游任务。见下文吧。



为什么 Decoder-Only
👊Encoder 缺点
- MLM任务不擅长生成任务,下游需微调
- ⭐双向注意力的低秩问题,可能会削弱模型表达。生成任务而言,双向并无实质好处。
👊Encoder-Decoder 缺点
- 同等参数下,需要multitask finetuning 才能激发最佳性能。
👋Decoder 优点
- NTP任务兼顾理解和生成,下游泛化性好
- ⭐同等参数Decoder具有更好的zero-shot性能,更适合利用大规模无标注语料自监督学习
- ⭐训练效率、工程实现有优势。
- 支持一直复用KV-Cache,对多轮对话更友好。
- 因为每个Token的表示之和它之前的输入有关,而encoder-decoder和PrefixLM就难以做到。
Dense Model
概览
特点
- 处理每个token,所有参数都参与计算
优缺点
- 优点:简单、直接、好训练
- 缺点:费钱费卡、推理慢
代表工作
代表工作
- LLaMA:7B-70B,开源之光
- GLM:搞定开源和双语问题,
- Qwen:全能选手,理解和生成都很强
- Mistral:GQA,推理快、显存占用少,效果不减
MoE Model
概览
特点
- 使用条件计算扩展模型容量。解决模型越大越慢越贵的问题。
多个专家+门控网络。总参数大,但激活参数小。
优缺点
- 优点:训练推理快、
scale到大模型、节省资源。 - 缺点:训练需要大显存、训练稳定性。
工业级大模型标准方案:MoE + ...
- Long Context 处理:长上下文扩展处理
- KV Cache 压缩:压缩缓存、提升显存
- Multi-Token Prediction:提速
代表工作
条件计算(背景)
背景问题
- 模型
越大越聪明,但越大越贵、越慢。- DL成功关键:充分利用数据和模型的规模
- 但随数据和参数增加,带来训练成本增加(二次方),然当前计算能力不太能满足。
核心思想
- 模型里有
很多专家:有的擅长文学、有的擅长数学。 - 来了一个问题(Token),
只派最懂的Top-k(通常k=2)去处理即可。无需所有专家同时计算。
- 在
不显著增加训练成本的情况下,尽量增加模型容量。
条件计算
以
每个样本为基础,冻结或激活大部分参数。激活谁?门控决策机制- 可以是二进制的、稀疏而连续的、随机性的、确定性的等。
- 通过各种RL、反向传播来训练

早期论文条件计算工作:Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer
Sparsely-Gated Mixture-of-Experts layer (MoE)结构
- 一些专家:每个专家为一个FFN,也可以是Transformer。
- 一个可训练的门控网络:它会挑选专家的一个稀疏组合,用来处理每个输入
- 所有网络都是使用反向传播联合训练的
MoE 优缺点
在有限的资源下,用更少的训练步数训练一个更大的模型,往往比更多步数训练小模型效果更好。
💥核心
- 每轮迭代根据样本决定激活一部分expert用于计算,节省计算资源
- 由
门控gate决定哪些expert用于计算。 n个专家expert+门控gate+topk机制
👏优点
- 🚀 训练推理速度更快、所需计算资源更少、效果更好
- 允许模型计算成本不变的情况下增加参数数量,更容易scale到万亿模型。
- 多任务学习能力强
👿缺点
- 需要大量显存,所有expert需要加载到内存
- 可能遇到训练稳定性问题,微调存在挑战finetune过拟合,但显示出潜力。
- 通信成本高,MoE专家路由机制带来通信成本。
MoE 结构
MoE 结构
专家
- n个专家网络(
稀疏MoE层):。 - 每个专家是一个
独立的子网络模块,可以是FFN、Transformer等等。 - 保持输入输出大小、结构一致。输出
- ⭐
代替了Transformer中的FFN层。
门控网络
- 1个门控网络
( 路由网络)- 输出各专家权重,是一个稀疏n维向量
。如 [0.0,0.8,0.0,0.2,0.0], n=5个专家 - 决定
哪些token被发送到哪个专家。
- 输出各专家权重,是一个稀疏n维向量
MoE层输出
为所有专家/top-k专家 加权求和
稀疏性优点
输出的稀疏性可以节省计算量🔋 - 当
时,则无需计算 - 实验中有数以千计的MoE,但每个样本只会用到少量专家 👍
- 专家数量特别大,可能需要
层次化MoE
- 当

Switch Transformer:使用稀疏的Switch FFN替换原来Dense FFN。

门控 TopK策略
1. Softmax Gating (朴素想法)
- 矩阵乘以输入,再过Softmax。是非稀疏的门控网络。
2. Noise Top-k Gating
- 在softmax基础上增加稀疏性和噪声,
仅选择topk个专家。- ⭐保留前k个值,其余设置为
:稀疏性为了节省资源。 - 可调高斯噪声:帮助负载均衡。
- 每个分量的噪音量可通过训练权重
来控制。
- ⭐保留前k个值,其余设置为
层次化MoE
专家数量很多时,使用2级层次MoE来降低分支因子。
- 1个主选通网络
:先选择一组专家组,共有a组 - a个次选通网络
:在某组内从b个中选一个专家 - a*b个专家
问题
批量减小问题
批量减小问题
- 低效问题:专家数量增加导致单专家处理样本变少 ‼️。
个专家选 个, 个样本,每个专家处理 个样本,非常低效。 - 如果提高b,但受内存限制。
- 解决方法
- 混合数据并行(复制完整模型到多设备)、模型并行(拆分模型参数到不同设备),变相扩大b
- 如果
个设备,有效批次 ,每个专家 处理样本:
- 如果
- 增加循环MoE的批大小
- 混合数据并行(复制完整模型到多设备)、模型并行(拆分模型参数到不同设备),变相扩大b
专家平衡问题
专家平衡问题
门控网络收敛不平衡,导致少量专家总是会得到较大权重,出现赢者通吃现象。- 由于
数据分布不均匀,某些专家可能会处理更多的数据,而其他专家可能会处理较少的数据。
解决办法1:软性约束
- 软性约束:定义专家重要性损失
,在一个batch上门控网络的和。 - 鼓励所有专家有相同的重要度,但专家仍可能收到差异很大的样本。
解决方法2:不同的负载均衡loss (谷歌Switch Transformers)
符号:n专家,T个token的batch B
所有token路由到专家i的概率,
- batch中分配给i的token占比,
- 辅助loss,乘以专家数量。
- 其中
是个超参数,足够大保证负载均衡,足够小,不影响主要的交叉熵训练。
- 其中
- loss优点:鼓励均匀路由。
其他
Switch Transformers (重点实现,2022年谷歌)
核心思想:尽可能把Transformer做大👍
- 核心:⭐一个token每次只路由到1个专家。
- 优点:
- 减少路由计算,降低MoE通信成本。
- 每个专家bs(专家容量)至少可以减半。
专家容量/容量因子
- 背景:门路由动态性根据输入数据动态把token分配给不同专家,要求模型灵活处理数据分布。
- 定义:每个专家在模型中处理的token数,n为专家数,capacity factor为容量因子(>1),
- 专家容量作用:把batch总token平均分配给专家,通过容量因子来扩展容量提供缓冲空间,应对token分布不均情况。
- 容量因子取值:必须大于1保证有缓冲空间,但不能太大会浪费计算资源(如超过3)。
- 示例:
专家数=3,输入token=6t,容量因子=1, 专家容量=2, - ‼️但expert1却收到了3个token则溢出了,超出的不会计算,直接残差到下一层⚠️,这样不好😢
- 示例:

Recurrent Model
概览
问题
- Transformer 成本高:推理时KV Cache显存占用大、长度扩展平方复杂度
目标
- Linear-time Decoding
线性时间解码+并行训练(似Transformer)
趋势
代表工作
1. RWKV (Receptance Weighted Key Value)
- 特点: 披着 RNN 皮的 Transformer。
- 优势:
- 训练:
像Transformer一样快(并行) - 推理:
像 RNN 一样省(线性)。 - 已经证明了在同等参数下
效果不输 Transformer。
- 训练:
2. RetNet (Microsoft)
- 创新:
Retention Operator。 - 优势: “既要又要”。既能
并行训练,又能循环推理。被微软称为“Transformer 的继任者”。
3. Mamba (State Space Models, SSM):
创新: Selective SSM
参数是随输入变化的(Input-dependent)- 能“
选择性”地记住或遗忘信息。
优点
- 长文本极快、省显存,吞吐量极高。
- 目前最火的非 Transformer 架构。
缺点
- 复杂任务可能不如Attention效果好。
4. Hyena
- 技术: Long Convolutions (长卷积)。
- 优势: 擅长处理超长上下文(Context Lengths),成本远低于 Attention。
5. DeltaNet & Gated DeltaNet
- 技术: Delta Rule。一种更
高效的记忆更新方式。 - Gated DeltaNet: 加了
门控(Gating),在长文本检索任务上甚至打败了 Mamba-2。
Diffusion-based Model
核心原理
主要工作
早期探索
- 解决基本问题:文本是离散的,图像是连续的,如何做扩散?
- D3PM:设计离散的扩散过
- Diffusion-LM:在embedding空间做扩散
迈向实用
- DiffSeq:扩散模型应用到seq2seq任务,效果与强大AR相当。
- SSD-LM:离散词表上执行基于单纯形的扩散,并
以块为单位生成文本,实现了模块化的分类器引导。 - AR-Diffusion: 在扩散过程中
引入显式的自回归排序,以调和顺序依赖性与迭代细化之间的关系。
大模型时代
- LLaDA:
扩散模型也能ScaleUp,通过Masking Schedule和普通Transformer进行反向去噪,从头开始训练。 - Mercury Coder:商业模型,把编码看成并行的多token去噪过程,卖点就是快,写代码改来改去,并行能力很有优势。
- Gemini Diffusion:研究用于文本生成的扩散模型。
Hybrid Architectures
概览
背景
- Transformer
- 优点:效果好
- 缺点:长文本太慢、太贵。
- SSM(Mamba/RNN)
- 优点:长文本极快
- 缺点:但复杂任务效果可能不如Transformer
- MoE
- 优点:容量大、推理快
- 缺点:训练复杂
Hybrid核心思想
- Hybrid:我全都要。
- Transformer Attention 与 State Space 或 循环模块结合,即夹在Mamba层中间
- 再加上MoE的Feed-Forward层。
- 在
质量、上下文长度、吞吐量之间进行权衡。
主要工作
Jamba
Transformer(推理能力)+Mamba(长文本优势)+MoE。- 非常有名的架构创新,证明了Mamba和Transformer混在一起能跑通。
Qwen3-Next
Gated DelataNet(线性算子)+Gated Attention(传统)+Sparse MoE- 目标:256k+上下文,解决repo-level的问题
DeepSeek V3, V3.2-Exp
MLA (极致压缩的Attention)+MoE (极致细粒度的MoE)+DSA (稀疏注意力)- 没有用Mamba,通过魔改 Attention(
MLA/DSA)来达到类似效果