本文解读的是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

零样本学习虽然证明了概念,但实用性不足。

问题二:微调的代价

传统微调方法虽然有效,但存在显著问题:

  1. 数据需求:每个任务需要数千到数十万标注样本
  2. 过拟合风险:在小数据集上容易过拟合
  3. 分布偏移:微调数据与测试数据分布不一致
  4. 计算成本:大模型微调需要大量计算资源
  5. 灵活性差:每个任务需要单独模型

问题三:人类学习的启示

人类可以从极少量示例中学习新任务:

“看一个例子:‘狗’的复数是’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的发布标志着大模型时代的开始:

  1. 商业化:OpenAI API开放,催生无数应用
  2. 竞争加剧:Google、Anthropic等加速大模型研发
  3. 研究转向:从任务特定模型转向通用大模型
  4. 社会关注:AI能力引发广泛讨论

局限性与挑战

GPT-3仍存在显著局限:

  1. 幻觉:生成看似合理但错误的内容
  2. 一致性:长文本生成中难以保持一致
  3. 推理:多步推理能力有限
  4. 对齐:可能生成有害内容
  5. 效率:推理成本高昂

这些问题推动了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架构和注意力机制

后续论文推荐

完成本文后,建议按顺序阅读:

  1. 【ChatGPT时刻10】InstructGPT与RLHF(下一篇):对齐人类意图的关键技术
  2. 涌现能力深度分析
  3. 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.