GPT-2: Language Models are Unsupervised Multitask Learners

基本信息

  • 标题: Language Models are Unsupervised Multitask Learners
  • 作者: Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever
  • 机构: OpenAI
  • 年份: 2019
  • 论文性质: 技术报告(无同行评审)

核心论点

  1. 语言模型即无监督多任务学习器:在大规模多样化语料上训练的语言模型,无需任何显式监督信号,就能学会执行下游任务(问答、翻译、摘要、阅读理解等)。
  2. 零样本任务迁移是可行的:不需要修改模型参数或架构,仅通过自然语言提示(prompt)即可让模型执行不同任务。
  3. 模型容量是关键因素:增大模型规模能以对数线性方式持续提升各任务的零样本性能。1.5B 参数的 GPT-2 显著优于 117M 参数的小模型。
  4. 数据质量优于数据规模:通过 Reddit 高赞链接构建的 WebText 数据集(40GB、800 万文档),质量远高于 Common Crawl 原始数据。
  5. 预训练的潜力尚未充分释放:GPT-2 在 WebText 上仍处于欠拟合状态,暗示更大模型和更多训练能进一步提升性能。

关键技术方法

数据集:WebText

  • 来源:Reddit 上获得至少 3 karma(赞)的所有出站链接对应的网页内容。
  • 规模:约 4500 万链接,去重后 800 万文档,40GB 文本。
  • 过滤策略:移除维基百科(避免与评测集重叠),使用 Dragnet + Newspaper 提取正文。
  • 核心理念:人类策展/过滤的网页比原始爬虫数据质量更高,其中自然包含各种任务的示范(如英法翻译对)。

输入表示:字节级 BPE

  • 在字节序列上应用 BPE,基础词表仅 256,无需处理 Unicode 全空间。
  • 防止 BPE 跨字符类别合并(空格除外),提高压缩效率。
  • 最终词表大小:50,257。
  • 优势:能为任何 Unicode 字符串分配概率,消除了传统分词带来的信息损失。

模型架构

  • 基于 Transformer 架构,延续 GPT-1 的设计。
  • 关键修改:
    • 层归一化移至子块输入端(pre-activation)。
    • 最后一个自注意力块后增加额外层归一化。
    • 残差层权重按 缩放(N 为残差层数)。
    • 上下文长度从 512 扩展到 1024。
    • 批大小 512。
  • 四个模型规模:117M(等同 GPT-1)、345M(等同 BERT-Large)、762M、1542M(GPT-2)。

任务条件化

  • 将任务、输入、输出统一编码为符号序列,例如:(translate to french, english text, french text)
  • 语言建模目标的全局最小值同时也是监督目标的全局最小值——理论上,无监督训练可以收敛到任务执行所需的条件分布。

主要结果

语言建模(零样本域迁移)

  • 在 8 个语言建模数据集中的 7 个上达到 SOTA(零样本)。
  • Penn Treebank、WikiText-2 等小数据集上提升尤为显著。
  • LAMBADA:困惑度从 99.8 降至 8.6,准确率从 19% 提升至 63.24%。
  • Children’s Book Test:普通名词 93.3%,命名实体 89.1%。
  • 唯一例外:1 Billion Word Benchmark(因句子级打乱破坏了长程结构)。

阅读理解(CoQA)

  • 零样本条件下达到 55 F1,超过 4 个基线系统中的 3 个(这些基线使用了 127,000+ 人工标注的问答对)。
  • 但仍远低于有监督 SOTA(BERT-based,约 89 F1)。

翻译

  • 英译法:5 BLEU(仅略好于词对词替换)。
  • 法译英:11.5 BLEU(利用了强大的英语语言模型),超过多个无监督机器翻译基线。
  • 有趣的是,WebText 中法语文本仅约 10MB,比通常的无监督翻译单语语料小 500 倍。

摘要

  • 在 CNN/Daily Mail 上 ROUGE 分数接近经典神经网络基线,但略高于随机抽取 3 句。
  • 移除 “TL;DR:” 提示后性能下降 6.4 分,证明自然语言提示能触发任务特定行为。

问答(Natural Questions)

  • 精确匹配率 4.1%,是简单基线的 5.3 倍。
  • 最自信的 1% 回答准确率达 63.1%,显示良好的置信度校准。

局限性

  1. 零样本性能尚不实用:作者明确指出,除阅读理解外,零样本性能距离实际可用仍有很大差距。
  2. 翻译能力薄弱:英译法仅 5 BLEU,远低于当时的有监督和最佳无监督翻译系统。
  3. 摘要质量有限:模型常混淆细节(如车祸涉及的车辆数量),倾向于关注文章近期内容。
  4. 阅读理解依赖简单启发式:如 “who” 类问题直接用文中人名作答。
  5. 单向性限制:自回归语言模型仅从左到右建模,无法利用双向上下文。作者在讨论中提到,需要进一步研究单向表示的低效性是否能被额外数据和容量所弥补。
  6. 数据重叠问题:虽经分析重叠影响较小(约 1-2% 性能波动),但训练集与评测集的边界模糊仍是潜在隐患。
  7. 仅限英语:WebText 刻意移除了非英语网页,限制了多语言能力。

与相关工作的关系

与 GPT-1 的关系

  • GPT-2 是 GPT-1 的直接延续和扩展。
  • 架构核心相同(Transformer 解码器、单向自回归),但规模从 117M 扩展到 1542M。
  • 关键差异:GPT-1 依赖”预训练 + 有监督微调”范式,GPT-2 首次证明可以完全去掉微调阶段,仅靠零样本提示执行任务。
  • GPT-2 的最小模型(117M)架构等同于 GPT-1,可直接对比规模效应。

与 BERT 的关系

  • BERT(BERT)采用双向 Transformer 编码器,通过掩码语言建模和下一句预测进行预训练,需要任务特定的微调头。
  • GPT-2 的 345M 模型规模等同于 BERT-Large,但采用单向自回归范式。
  • 核心分歧:BERT 证明双向上下文对理解任务的价值;GPT-2 证明单向模型在足够大的规模下也能通过零样本达到竞争性性能。
  • 作者在讨论中坦承,GPT-2 额外的训练数据和容量是否足以弥补单向表示相对于 BERT 双向表示的低效性,仍是一个开放问题。
  • 从后续发展看,GPT-2 的路径(更大自回归模型 + 更多数据)最终在 GPT-3 中取得了更大突破。

在预训练范式演进中的位置

  • 词向量(Word2Vec、GloVe) 上下文表示(ELMo) 微调范式(GPT-1、BERT) 零样本范式(GPT-2)。
  • GPT-2 标志着从”预训练适应下游任务”向”预训练本身即任务执行”的关键转变。
  • 这一思路直接催生了 GPT-3(2020)的 In-Context Learning 和后续的大语言模型浪潮。