📖 BERT 与预训练范式

BERT(2018)开创了双向预训练+微调范式,统治 NLP 领域数年。理解 BERT 家族及其与 GPT 路线的分野,是理解当代 NLP 发展脉络的关键。

1. BERT 的核心创新

论文:"Pre-training of Deep Bidirectional Transformers for Language Understanding"(Devlin et al., Google, 2018.10)

关键突破:与 GPT 的从左到右单向预训练不同,BERT 使用 Transformer Encoder 实现了真正的双向上下文编码——每个 token 可以同时关注其左侧和右侧的所有 token。

预训练任务

① 掩码语言模型(MLM):随机遮掩 15% 的 token,让模型预测被遮掩的词。其中 80% 替换为 [MASK],10% 替换为随机词,10% 保持不变——这一比例设计减少了预训练与微调之间的分布偏移。

② 下句预测(NSP):给定句子 A 和 B,预测 B 是否是 A 的下一句。后来被证明效果有限,RoBERTa 等后续模型移除了此任务。

BERT-Base: 12 层, 768 hidden, 12 heads, 110M 参数
BERT-Large: 24 层, 1024 hidden, 16 heads, 340M 参数
训练数据: BookCorpus (800M 词) + English Wikipedia (2500M 词)
训练: 16 TPU (v3) × 4 天

2. 预训练+微调范式

BERT 确立的预训练+微调(Pre-train + Fine-tune)范式改变了整个 NLP 领域的工作方式。之前每个任务需要从头设计模型和训练,现在只需:

① 在大规模无标注文本上预训练语言模型(一次性投入)

② 在下游任务上添加简单的任务头(如分类层),用少量标注数据微调

任务类型任务头BERT 输入示例
文本分类[CLS] + 线性层单句情感分析、垃圾邮件检测
句对分类[CLS] + 线性层[CLS] A [SEP] B [SEP]自然语言推理、释义检测
命名实体识别每个 token 线性层单句人名、地名、机构名识别
问答抽取Start/End 两个线性层[CLS] 问题 [SEP] 段落SQuAD 阅读理解

BERT 在发布时刷新了 11 个 NLP 基准的 SOTA,包括 GLUE(80.5% → 87.4%)和 SQuAD 1.1(F1: 91.2% → 93.2%)。

3. BERT 家族:重要变体

模型年份改进关键变化
RoBERTa2019更充分的训练移除 NSP、更大 batch、更多数据(160GB)、动态 masking
ALBERT2019参数效率嵌入分解 + 跨层参数共享,12M 参数胜 BERT-Large
DistilBERT2019知识蒸馏6 层,BERT 97% 性能 / 60% 参数 / 2× 速度
ELECTRA2020替换 token 检测生成器-判别器框架,ALL tokens 参与学习(非仅 15%)
DeBERTa2021解耦注意力内容-位置解耦 + 增强掩码解码器,人类首次在 SuperGLUE 达标
Chinese-BERT2021字形+拼音嵌入融合汉字字形和拼音信息的中文 BERT

RoBERTa 是实践中最常用的 BERT 变体——它证明了"BERT 的原始训练远未充分",通过简单增加训练时间和数据即可大幅提升效果。

4. BERT vs GPT:两条路线的分野

BERT 路线(Encoder)

✅ 双向上下文建模
✅ 理解任务(分类、抽取)表现优秀
✅ 中小规模即可高效
❌ 无法生成文本
❌ 难以扩展到超大规模
❌ 每个任务需单独微调

GPT 路线(Decoder)

✅ 天然的生成能力
✅ 规模扩展效益持续(Scaling Laws)
✅ 涌现 in-context learning
✅ 通用性(一个模型多任务)
❌ 单向注意力(信息瓶颈)
❌ 需要超大规模才能充分发挥

历史结论:BERT 路线在 2018-2021 年统治了 NLP 学术界和工业部署。但 GPT-3(2020)展示的涌现能力和通用性,特别是 ChatGPT(2022)的成功,使 Decoder-Only 路线成为绝对主流。

BERT 的遗产并未消失——嵌入模型(如 text-embedding-ada-002、BGE、jina-embeddings 等)仍广泛使用 Encoder 架构进行文本表示 → 语义检索 → RAG。

5. 预训练范式的演进

阶段时期代表特征
特征工程~2013词袋、TF-IDF人工设计特征
词嵌入2013-17Word2Vec, GloVe静态词向量,无上下文
预训练+微调2018-20BERT, GPT-1/2上下文化表示,任务特定微调
Prompt / Few-shot2020-22GPT-3, T5无需微调,提示即可使用
RLHF 对齐 + Chat2022-ChatGPT, Claude对话式交互,指令遵循
Agent / 推理2024-o1, Claude Code工具调用、长思维链推理

从 BERT 到 ChatGPT 只用了 4 年(2018-2022),NLP 从"每个任务训一个模型"演进为"一个模型搞定所有任务"。BERT 站在这一历史转折的关键位置——它证明了预训练的威力,为后来 GPT 路线的成功铺平了道路。