BERT、T5、GPT 都叫 Transformer,但它们不是同一种程序。BERT 读完整输入,给出双向表示;T5 先编码输入,再生成输出;GPT 只看前缀,不断预测下一个 token。三者的差异不是命名习惯,而是信息流方向和任务接口的差异。
如果只看今天的通用大模型,Decoder-only 几乎成了默认答案。但这个结果不是因为 Encoder-only 或 Encoder-Decoder “失败”,而是因为通用生成助手把任务接口改写成了 prompt-to-completion:输入一段上下文,模型继续生成一段文本。
本篇能让你学会三件事:
- 三类 Transformer 的信息流和任务形态有什么根本差别;
- Decoder-only 为什么更容易吃下互联网文本并 scale;
- 为什么 Encoder-only 和 Encoder-Decoder 仍然在检索、分类、翻译、多模态中有价值。
一、Encoder-only:双向理解
Encoder-only 的代表是 BERT。它没有 causal mask,每个 token 都能看见左右上下文。这样的信息流非常适合理解完整输入:文本分类、句子匹配、命名实体识别、抽取式问答、embedding、rerank。
它的优势是表示质量。给定一段文本,模型可以充分利用全局信息,为每个 token 和整段文本生成上下文表示。缺点是它不自然地产生任意长度输出。你可以给它加分类头、span 头、序列标注头,但它不是天生用来长篇生成的。
所以 Encoder-only 更像“读者”和“编码器”,而不是“作者”。在搜索、推荐、审核、实体识别等系统里,它仍然常常比大型生成模型更便宜、更稳定、更适合部署。
二、Encoder-Decoder:条件生成
Encoder-Decoder 的代表是原始 Transformer 和 T5。Encoder 读取完整输入,Decoder 在 cross-attention 条件下生成目标序列。这是机器翻译、摘要、改写和许多 Seq2Seq 任务的自然形态。
它的优势是输入和输出边界清晰。源语言和目标语言可以不同,输入文档和摘要可以长度差异很大,问题和答案也可以分离。Encoder 专心理解条件,Decoder 专心生成目标。
它的代价是系统复杂度更高。推理时既要处理 Encoder 输出,又要做 Decoder 自回归生成;服务系统和缓存策略也不如纯 Decoder-only 简洁。对通用聊天助手来说,把所有上下文放进一个自回归序列往往更直接。
三、Decoder-only:自回归生成
Decoder-only 的代表是 GPT。它使用 causal mask,每个 token 只能看过去。训练目标通常是 next-token prediction:给定前文,预测下一个 token。
这个目标非常简单,却极其通用。书、网页、代码、对话、论文都可以组织成 token 序列。模型不用为每个任务设计标签,只要不断学习文本分布。规模扩大后,任务说明、示例和约束都可以写进 prompt,模型继续生成答案。
Decoder-only 的另一项优势是推理系统围绕 KV Cache 优化很自然。历史 token 的 K/V 可以缓存,新 token 增量生成。虽然自回归串行性仍然存在,但整个 serving 生态已经围绕这条路径高度优化。
四、训练目标决定接口
三条路线的差异,最终会落到训练目标和使用接口上。
BERT 的 MLM 让模型擅长补洞和理解完整上下文;T5 的 span corruption 让模型擅长条件生成;GPT 的 next-token prediction 让模型擅长续写和生成。它们都能迁移到很多任务,但最自然的用法不同。
当任务被写成“请根据下面内容回答问题”时,Decoder-only 很顺。当任务是“给这两段文本打一个相关性分数”时,Encoder-only 可能更直接。当任务是“把一篇文章压缩成摘要”时,Encoder-Decoder 仍然很自然。
路线之争本质上不是架构名词之争,而是任务接口之争。
五、为什么大模型时代偏向 Decoder-only
第一,数据获取简单。互联网文本本来就是序列,next-token prediction 可以直接利用它。第二,接口统一。分类、问答、摘要、写代码、工具调用都可以写成生成任务。第三,scaling 路径清晰。语言建模 loss 和模型规模之间的关系更容易做大规模实验。
第四,产品形态匹配。ChatGPT 这类产品就是对话续写。系统消息、用户消息、工具返回、模型回复都能被组织成同一个 token 序列。Decoder-only 在这种格式下非常顺。
第五,工程生态成熟。KV Cache、连续 batching、量化、speculative decoding、推理并行都围绕 Decoder-only 快速发展。生态一旦形成,路线优势会被进一步放大。
六、另外两条路线没有消失
Encoder-only 在 embedding、rerank、分类、检索召回、文本匹配中仍然强。很多 RAG 系统前半段依赖的不是生成模型,而是编码模型和排序模型。
Encoder-Decoder 在翻译、摘要、结构化条件生成、多模态编码到文本生成中仍然有意义。某些任务天然有“源输入”和“目标输出”的边界,强行拼成单段自回归序列不一定更好。
所以更准确的判断是:Decoder-only 赢得了通用生成助手这条主线,而不是消灭了所有 Transformer 形态。
七、关键概念回顾
- Encoder-only:双向编码完整输入,适合理解与表示。
- Encoder-Decoder:编码输入条件,自回归生成输出,适合 Seq2Seq。
- Decoder-only:只看前缀预测下一个 token,适合通用生成。
- 任务接口:模型如何接收任务、如何输出结果,比架构标签更关键。
- KV Cache:Decoder-only 推理生态的重要基础。
八、常见误解
8.1 “Decoder-only 在所有任务上都最好”
不成立。生成式接口通用,不等于每个任务都最便宜、最准或最低延迟。
8.2 “Encoder-only 已经过时”
Encoder 模型在检索、分类、匹配、重排里仍然常用。它们通常更小、更快、更可控。
8.3 “T5 路线失败了”
T5 的统一 Text-to-Text 框架仍然重要。只是通用聊天助手的产品形态更适配 Decoder-only。
九、下一步
三条路线都要面对同一个基础问题:Transformer 没有天然顺序感。下一篇进入位置编码演进,解释 Sinusoidal、Learned、RoPE、ALiBi 如何让模型理解 token 的位置与距离。
十、参考文献
- Vaswani, A. et al. “Attention Is All You Need.” NeurIPS 2017.
- Devlin, J. et al. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.” NAACL 2019.
- Raffel, C. et al. “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.” JMLR 2020.
- Brown, T. et al. “Language Models are Few-Shot Learners.” NeurIPS 2020.
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Transformer 与注意力机制】38|GPT 系列:从 GPT-1 到 GPT-4 的路线演进
GPT 路线的关键不是某个模型名字,而是 Decoder-only Transformer、next-token prediction、规模扩展、上下文学习、指令微调和人类反馈逐步合流。本文从 GPT-1 讲到 GPT-4,只使用公开可确认信息,解释为什么自回归语言模型最终成为大语言模型时代的主线。
【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text
T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。
【Transformer 与注意力机制】58|后 Transformer 时代:架构会消失还是会进化
后 Transformer 时代不太可能是某个新架构一夜之间消灭 Transformer,更可能是 attention、SSM、MoE、检索、外部记忆、工具调用和多模态模块逐渐混合。本文回顾本系列主线,解释为什么 Transformer 很难突然消失,也为什么它不可能原样解决所有问题。
【Transformer 与注意力机制】37|BERT:双向编码器为什么适合理解任务
BERT 不是“早期大模型”的历史遗物,而是 Encoder-only Transformer 路线的代表。本文解释为什么 BERT 选择双向编码器,Masked Language Modeling 到底在学什么,Next Sentence Prediction 为什么后来被质疑,以及为什么 BERT 天然适合分类、匹配、抽取这类理解任务,却不是自回归生成模型。