一、预训练范式的分水岭:2018年的两条路径
2018年是NLP预训练范式的分水岭。Google发布BERT主打"双向理解"——用Masked Language Model(MLM)让模型同时看到token的左右上下文;OpenAI同期发布GPT-1主打"自回归生成"——从左到右逐token预测,模型天然适配文本生成任务。两种范式在2018-2020年间反复竞争,最终由GPT-3(2020)以"规模即正义"胜出,BERT派系则向"任务专用小模型"方向演化。
1.1 两条路径的根本分歧
分歧的本质是语言理解 vs 语言生成的建模目标差异。BERT假设"理解一个词需要左右上下文",MLM任务让模型学会双向编码;GPT假设"语言是时间序列",从左到右的预测天然适合生成场景。两种假设各有道理,最终由下游任务的实际需求决定胜负——2022年ChatGPT引爆生成式AI,让GPT派系成为绝对主流。
BERT vs GPT 训练目标对比
BERT的MLM任务:
输入:[CLS] 今天 天气 [MASK] 好 [SEP]
目标:预测 [MASK] = "很"
上下文:今天天气 + 好(左右都看)
GPT的自回归任务:
输入:[CLS] 今天 天气 很
目标:预测下一个 token = "好"
上下文:今天天气很(只看左)
二、BERT的三大预训练任务
2.1 Masked Language Model(MLM)
随机选择15%的token进行掩码预测,其中80%替换为[MASK]、10%替换为随机token、10%保持不变。这种"混合策略"避免了预训练-微调的[MASK]分布不一致问题(微调时没有[MASK])。
MLM掩码策略
原始序列:今天 天气 很好 适合 出行
15% 掩码选择:天气、适合
├── 80% 替换为[MASK]:
│ 今天 [MASK] 很好 适合 出行
├── 10% 随机替换:
│ 今天 [MASK] 很好 苹果 出行
└── 10% 保持不变:
今天 [MASK] 很好 适合 出行
目标:让模型学会从左右上下文推断被掩码位置
2.2 Next Sentence Prediction(NSP)
给模型两段句子A和B,50%概率B是A的真实下一句(label=IsNext),50%概率B是随机句子(label=NotNext)。这个任务让BERT学会句子级关系建模,对QA、自然语言推理等任务至关重要。后续工作(RoBERTa)证明NSP任务过于简单,可以移除,但BERT-base保留了这个设计。
2.3 双向注意力的实现
BERT使用Transformer Encoder架构,核心是双向自注意力——每个token的query可以attend到序列中所有其他token的key。对于"bank"这个词,BERT同时看到"river bank"和"money bank"的双向信息,能根据上下文消歧。GPT的单向注意力用masked self-attention实现——第i个token只能看到位置≤i的token,无法看未来。
注意力矩阵对比
BERT双向注意力(位置i可以看所有位置):
to: 1 2 3 4 5
from:
1 ✓ ✓ ✓ ✓ ✓
2 ✓ ✓ ✓ ✓ ✓
3 ✓ ✓ ✓ ✓ ✓
4 ✓ ✓ ✓ ✓ ✓
5 ✓ ✓ ✓ ✓ ✓
GPT单向注意力(位置i只能看≤i):
to: 1 2 3 4 5
from:
1 ✓ ✗ ✗ ✗ ✗
2 ✓ ✓ ✗ ✗ ✗
3 ✓ ✓ ✓ ✗ ✗
4 ✓ ✓ ✓ ✓ ✗
5 ✓ ✓ ✓ ✓ ✓
三、GPT的预训练核心:自回归语言建模
3.1 经典的自回归目标
GPT的训练目标很简单:给定前n-1个token,预测第n个token。损失函数是负对数似然:L = -Σ log P(token_i | token_1, ..., token_{i-1})。这个目标天然适配文本生成任务——只要把模型自回归地调用多次就能生成完整序列。
自回归语言建模损失
序列:今天 天气 很 好
t1 t2 t3 t4
损失计算:
L = -log P(t1) - log P(t2|t1) - log P(t3|t1,t2) - log P(t4|t1,t2,t3)
P(t2|t1) = softmax(W_o · h2) # 输出层投影
h2 = Transformer(t1) # 单token计算
3.2 因果掩码的工程实现
GPT用causal mask实现自回归——注意力矩阵的上三角被mask为-∞。这样第i个位置的query只能attend到位置≤i的key,保证训练和推理的一致性。causal mask的张量是固定的,可以预计算后broadcast到所有注意力头,避免每层重复生成。
3.3 规模化的胜利:GPT系列演进
GPT-1(2018)1.17亿参数,GPT-2(2019)15亿参数,GPT-3(2020)1750亿参数——参数规模每代增长10-100倍。GPT-3的in-context learning能力(即"少样本学习")让生成式AI的能力出现质变,OpenAI的"规模+数据+算力"路线获得验证。
| 模型 | 年份 | 参数量 | 预训练数据 | 关键能力 |
|---|---|---|---|---|
| GPT-1 | 2018 | 0.12B | 5GB | 微调后分类 |
| GPT-2 | 2019 | 1.5B | 40GB | 零样本生成 |
| GPT-3 | 2020 | 175B | 570GB | 少样本学习 |
| GPT-4 | 2023 | ~1.8T(MoE) | ~13T token | 多模态+推理 |
四、范式融合:BART、T5、UL2的统一尝试
2019-2022年间,研究者尝试融合BERT和GPT的优势:
4.1 BART(去噪自编码)
BART用Encoder-Decoder架构,Encoder是双向Transformer(类似BERT),Decoder是自回归Transformer(类似GPT)。预训练任务包括token掩码、句子打乱、token删除等"任意噪声"恢复。任务目标:给定噪声输入,生成原始序列。这种设计让BART既能理解(Encoder)又能生成(Decoder)。
4.2 T5(Text-to-Text Transfer Transformer)
Google的T5把所有NLP任务统一为文本到文本的格式。分类任务变成"输入文本,输出类别名称";翻译任务变成"输入中文,输出英文";问答任务变成"输入问题+上下文,输出答案"。预训练用span-corruption目标(类似MLM但保留完整段)。T5-11B在SuperGLUE等基准上首次超过人类基线。
4.3 UL2的统一损失函数
2022年提出的UL2用三种不同的预训练目标(X-LANG、XL-S、XL-R)混合训练,让单一模型同时具备双向理解能力(R-denoiser)和长序列生成能力(S-denoiser)。训练时用模式标记(mode token)告诉模型当前使用哪种损失,推理时可灵活切换。
UL2三模式混合训练
[S2S] 句子到句子(长跨度掩码恢复) → 类似BART
[X-L] 极端长跨度(90%掩码率) → 类似T5 span
[X-R] 规则化短跨度(15%掩码率) → 类似BERT MLM
输入: [模式标记] 原始文本 + 噪声
目标: 重建原始文本
五、GPT派系的胜出:从范式之争到规模之争
2023年后,GPT派系(自回归生成)成为绝对主流,背后有四个原因:
5.1 生成是更通用的能力
理解任务可以转化为生成任务(如"判断情感"→"生成'正面'或'负面'标签"),但生成任务难以用纯理解模型实现。这种生成 ⊃ 理解的能力覆盖关系让生成范式天然具有更广的应用面。
5.2 规模与数据效率
自回归预训练可以无监督地从海量文本中学习——任何网页、书籍、对话都可以作为训练数据。BERT的MLM虽然也无需监督,但需要将15%的token替换为[MASK],对原始语料的扰动较大;GPT的自回归只是"读",对数据更友好。
5.3 推理范式的统一
GPT的自回归生成与人类写作的"边想边写"过程天然一致,交互式prompt+completion成为标准范式。BERT需要额外的fine-tune head(分类器、QA span预测器等),每个任务都要单独训练,部署复杂。
5.4 In-Context Learning的涌现
GPT-3发现的"少样本学习"能力(In-Context Learning)让模型无需梯度更新就能完成新任务——只需在prompt里给几个示例。这是BERT系小模型完全不具备的能力,是规模与架构共同作用的结果。
范式之争的终局
2023年后BERT派系转向任务专用模型(医疗BERT、法律BERT、金融BERT),GPT派系主导通用生成式AI。两种范式各有适用场景:理解密集型任务用BERT变体(小、快、准),生成密集型任务用GPT变体(大、慢、强)。架构决策不能脱离业务需求——"哪个更好"是错误的问题,"什么场景下用哪个"才是正确的。
六、经验教训:6个生产级实战启示
| # | 教训 | 根因 | 治理策略 |
|---|---|---|---|
| 1 | BERT预训练慢3-5倍 | MLM需要前向+反向梯度 | 用更大batch并行 |
| 2 | MLM掩码率选择困难 | 15%是经验值,任务相关 | A/B测试不同掩码率 |
| 3 | GPT推理延迟累积 | 自回归必须串行 | KV cache+投机解码 |
| 4 | NSP任务过于简单 | 随机句子太易区分 | 改用sentence ordering |
| 5 | BERT大模型推理重 | 110M参数每次全前向 | 蒸馏为TinyBERT 14M |
| 6 | GPT幻觉严重 | 无外部知识约束 | RAG+事实性微调 |
终极认知
BERT和GPT代表了NLP预训练的两条根本道路:双向理解与自回归生成。两条道路不是对立的而是互补的——BART/T5/UL2等融合架构证明,可以通过统一的框架同时获得理解与生成能力。架构师的核心职责不是"押注哪条路",而是"在什么业务场景用哪条路",并能识别两条路的工程代价差异(BERT快但应用窄,GPT慢但应用广)。