本文解读的是Tom Brown等人于2020年发表的划时代论文《Language Models are Few-Shot Learners》,该论文提出了GPT-3模型,以1750亿参数的前所未有规模,首次展示了大语言模型的上下文学习(In-context Learning)和涌现能力(Emergent Abilities)。GPT-3证明了一个惊人的事实:足够大的语言模型无需更新参数,仅通过在输入中提供少量示例,就能执行从未见过的任务——这一发现彻底改变了AI的发展轨迹,直接催生了ChatGPT的诞生。
从零样本到少样本的飞跃
问题一:零样本学习的局限
GPT-2展示了零样本学习的可能性,但性能仍然有限:
| 任务 | 零样本GPT-2 | 微调SOTA | 差距 |
|---|---|---|---|
| CoQA | 55 F1 | 82 F1 | -27 |
| 翻译(法英) | 11.5 BLEU | 45.6 BLEU | -34 |
| 摘要 | 21.6 ROUGE | 44.2 ROUGE | -23 |
零样本学习虽然证明了概念,但实用性不足。
问题二:微调的代价
传统微调方法虽然有效,但存在显著问题:
- 数据需求:每个任务需要数千到数十万标注样本
- 过拟合风险:在小数据集上容易过拟合
- 分布偏移:微调数据与测试数据分布不一致
- 计算成本:大模型微调需要大量计算资源
- 灵活性差:每个任务需要单独模型
问题三:人类学习的启示
人类可以从极少量示例中学习新任务:
“看一个例子:‘狗’的复数是’dogs’。那’猫’的复数是什么?”
人类不需要数千个训练样本,仅需要任务描述和少量示例就能泛化。GPT-3的目标是:让机器具备类似的学习能力。
GPT-3的核心创新
前所未有的规模
GPT-3将规模推向极致:
| 参数 | GPT-2 | GPT-3 Small | GPT-3 Medium | GPT-3 Large | GPT-3 XL | GPT-3 175B |
|---|---|---|---|---|---|---|
| 层数 | 48 | 12 | 24 | 24 | 32 | 96 |
| 隐藏维度 | 1600 | 768 | 1024 | 1536 | 2048 | 12288 |
| 注意力头数 | 25 | 12 | 16 | 16 | 24 | 96 |
| 参数量 | 1.5B | 125M | 350M | 760M | 1.3B | 175B |
最大的GPT-3模型参数量达到1750亿,是GPT-2的100倍以上。
上下文学习
GPT-3的核心创新是上下文学习(In-context Learning):模型在推理时通过输入中的示例"学习"任务,无需更新参数。
$$ P(y | x, \text{context}) = \text{LM}([\text{examples}, x]) $$
三种设置:
零样本(Zero-shot):仅提供任务描述
Translate English to French:
cheese =>
单样本(One-shot):提供一个示例
Translate English to French:
sea otter => loutre de mer
cheese =>
少样本(Few-shot):提供多个示例(通常10-100个)
Translate English to French:
sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
训练数据
GPT-3使用了迄今最大的训练数据集:
| 数据源 | Token数量 | 权重 |
|---|---|---|
| Common Crawl(过滤后) | 4100亿 | 60% |
| WebText2 | 190亿 | 22% |
| Books1 | 120亿 | 8% |
| Books2 | 550亿 | 8% |
| Wikipedia | 30亿 | 3% |
| 总计 | ~5000亿 | 100% |
训练过程消耗约$1200万美元的计算资源。
涌现能力的发现
什么是涌现能力
涌现能力(Emergent Abilities)是指:某些能力只在模型达到一定规模后才突然出现,而非随规模平滑提升。
数学上,如果能力 $A$ 的性能 $P_A(N)$ 满足:
$$ P_A(N) = \begin{cases} \text{随机水平} & \text{if } N < N_{\text{critical}} \ \text{显著提升} & \text{if } N \geq N_{\text{critical}} \end{cases} $$
则称 $A$ 为涌现能力,$N_{\text{critical}}$ 为临界规模。
涌现能力实例
GPT-3展示了多种涌现能力:
三位数加法:
| 模型规模 | 准确率 |
|---|---|
| 1.3B | ~10%(随机) |
| 6.7B | ~20% |
| 13B | ~40% |
| 175B | ~100% |
翻译(法英):
| 模型规模 | BLEU |
|---|---|
| 125M | 3.2 |
| 1.3B | 11.4 |
| 13B | 25.5 |
| 175B | 32.6 |
规模与性能的幂律关系
GPT-3验证了Scaling Laws的预测:
$$ L(N) = \left(\frac{N_c}{N}\right)^\alpha + L_\infty $$
其中 $L$ 是损失,$N$ 是参数量,$\alpha \approx 0.076$。
关键发现:
- 损失随参数量幂律下降
- 下游任务性能与损失强相关
- 更大的模型 = 更好的少样本学习
实验结果与分析
语言建模
在标准语言建模基准上:
| 数据集 | 此前SOTA | GPT-3 175B |
|---|---|---|
| Penn Treebank | 35.76 PPL | 20.5 PPL |
| LAMBADA | 8.6 PPL | 1.92 PPL |
| WikiText-103 | 17.48 PPL | 10.7 PPL |
自然语言理解
在SuperGLUE基准上(少样本设置):
| 任务 | 人类 | 微调SOTA | GPT-3 Few-shot |
|---|---|---|---|
| BoolQ | 89.0 | 91.2 | 76.4 |
| CB | 95.8 | 93.9 | 82.1 |
| COPA | 100 | 94.8 | 92.0 |
| WiC | 80.0 | 76.1 | 55.3 |
| 平均 | 89.8 | 89.3 | 71.8 |
少样本GPT-3与微调SOTA仍有差距,但无需任何训练数据。
翻译
在WMT'14翻译任务上:
| 语言对 | 监督SOTA | GPT-3 Few-shot | 差距 |
|---|---|---|---|
| 法→英 | 45.6 | 32.6 | -13 |
| 德→英 | 41.2 | 29.7 | -11.5 |
| 罗→英 | 39.0 | 21.0 | -18 |
生成任务
GPT-3在文本生成任务上表现出色:
新闻生成:人类评估者难以区分GPT-3生成的新闻和真实新闻
| 准确率 | 人类vs GPT-3 |
|---|---|
| 控制(随机) | 50% |
| 实际 | 52% |
代码生成
GPT-3展示了代码生成能力(后来发展为Codex/GitHub Copilot):
# 示例:生成斐波那契函数
# 输入:Write a function that returns the n-th Fibonacci number
# GPT-3输出:
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
上下文学习的理论分析
为什么上下文学习有效?
上下文学习的机制仍是开放问题,几种假说:
任务识别假说:模型在预训练中见过类似任务模式,上下文示例帮助模型识别任务类型
隐式微调假说:注意力机制在推理时实现了某种形式的梯度更新
$$ \text{Attention as implicit gradient step} $$
贝叶斯推理假说:模型执行贝叶斯推理,从示例中推断任务分布
$$ P(\text{task} | \text{examples}) \propto P(\text{examples} | \text{task}) P(\text{task}) $$
示例数量的影响
少样本学习的性能随示例数量提升:
| 示例数 | LAMBADA准确率 |
|---|---|
| 0 | 76.2% |
| 1 | 79.0% |
| 10 | 82.7% |
| 50 | 84.3% |
| 100 | 86.4% |
但收益递减:从0到1个示例的提升最大。
示例顺序的影响
示例顺序对性能有显著影响:
| 顺序 | 准确率 |
|---|---|
| 最优顺序 | 92.0% |
| 随机顺序 | 85.6% |
| 最差顺序 | 68.4% |
这一发现推动了后来的prompt engineering研究。
GPT-3的历史地位
从GPT-3到ChatGPT
GPT-3为ChatGPT奠定了关键基础:
| 能力 | GPT-3 | ChatGPT新增 |
|---|---|---|
| 上下文学习 | ✓ | ✓ |
| 涌现能力 | ✓ | ✓ |
| 指令遵循 | 弱 | 强(RLHF) |
| 对话能力 | 弱 | 强(对话微调) |
| 安全性 | 弱 | 强(对齐训练) |
对AI产业的影响
GPT-3的发布标志着大模型时代的开始:
- 商业化:OpenAI API开放,催生无数应用
- 竞争加剧:Google、Anthropic等加速大模型研发
- 研究转向:从任务特定模型转向通用大模型
- 社会关注:AI能力引发广泛讨论
局限性与挑战
GPT-3仍存在显著局限:
- 幻觉:生成看似合理但错误的内容
- 一致性:长文本生成中难以保持一致
- 推理:多步推理能力有限
- 对齐:可能生成有害内容
- 效率:推理成本高昂
这些问题推动了InstructGPT和ChatGPT的研发。
阅读研究论文的时间线计划
本文在技术时间线中的位置
Word2Vec(2013) → Seq2Seq(2014) → Attention(2015) → Transformer(2017)
→ GPT-1(2018) → GPT-2(2019) → Scaling Laws(2020) → 【当前位置】GPT-3(2020) → InstructGPT(2022) → ChatGPT
前置知识
在阅读本文之前,建议了解:
- 【ChatGPT时刻07】GPT-2:零样本学习的发现
- 【ChatGPT时刻08】Scaling Laws:规模与性能的理论分析
- Transformer架构和注意力机制
后续论文推荐
完成本文后,建议按顺序阅读:
- 【ChatGPT时刻10】InstructGPT与RLHF(下一篇):对齐人类意图的关键技术
- 涌现能力深度分析
- Prompt Engineering方法论
完整技术路线图
通向ChatGPT的最后一程
│
GPT-3 ──────────────────► InstructGPT ──────────────────► ChatGPT
(2020) (2022) (2022)
175B参数 RLHF对齐 对话优化
│ │ │
└── 上下文学习 └── 人类反馈强化学习 └── 多轮对话
涌现能力 指令遵循 安全过滤
few-shot 有害内容减少 用户体验
代码生成 对齐税 产品化
参考文献
- Brown, T., et al. (2020). Language Models are Few-Shot Learners. NeurIPS.
- Kaplan, J., et al. (2020). Scaling Laws for Neural Language Models. arXiv.
- Wei, J., et al. (2022). Emergent Abilities of Large Language Models. TMLR.
- Radford, A., et al. (2019). Language Models are Unsupervised Multitask Learners (GPT-2). OpenAI.
- Liu, P., et al. (2023). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in NLP. ACM Computing Surveys.