土法炼钢兴趣小组的算法知识备份

【Transformer 与注意力机制】30|预训练目标:BERT、GPT、T5 其实在学三种不同的事

文章导航

分类入口
transformer
标签入口
#transformer#pretraining#gpt#bert#t5

目录

“预训练”这个词很容易把问题说得太宽。很多人会把它概括成一句话:先拿大量无标注文本训一遍,再做下游任务。这个说法只描述了训练阶段,却没有回答更关键的问题:模型在预训练阶段到底被要求预测什么?

同样都是喂海量文本,不同目标学到的其实是三种不同接口:

这不是小差别,而是直接决定了模型架构、推理方式、下游迁移路径,甚至决定了后来哪条路线能扩到几百亿参数、几万亿 token。

这一篇只做一件事:把 GPT、BERT、T5/BART 这三条主线放在同一张坐标系里,看清它们各自优化什么任务接口、为什么会推着模型架构分化、又为什么通用 LLM 最后大多落到 decoder-only 的 next-token prediction 上。

讨论范围:本文只比较文本模型里的三类主流预训练目标:自回归语言建模(Causal Language Modeling, CLM)、掩码语言建模(Masked Language Modeling, MLM)与去噪式序列到序列(Denoising Seq2Seq)。ELECTRA、XLNet、UL2、PrefixLM、多模态预训练不在本文展开;模型家族本身放到 37|BERT38|GPT 系列39|T540|三大路线之争 细讲。


一、预训练目标就是“让模型在自监督里学什么任务”

预训练的数据通常没有人工标签,所以监督信号必须从数据本身构造出来。这就是自监督学习。

对文本来说,最关键的不是“先训一下”,而是先决定模型通过什么接口接收上下文、又通过什么接口给出答案。先把结论压成一张表:

路线 代表论文 训练时看到什么 要预测什么 最顺手的下游接口 主要代价
GPT / CLM GPT-1、GPT-2、GPT-3 左侧前缀 下一个 token 开放式生成、对话、补全 双向上下文不是结构内建
BERT / MLM BERT、RoBERTa 带 mask 的完整序列 被选中的 token 分类、抽取、检索编码 训练接口和生成接口不一致
T5/BART / Denoising Seq2Seq BART、T5 被破坏的输入序列 原文或被遮盖的 spans 摘要、翻译、条件生成 结构更重,统一成单一开放式接口更复杂

最常见的构造方式有三类:

  1. 自回归语言建模(Causal Language Modeling, CLM)
    给历史,预测下一个 token。
  2. 掩码语言建模(Masked Language Modeling, MLM)
    把一部分 token 遮住,预测被遮住的内容。
  3. 序列到序列去噪(Denoising Seq2Seq)
    先把输入破坏,再让模型恢复原文。

1.1 它们不只是 loss 不一样,连模型最擅长的行为都不一样

这是理解预训练目标最重要的一点。

你训练时逼模型做什么,它就会把参数预算主要花在那件事上。所以预训练目标本身就会把后续架构、推理方式和微调习惯一起推向不同方向。


二、GPT 路线:自回归语言建模为什么最终赢成主航道

先看最简单也最有统治力的一条路线:next-token prediction。

2.1 目标定义非常朴素

GPT-1(Radford et al., 2018)把预训练主线定义成左到右语言建模。给定 token 序列 \((x_1, x_2, \dots, x_T)\),训练目标是最大化:

\[ \sum_{t=1}^{T} \log p(x_t \mid x_{<t}) \]

也就是:当前位置只能看左边,预测自己是什么。这正好对应 decoder-only 结构。

2.2 它最强的地方是训练和推理完全一致

这是 CLM 路线最关键的工程优势。

训练时模型学的是:

给前缀,预测下一个 token

推理时模型做的也是:

给前缀,采样下一个 token

目标和用法天然一致,这让 CLM 路线特别容易扩展到通用生成模型。

2.3 它对互联网文本尤其自然

网页、书籍、论坛、代码、对话记录,几乎都可以直接串成 token 流来做 next-token prediction,不需要额外构造 mask、span 或重写输入输出格式。

这带来三点优势:

  1. 数据管线简单。
  2. 训练吞吐高。
  3. 模型接口统一。

这也是 GPT 路线后来越做越大的关键背景:它特别适合把“任何文本数据”都转成统一训练任务。

2.4 它的代价:双向理解不是结构内建的

CLM 只能看左上下文,这意味着模型如果想在理解任务上用好右上下文,只能靠更长上下文建模、提示工程或额外技巧。它不是做不到理解,而是在结构上不如 encoder-only 那么“天生对口”。

但随着模型规模变大、训练数据暴涨,这个代价在很多场景下被统一接口的好处压过去了。


三、BERT 路线:掩码语言建模为什么一度统治理解任务

和 GPT 相比,BERT 的目标完全换了视角。

3.1 MLM 的核心:把一部分位置挖空,再用双向上下文补回来

BERT(Devlin et al., 2019)最经典的训练方式,是先随机选出约 15% 的 token 作为预测目标,然后对这 15% 的位置做三种处理:

  1. 80% 替换成 [MASK]
  2. 10% 替换成随机 token;
  3. 10% 保持原词不变,但仍然要求模型预测它原本是什么。

这不是细枝末节,而是在尽量缓和“训练时总见到 [MASK],推理时几乎看不到 [MASK]”这条分布裂缝。目标可以写成:

\[ \sum_{i \in \mathcal{M}} \log p(x_i \mid x_{\setminus \mathcal{M}}) \]

其中 \(\mathcal{M}\) 是被 mask 的位置集合。

BERT 原论文还带了一个 next sentence prediction(NSP)辅助目标,但后来的 RoBERTa 基本保留 MLM 主线并去掉了 NSP。换句话说,这条路线真正稳定下来的核心,还是“挖空再补”的双向建模。

3.2 它的优势:天然双向

因为模型在预测某个被遮住位置时,可以同时看左边和右边,所以它特别适合理解任务:

这就是为什么 BERT 一出来,几乎把那一代 NLP 理解榜单横扫了一遍。

3.3 它的代价:训练接口和生成接口不一致

MLM 最大的问题不是效果不好,而是接口不统一。

训练时模型看到的是带 [MASK] 的序列;推理时真实文本里通常没有 [MASK]。这会导致两个问题:

  1. 预训练-微调分布裂缝(pretrain-finetune gap):训练分布和使用分布不完全一致;
  2. 直接生成文本很不自然。

你当然可以让 BERT 做生成,但那不是它最顺手的工作方式。

3.4 这条路线为什么后来没有扩成通用 LLM 主航道

原因不是它不强,而是它太偏“理解器”。

在 2018-2020 那个阶段,理解任务是 NLP 的主战场,所以 BERT 路线极其成功;但当行业开始追求:

next-token prediction 的统一性优势就越来越大,BERT 这条路线逐渐退到专用 encoder 模型的位置。


四、T5 / BART 路线:去噪序列到序列,其实更像“条件重建”

除了 GPT 和 BERT,还有一条很重要的中间路线:用 encoder-decoder 做去噪恢复。

4.1 它的基本思路是“故意破坏,再恢复原文”

这类方法先对输入做 corruption,再让模型输出原始文本。常见破坏方式包括:

于是训练目标不再是“预测单个缺失 token”,而更像“把一个坏掉的输入修回来”。对 BART 而言,这件事可以概括成最大化 \(\log p(x \mid \tilde{x})\),其中 \(\tilde{x}\) 是被破坏后的输入。

4.2 BART 和 T5 的差别,不只是破坏方式不同

例如 T5 的 span corruption 更接近这样:

输入:  The <extra_id_0> walks in <extra_id_1> park.
输出:  <extra_id_0> dog <extra_id_1> the <extra_id_2>

这不是小实现差别,而是在定义输出接口:BART 倾向于“把完整答案再说一遍”,T5 倾向于“把缺掉的部分组织成目标文本”。这类目标对摘要、翻译、问答等条件生成任务都很友好,因为模型从一开始就是 encoder-decoder。

4.3 它的优势:生成和理解都照顾到了

这条路线的好处是平衡:

所以在摘要、翻译、条件生成上,这条路线长期都很强。

4.4 它的代价:结构和工程更重

相比 decoder-only:

所以它很强,但在“大一统通用 LLM”这条路上不如 decoder-only 干净。


五、三条路线的真正差别,不在名字,而在接口哲学

把三种目标压成一张表,差别就非常清楚了:

路线 训练目标 典型架构 最强能力 最大代价
GPT / CLM 预测下一个 token decoder-only 生成、续写、统一接口 双向理解不是结构内建
BERT / MLM 预测被 mask 的 token encoder-only 双向理解、判别任务 不自然支持生成
T5/BART / Denoising 从破坏输入恢复原文 encoder-decoder 条件生成、任务统一 结构更重、工程更复杂

这张表里最关键的一列是“最大代价”。因为预训练目标的竞争,最终往往不是谁单点指标最好,而是谁在能力覆盖、数据管线、推理接口、规模扩展这四件事上更均衡。

从这个角度看,GPT 路线后来赢成主航道,就没那么神秘了。


六、为什么最后是 GPT 路线越走越宽

下面这四点是结合 GPT-3 之后的训练实践、产品接口和规模化工程得到的综合判断,不是某一篇论文原文直接写下来的结论。把这件事分清楚很重要:这里讨论的是“为什么它成了通用 LLM 主航道”,不是“另外两条路线从此没价值”。

把过去几年发生的事浓缩一下,原因主要有四个。

6.1 数据利用最直接

互联网文本天然就是一个长 token 流。CLM 不需要人为造 mask、造 span、造 corruption,几乎可以直接开训。

6.2 产品接口最统一

无论是:

最后都能包装成“给前缀,继续生成”。

6.3 规模化规律更干净

当参数量、数据量、计算量一起往上堆时,decoder-only 的训练目标和推理目标始终对齐。工程复杂度相对也低,这让它特别适合大规模扩展。

6.4 指令微调和 RLHF 把“不会听话”这个短板补上了

GPT 路线最大的早期缺点是:虽然会续写,但不一定按你想要的方式回答问题。后来指令微调、偏好优化把这个缺口补上,于是它从“会写”变成“会按指令写”,统一接口优势进一步放大。


七、预训练目标会如何影响下游迁移

这件事非常实际。不同目标,不只是预训练阶段不同,微调习惯也会不同。

7.1 BERT 路线更适合挂任务头

句分类、token 分类、span 抽取,往往直接在 encoder 输出上挂一个小头就行。

7.2 GPT 路线更适合提示(prompt)/指令(instruction)接口

你给它一个自然语言前缀,它就继续生成。这让“统一成自然语言交互”变得极其方便。

7.3 Seq2Seq 路线更适合显式输入输出分离

翻译、摘要、数据到文本、问答生成,天然就是一段输入到一段输出。encoder-decoder 在这类任务上往往更顺手。

所以不能说某个预训练目标“绝对更先进”,而要看你最后想把模型当成什么工具。


八、几个常见误解

8.1 “预训练就是无监督地先把模型训一下”

太笼统了。关键不是“先训一下”,而是“让模型在无标注数据上做什么自监督任务”。

8.2 “BERT 比 GPT 更懂语义,所以路线更高级”

BERT 在理解任务上结构更对口,但这不代表 GPT 不懂语义。随着规模提升,GPT 也能学出很强的语义能力。真正差别在于目标和接口。

8.3 “MLM 只是把 next-token prediction 换了个写法”

不是。它彻底改变了上下文可见性、模型架构和下游适配方式。

8.4 “T5/BART 只是 BERT 和 GPT 的折中版”

也不准确。它们有自己的训练哲学:通过去噪恢复学习条件生成,而不是简单混合前两者。

8.5 “今天大模型都用 GPT 目标,所以别的路线没价值了”

不对。encoder-only 在检索、分类、多模态编码等场景仍然非常重要;encoder-decoder 在翻译、摘要、语音和一些结构化生成任务里也长期有竞争力。


九、结语

预训练目标之争,本质上是在回答一个很朴素但后果极大的问题:让模型在大规模文本上先学会什么动作。 GPT 让它学会续写,BERT 让它学会补缺,T5/BART 让它学会条件重建。三条路线都成功过,但当行业目标从“单项任务最优”转向“一个模型覆盖尽量多任务”时,next-token prediction 的统一接口优势最终胜出。

下一篇我们就沿着这条胜出的路线往下走:模型已经会续写了,为什么还不够“听话”?答案就是后来改变 LLM 产品形态的那一步——微调,以及再下一步的指令微调。


十、参考资料

下面几篇是一手材料,已经足够支撑本文的关键判断;如果你要继续看模型家族本身,可以直接接本系列的 37|BERT38|GPT 系列39|T540|三大路线之争

10.1 论文与技术报告

  1. Radford, A. et al. “Improving Language Understanding by Generative Pre-Training.” OpenAI Technical Report, 2018. GPT 路线的起点。
  2. Devlin, J. et al. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.” NAACL 2019. MLM 路线的标志性论文。
  3. Liu, Y. et al. “RoBERTa: A Robustly Optimized BERT Pretraining Approach.” arXiv:1907.11692, 2019. MLM 路线的强化版代表。
  4. Lewis, M. et al. “BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension.” ACL 2020. 去噪 seq2seq 路线代表。
  5. Raffel, C. et al. “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.” JMLR 2020. T5 的统一 text-to-text 路线。
  6. Brown, T. et al. “Language Models are Few-Shot Learners.” NeurIPS 2020. decoder-only 规模化后的代表结果。

← 上一篇:29|Tokenization | 下一篇:31|微调演进

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-15 · transformer

【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text

T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。

2026-04-15 · transformer

【Transformer 与注意力机制】37|BERT:双向编码器为什么适合理解任务

BERT 不是“早期大模型”的历史遗物,而是 Encoder-only Transformer 路线的代表。本文解释为什么 BERT 选择双向编码器,Masked Language Modeling 到底在学什么,Next Sentence Prediction 为什么后来被质疑,以及为什么 BERT 天然适合分类、匹配、抽取这类理解任务,却不是自回归生成模型。

2026-04-15 · transformer

【Transformer 与注意力机制】22|Encoder 详解:6 层堆叠到底在做什么

把 Transformer encoder 从“左半边”这个模糊概念拆成可操作的结构:单层里 self-attention、FFN、残差、LayerNorm 各做什么;6 层堆叠为什么不是重复劳动;encoder 输出为什么适合理解任务而不直接擅长生成;以及它和 decoder-only、encoder-decoder 两条路线到底差在哪。


By .