第 02 单元:预训练语言模型与规模规律
第 02 单元:预训练语言模型与规模规律
一句话定义
这个单元回答一个问题:为什么现代语言模型不再只为单个任务训练,而是先在大规模文本上预训练,再通过提示、微调或规模扩展获得通用能力。
解决什么问题
第 1 单元解决了 Transformer 的结构问题。第 2 单元继续往前走:有了 Transformer 之后,研究者开始关心三个更大的问题:
- 训练目标:GPT 和 BERT 分别如何用文本自监督训练模型?
- 使用方式:GPT-3 为什么可以通过 prompt 和 examples 做任务?
- 扩展规律:Scaling Law 和 Chinchilla 如何解释参数量、数据量和计算量的关系?
这条主线可以概括为:Transformer 结构 -> 语言模型预训练 -> prompt/in-context learning -> scaling law -> compute-optimal training。
典型场景
- 用 GPT 类模型生成文本、回答问题、写代码。
- 用 BERT 类模型做分类、检索、句子表示。
- 判断一个模型瓶颈来自参数太少、数据太少、训练计算不足,还是任务适配不足。
- 阅读大模型论文时区分“模型结构贡献”和“规模/数据/训练贡献”。
五篇论文的最小理解
| 论文 | 最小问题 | 核心直觉 | 学习时不要陷入 |
|---|---|---|---|
| GPT | 如何用无标注文本预训练可迁移语言模型? | 用前文预测下一个词,再微调到任务 | 不要把 GPT 只理解成聊天机器人 |
| BERT | 如何获得双向上下文表示? | 遮住词再预测,让模型看左右上下文 | 不要把 BERT 当成生成模型 |
| GPT-3 | 模型足够大后能否通过提示完成任务? | 大模型可从上下文例子中临时适配任务 | 不要把 in-context learning 等同于参数更新 |
| Scaling Law | 模型性能如何随参数、数据、计算量变化? | loss 与规模之间存在稳定经验关系 | 不要把经验规律说成数学定理 |
| Chinchilla | 给定计算预算,参数和数据如何分配更合理? | 模型太大但数据不足也不是最优 | 不要只记“更多数据”,要理解 compute-optimal |
GPT 与 BERT 的核心区别
| 维度 | GPT | BERT |
|---|---|---|
| 结构 | decoder-only Transformer | encoder-only Transformer |
| 训练目标 | 根据前文预测下一个 token | 遮住部分 token 并预测 |
| 上下文方向 | 单向,自左向右 | 双向,看左右上下文 |
| 更适合 | 生成、续写、对话、代码 | 分类、匹配、检索、理解 |
| 最小 demo | causal language modeling | masked language modeling |
GPT-3、Scaling Law、Chinchilla 的关系
GPT-3 展示了一个现象:模型规模增大后,少样本和提示学习能力明显增强。但 GPT-3 本身不是“规模规律”的完整解释。
Scaling Law 试图用经验规律描述:当参数量、数据量和计算量变化时,loss 如何变化。
Chinchilla 进一步强调:在给定 compute budget 下,不是参数越多越好;如果训练 token 不够,大模型会 undertrained。更合理的策略是同时考虑模型大小和数据量。
和本实验室方向的关系
即使你的研究主线不是 NLP,这个单元也重要:
- 预训练思想:可以迁移到时间序列、图、复杂系统状态表示。
- scaling law:帮助理解经验规律、数据规模、模型复杂度之间的关系。
- Chinchilla:提醒你科研中不能只堆复杂模型,还要看数据量和计算预算。
- GPT/BERT:提供两类不同任务范式,生成式和表示式。
可以这样说:
我把 GPT、BERT、GPT-3、Scaling Law 和 Chinchilla 理解为预训练范式的连续发展:先用自监督目标训练通用表示,再通过提示或微调适配任务,同时用规模规律分析模型、数据和计算之间的权衡。
学习路线
第 1 天:GPT
- 理解 autoregressive language modeling。
- 跑通 mini GPT causal LM notebook。
- 写出“前文预测下一个 token”的训练样本。
任务:
- 能解释 causal mask 为什么必要。
验收:
第 2 天:BERT
- 理解 masked language modeling。
- 跑通 BERT MLM toy notebook。
- 对比 GPT 和 BERT 的输入输出。
任务:
- 能解释 BERT 为什么适合理解任务而不是直接逐词生成。
验收:
第 3 天:GPT-3
- 阅读摘要、引言和 few-shot/in-context learning 相关部分。
- 写一页 GPT-3 不是“只改结构”,而是“规模 + 数据 + prompt 范式”的笔记。
任务:
- 能区分 fine-tuning 和 in-context learning。
验收:
第 4 天:Scaling Law
- 理解 loss、parameters、dataset size、compute 的关系。
- 跑通 scaling law toy notebook。
- 写一句话说明经验规律和理论定理的区别。
任务:
- 能解释为什么 scaling law 不能被当作严格数学证明。
验收:
第 5 天:Chinchilla
- 理解 compute-optimal training。
- 对比“更大模型、较少 token”和“较小模型、更多 token”。
- 补全第 2 单元论文笔记包。
任务:
- 能说明为什么数据量不足会让大模型训练不充分。
验收:
交流时可以怎么说
我目前把 GPT 和 BERT 理解为两种预训练语言模型路线:GPT 用自回归目标学习生成能力,BERT 用 masked language modeling 学习双向上下文表示。GPT-3 进一步展示了大规模模型的 in-context learning 现象,而 Scaling Law 和 Chinchilla 则从经验规律角度分析模型参数、训练数据和计算预算之间的关系。
可以追问老师/同学的问题
- in-context learning 是否可以被看作一种隐式学习?
- GPT 和 BERT 的结构差异,是否比训练目标差异更重要?
- Scaling law 在小数据科研问题中有什么参考价值?
- Chinchilla 的 compute-optimal 结论是否适用于所有模型架构?
- 如果我的数据量很小,应该优先调模型、调数据,还是调任务定义?
给 AI 的高质量提示词
我正在学习 GPT、BERT、GPT-3、Scaling Law、Chinchilla。
请帮我把它们串成“预训练语言模型与规模规律”的学习主线。
要求:
1. 面向跨专业硕士新生
2. 区分 GPT/BERT 的训练目标和适用任务
3. 解释 in-context learning 但不要夸大
4. 把 scaling law 说成经验规律,不要说成严格定理
5. 用 Chinchilla 解释为什么数据量和计算预算也重要
6. 最后给出 5 个组会追问