人人都会AI编程

3.7 解码器 - only 架构:当前主流大模型的统一架构选型逻辑

更新时间:2026-07-09

在 3.2 节中,我们拆解了 Transformer 的原始全貌:一个 Encoder 负责把输入文本编码成上下文向量,一个 Decoder 负责把这些向量解码成目标序列。这是 Google 2017 年论文里的标准像,也是早期机器翻译(如 GNMT)的技术蓝图。但一个略显反直觉的事实是:今天当你听到“大语言模型”(LLM)这个词时,无论是 GPT-4、Llama 3、Qwen2 还是 Mistral,它们几乎都采用了 Decoder-only(仅解码器)架构——Encoder 被整个拿掉了,Decoder 里的 Cross-Attention(交叉注意力)也被移除了。

为什么整个业界会殊途同归,选择了一条“残缺”的架构路线?本节从结构特征、效率逻辑和涌现特性三个维度,讲清楚这背后的选型必然性。


一、Decoder-only 的结构素描:保留了什么,去掉了什么

如果把原始 Transformer 比作一条双车道高速公路(去程理解 + 返程生成),Decoder-only 就是一条单向快车道,只允许从左往右行驶。

它保留的核心组件(即 3.2–3.6 节的所有关键模块):

  • Masked Multi-Head Self-Attention(因果掩码多头自注意力):3.3 节的自注意力机制 + 3.4 节的多头扩展,但附加了一个下三角掩码矩阵。位置 i 的 Token 只能 attend 到位置 ≤ i 的 Token,确保生成过程严格遵循“从左到右”的时间顺序。
  • Feed-Forward Network(FFN):3.6 节所述的升维-激活-降维非线性变换。
  • Residual Connection + Layer Normalization:3.6 节的残差连接与层归一化,维持深层网络的梯度稳定。
  • Position Embedding/Encoding:3.5 节的绝对位置编码、RoPE 或 ALiBi,为模型注入序列顺序信息。

它去掉的关键部件

  • 整个 Encoder 栈:不再需要独立的编码端。
  • Decoder 中的 Cross-Attention 层:原始 Decoder 通过 Cross-Attention 去“查” Encoder 的输出,而 Decoder-only 只查自己前面已经生成的内容。

因果掩码的数学直觉(呼应 3.3 节):
在标准 Self-Attention 中,注意力分数矩阵是完整的。但在 Decoder-only 中,该矩阵被置为下三角形式:

$$
\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} + M\right)V
$$

其中 M 是一个上三角为 −∞ 的掩码矩阵。这意味着模型在预测第 i 个词时,物理上无法“偷看”后面的答案。这种单向性正是因果语言建模(Causal Language Modeling, CLM,详见 4.1 节)的架构前提。


二、统一选型的三大底层逻辑

为什么业界没有继续拥抱 Encoder-Decoder 或 Encoder-only,而是集体倒向 Decoder-only?背后有三条铁律。

逻辑一:自回归生成的天然适配

大模型的核心训练目标是 Next Token Prediction(下一个词预测),也就是 CLM(4.1 节)。这本质上是一个自回归过程:用已生成的历史去预测未来。

  • Decoder-only:架构与目标完全同构。预训练时读一段文本,每个位置都在做“基于前文预测下一个词”;推理时也在做同样的事。训练与推理的分布高度一致。
  • Encoder-Decoder(如 T5、BART):Encoder 是双向的,更适合“输入一段,理解后输出另一段”的任务(如翻译、摘要)。但若用它做开放式生成(如写诗、对话),要么需要把前缀灌进 Encoder,再让 Decoder 生成,导致信息在 Cross-Attention 中多一次传递损耗;要么需要对架构做额外改造。
  • Encoder-only(如 BERT):双向掩码的设计让它在文本理解(分类、NER、语义相似度)上极强,但它根本不会生成。若要做生成,必须外挂一个 Decoder,变成“拼凑架构”。

实用结论:如果你希望一套架构同时服务预训练和所有下游任务(理解、生成、问答、摘要),Decoder-only 是最小公倍数。

逻辑二:工程效率与推理成本的硬约束

这是架构选型中最容易被论文忽略、却最被工程团队看重的因素。

  • KV-Cache 的极致复用(呼应 3.3 节):由于 Decoder-only 的因果掩码特性,在生成第 n 个 Token 时,前面 n−1 个 Token 的 Key 和 Value 向量不会再改变。因此可以将其缓存到 GPU 显存中,避免重复计算。这使得长文本生成的推理成本从 O(n²) 的重新计算,降为 O(n) 的增量计算。Encoder-Decoder 的 Encoder 端是双向的,整段输入的表示在生成过程中虽然可复用,但 Decoder 端的 Cross-Attention 仍需每次与完整 Encoder 输出交互,工程优化空间反而受限。
  • 并行训练与统一算子:Decoder-only 的堆叠结构极其规整,全部是相同的 Block 重复 L 次,非常适合 Megatron-LM、DeepSpeed 等分布式框架做张量并行和流水线并行。
  • 参数量效比:在总参数量相同的情况下,Encoder-Decoder 需要把预算拆成 Encoder 和 Decoder 两份;而 Decoder-only 把所有参数都砸在“生成能力”上,对于“大力出奇迹”的 Scaling Law 来说,这更划算。

逻辑三:涌现能力(Emergent Abilities)的温床

从 GPT-3 开始,业界观察到 Decoder-only 模型在规模突破某一阈值后,会涌现出上下文学习(In-Context Learning, ICL)能力(详见 6.1 节)——即不需要更新参数,仅通过在 Prompt 里放几个示例,就能学会新任务。

后续研究表明,这种能力与自回归的“元学习”结构密切相关:在预训练阶段,Decoder-only 模型读了海量人类文本,这些文本天然充满了“前文给出条件,后文给出答案”的模式(如代码注释→代码、问题→解答、定理→证明)。模型在持续做 Next Token Prediction 的过程中,被迫学会了一种通用能力:基于任意前缀上下文,预测最合理的延续。这正是 ICL 的底层机制。

相比之下,BERT 式的双向掩码预训练更关注“填补空缺”,其优化目标与“开放式续写”存在分布差异,难以自然涌现出长程自回归的元学习能力。


三、路线对比:一张务实的选型表

为了帮你彻底厘清为什么“一统天下”的是 Decoder-only,我们把三条路线放在同一维度下对比:

| 维度 | Encoder-only(BERT 系) | Encoder-Decoder(T5/BART) | Decoder-only(GPT/Llama 系) |
|------|------------------------|---------------------------|----------------------------------|
| 代表模型 | BERT, RoBERTa, ALBERT | T5, BART, UL2 | GPT-4, Llama 3, Qwen2, Mistral |
| 注意力方向 | 双向 | Encoder 双向 + Decoder 单向 | 单向(Causal) |
| 核心预训练任务 | MLM(掩码填空) | Span Corruption | CLM(Next Token Prediction) |
| 生成能力 | 无,需外挂 | 有,但需 Encoder-Decoder 协同 | 原生,且极其流畅 |
| 理解任务 | 极强,专用 | 强 | 强(通过 Prompt 转化为生成式) |
| 推理工程优化 | 单次前向,简单 | Encoder-Decoder 交互,复杂 | KV-Cache 友好,高度优化 |
| Scaling 天花板 | 低,MLM 不适合无限放大 | 中,架构分裂限制效率 | 高,参数全部用于自回归 |
| 当前主流场景 | 文本 Embedding、检索、分类 | 翻译、结构化摘要(仍有用) | 通用对话、代码、Agent、几乎所有 LLM 应用 |

特别说明:Encoder-Decoder 并未完全消失。在需要严格“输入-输出映射”且输入输出语义差异大的场景(如机器翻译、长文档结构化摘要),T5 及其变体仍有价值。但在通用基座大模型的赛道上,Decoder-only 已经形成了事实标准。


四、对工程与应用的实用认知

1. 模型选型时,默认选 Decoder-only

除非你的需求极其特殊(如只做文本相似度检索、不做任何生成),否则在 2024 年的技术生态下,选 Decoder-only 是零风险决策。开源社区(Hugging Face、ModelScope)的“LLM”分类下,99% 的权重文件都是 Decoder-only。

2. 微调(SFT)的数据格式天然对齐

正因为架构是单向生成,监督微调(5.1 节)的数据构造极其简单:通常把“指令 + 输入”与“回答”拼接成一个长序列,模型学习续写回答部分即可。这种“拼接-续写”范式与预训练的 CLM 目标完全一致,减少了训练阶段与推理阶段的分布偏移。

3. 推理优化手段全部围绕 Decoder-only 构建

你今天听到的 vLLM(PagedAttention)、投机解码(Speculative Decoding)、MQA/GQA(多查询/分组查询注意力,对 3.4 节的变体)、各种量化方案(INT8/INT4/AWQ/GPTQ),其优化前提都是单向自回归 + KV-Cache。如果回到 Encoder-Decoder,这些杀手锏大部分要重写。

4. 位置编码的选型与 Decoder-only 深度绑定

3.5 节提到的 RoPE(旋转位置编码)和 ALiBi,已成为 Decoder-only 模型的标配。它们与因果掩码协同工作,既保证相对位置感知,又支持外推至更长上下文。这为 Llama、Qwen 等模型从 4K 上下文扩展到 128K 提供了工程可行性。


五、小结与衔接

Decoder-only 架构的流行,不是某种技术审美的偶然,而是训练目标(CLM)、工程效率(KV-Cache + 并行)、涌现特性(ICL)三者共同指向的必然。它用最简洁的结构——单向堆叠的 Transformer Block——承载了从预训练到推理、从理解到生成的全部职责。

理解这一点,你就明白了为什么本书后续章节(第 4 章预训练、第 5 章对齐、第 6 章关键特性)几乎全部默认建立在 Decoder-only 假设之上。在 4.1 节中,我们将正式进入这种架构的灵魂——因果语言建模(CLM),看看 Next Token Prediction 这个看似简单的目标,如何在万亿级数据和千亿级参数的加持下,锻造出具备通用智能的语言系统。