本文解读的是Alec Radford等人于2019年发表的突破性论文《Language Models are Unsupervised Multitask Learners》,该论文提出了GPT-2模型,首次证明了足够大的语言模型可以在零样本(zero-shot)设置下执行多种任务,无需任何任务特定的微调。GPT-2的核心发现是:规模本身就是一种能力——当模型参数从1亿扩展到15亿时,涌现出了令人惊讶的零样本学习能力,这一发现为GPT-3的成功和ChatGPT的诞生奠定了关键基础。


从微调到零样本的范式转变

问题一:监督学习的局限

GPT-1虽然证明了预训练的有效性,但仍然依赖于任务特定的微调:

  • 数据依赖:每个任务需要标注数据集
  • 泛化受限:微调后的模型难以适应分布外数据
  • 任务特定:每个任务需要训练一个单独的模型

这种范式无法解释人类的语言能力:人类可以在没有明确训练的情况下执行新任务。

问题二:任务表示的统一

传统NLP将每个任务独立建模,使用不同的输入格式和输出层。但从信息论角度看,所有NLP任务本质上都是条件概率建模:

$$ P(\text{output} | \text{input}, \text{task}) $$

关键洞察是:任务描述本身可以作为输入的一部分。例如:

  • 翻译任务:translate to french, [english text], [french text]
  • 摘要任务:TL;DR: [article], [summary]
  • 问答任务:Q: [question] A: [answer]

如果语言模型足够强大,它应该能够从上下文中推断任务并执行。

问题三:规模假设

GPT-2的核心假设是:大规模语言模型在足够多样化的数据上训练,将隐式地学习多种任务

直觉来源于互联网文本的多样性:网页包含各种格式的内容——问答对、翻译样本、摘要、对话等。如果模型能够学习这些自然出现的模式,它就应该能够执行相应的任务。


GPT-2的技术方案

更大的模型

GPT-2在GPT-1基础上进行了显著的规模扩展:

参数 GPT-1 GPT-2 Small GPT-2 Medium GPT-2 Large GPT-2 XL
层数 12 12 24 36 48
隐藏维度 768 768 1024 1280 1600
注意力头数 12 12 16 20 25
参数量 117M 117M 345M 762M 1542M

最大的GPT-2 XL模型参数量达到15.42亿,是GPT-1的13倍。

更大的数据集

GPT-2使用了专门构建的WebText数据集:

数据收集

  • 从Reddit抓取高质量链接(至少3个karma)
  • 排除维基百科(避免与测试集重叠)
  • 总计800万篇文档,40GB文本

数据质量:通过社区投票机制(Reddit karma)过滤低质量内容,确保数据的多样性和质量。

Byte Pair Encoding改进

GPT-2使用了改进的BPE(Byte Pair Encoding)分词:

传统BPE的问题

  • 词表可能包含多个版本的同一词(dogdog.dog!
  • 浪费词表容量

改进方案

  • 在字节级别而非Unicode级别操作
  • 防止BPE合并不同字符类别(字母、数字、标点)

这使得GPT-2可以表示任何文本,同时保持合理的词表大小(50,257个token)。

架构改进

GPT-2在架构上做了一些细微调整:

  1. Layer Normalization位置:移到每个子层的输入之前(Pre-LN),而非之后(Post-LN)

$$ \text{Pre-LN: } h = x + \text{Sublayer}(\text{LayerNorm}(x)) $$

  1. 残差连接缩放:在残差路径上添加 $1/\sqrt{N}$ 缩放因子,$N$ 是层数

  2. 词表大小:扩展到50,257

  3. 上下文长度:从512扩展到1024


零样本学习能力

语言建模

在标准语言建模基准上,GPT-2取得了SOTA结果:

数据集 此前SOTA GPT-2 1.5B
Penn Treebank 35.76 PPL 35.76 PPL
WikiText-103 18.3 PPL 17.48 PPL
LAMBADA 99.8 PPL 8.6 PPL
1BW 23.7 PPL 42.16 PPL

在需要长距离依赖的LAMBADA数据集上,GPT-2表现尤为出色。

阅读理解(零样本)

在CoQA(对话式问答)数据集上:

模型 F1
人类 89.4
BERT(微调) 82.1
GPT-2(零样本) 55

虽然不及微调模型,但GPT-2无需任何标注数据就达到了55 F1——这是零样本学习能力的有力证明。

翻译(零样本)

在WMT'14法英翻译上:

模型 BLEU
监督SOTA 45.6
GPT-2(零样本) 11.5

通过在输入前添加= french提示,GPT-2可以执行翻译任务。虽然质量不高,但证明了模型确实学会了翻译的概念。

摘要(零样本)

在CNN/Daily Mail摘要任务上:

模型 ROUGE-1 ROUGE-2 ROUGE-L
GPT-2(TL;DR:提示) 21.58 4.03 19.47

通过在文章后添加TL;DR:提示,GPT-2可以生成摘要。

规模与性能的关系

一个关键发现是:零样本性能随模型规模单调提升

模型大小 LAMBADA准确率 CoQA F1
117M 19.3% 34.8
345M 31.6% 42.5
762M 40.3% 49.2
1542M 52.7% 55.0

这一发现预示了后来的Scaling Laws研究。


GPT-2的深远影响

零样本学习范式

GPT-2证明了:语言模型可以作为通用任务求解器,无需任务特定的微调。

这一发现改变了NLP研究的方向:

  • 任务表示:任务可以通过自然语言描述
  • 提示工程:prompt设计成为新的研究方向
  • 规模优先:模型规模成为关键因素

对安全的关注

GPT-2因其强大的文本生成能力而引发安全担忧。OpenAI最初只发布了小型版本,逐步释放更大模型。

担忧包括:

  • 虚假信息生成:自动生成令人信服的假新闻
  • 垃圾内容:大规模生成评论、帖子
  • 身份冒充:模仿特定个人的写作风格

这标志着AI伦理开始受到广泛关注。

通向GPT-3的桥梁

GPT-2的关键发现为GPT-3铺平道路:

  1. 规模效应:更大的模型 = 更好的零样本能力
  2. 任务统一:任务可以通过prompt表示
  3. 数据质量:高质量互联网数据的重要性

GPT-3将这些洞察发挥到极致,将参数量扩展到1750亿。


技术分析:为什么规模有效?

隐式多任务学习

互联网文本天然包含多种"任务"样本:

# 问答格式
Q: What is the capital of France?
A: Paris

# 翻译格式
English: Hello, how are you?
French: Bonjour, comment allez-vous?

# 摘要格式
[长文章]
TL;DR: [摘要]

当模型预测下一个token时,它必须学习这些模式。规模越大,模型能够记忆和泛化的模式越多。

上下文压缩假设

一个理论解释是:语言模型学习了数据的压缩表示。为了准确预测下一个token,模型必须理解:

  • 语法规则
  • 语义关系
  • 世界知识
  • 任务结构

这些知识被压缩到模型参数中,在推理时可以被提取和应用。

涌现能力的雏形

GPT-2展示了涌现能力的早期迹象:某些能力只在模型达到一定规模后才出现。

能力 117M 345M 762M 1542M
基本语言生成
零样本问答
零样本翻译

这种规模依赖的能力涌现在GPT-3中得到更充分的展示。


阅读研究论文的时间线计划

本文在技术时间线中的位置

Word2Vec(2013) → Seq2Seq(2014) → Attention(2015) → Transformer(2017) 
→ GPT-1(2018) → 【当前位置】GPT-2(2019) → Scaling Laws(2020) → GPT-3(2020) → InstructGPT(2022) → ChatGPT

前置知识

在阅读本文之前,建议了解:

  • 【ChatGPT时刻06】GPT-1:预训练+微调范式的建立
  • 【ChatGPT时刻04】Transformer:理解架构基础
  • BPE分词原理

后续论文推荐

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

  1. 【ChatGPT时刻08】Scaling Laws(下一篇):规模与性能的数学关系
  2. 【ChatGPT时刻09】GPT-3:上下文学习与涌现能力
  3. 【ChatGPT时刻10】InstructGPT与RLHF:对齐人类意图

完整技术路线图

规模效应的发现
        │
   GPT-1 ──────────► GPT-2 ──────────► Scaling Laws ──────────► GPT-3
   (2018)            (2019)              (2020)                  (2020)
   117M              1.5B                理论分析                 175B
        │                │                    │                      │
        └── 微调范式       └── 零样本学习        └── 幂律规律            └── 上下文学习
            任务特定            规模效应             计算最优              涌现能力
                                                   数据效率              few-shot
                                                                            │
                                                                            ▼
                                                                       ChatGPT

参考文献

  • Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners. OpenAI.
  • Radford, A., et al. (2018). Improving Language Understanding by Generative Pre-Training (GPT-1). OpenAI.
  • Sennrich, R., Haddow, B., & Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units (BPE). ACL.
  • Vaswani, A., et al. (2017). Attention is All You Need. NeurIPS.
  • Brown, T., et al. (2020). Language Models are Few-Shot Learners (GPT-3). NeurIPS.