论文题目:Language Models are Unsupervised Multitask Learners(语言模型是无监督的多任务学习者)

摘要:自然语言处理任务,如问答、机器翻译、阅读理解和摘要,通常在任务特定的数据集上使用监督学习来处理。我们证明了语言模型在没有任何明确监督的情况下开始学习这些任务,当在一个名为WebText的数百万网页的新数据集上训练时。当以文档和问题为条件时,语言模型生成的答案在CoQA数据集上达到55 F1 -在不使用127,000多个训练示例的情况下,匹配或超过4个基线系统中的3个的性能。语言模型的能力对于零样本学习任务迁移的成功至关重要,增加它可以跨任务以对数线性方式提高性能。我们最大的模型GPT-2是一个1.5B的参数转换器,在零样本学习设置下,它在8个测试语言建模数据集中的7个上达到了最先进的结果,但仍然不适合WebText。模型中的样本反映了这些改进,并包含连贯的文本段落。这些发现为构建语言处理系统提供了一条很有希望的途径,该系统可以从自然发生的演示中学习执行任务。


GPT-2 - 语言模型是无监督的多任务学习者

引言

2019年2月,OpenAI发布了GPT-2,一个拥有15亿参数的语言模型。这篇题为《Language Models are Unsupervised Multitask Learners》的论文提出了一个激进的想法:一个足够大的语言模型,在足够多样化的数据上训练,可以在零样本设置下执行多种任务,而无需任何参数更新或架构修改

让我们深入探讨这个推动AI能力边界的重要工作。

核心理念:语言建模作为多任务学习

问题的重新框架化

传统的监督学习将任务定义为估计条件分布 p(output|input)。但对于一个通用系统,它应该能够执行多种任务,因此应该对任务本身也进行建模:

p(output | input, task)

GPT-2的洞察:语言本身提供了一种灵活的方式来指定任务、输入和输出。例如:

  • 翻译任务:(translate to french, english text, french text)
  • 阅读理解:(answer the question, document, question, answer)

由于语言建模的目标是预测序列中的下一个token,它原则上可以学习执行这些任务,而无需明确的监督信号

从理论到实践

论文的核心假设是:

"我们推测,具有足够容量的语言模型将开始学习推断和执行自然语言序列中展示的任务,以便更好地预测它们。"

这意味着,如果模型在足够多样化的数据上训练,它会为了提高语言建模性能而"顺便"学会执行各种任务。

数据:WebText的构建

数据质量比数量更重要。虽然Common Crawl提供了海量数据,但其质量参差不齐,充满了"大部分内容难以理解"的文档。

WebText数据集

GPT-2团队采用了创新的数据收集策略:

筛选标准:只抓取Reddit上至少获得3个karma的外链网页

  • 理由:这是一个启发式指标,表明其他用户认为该链接有趣、有教育意义或有趣
  • 优势:人工筛选,无需手动标注整个网络爬虫

数据规模

  • 4500万个链接
  • 去重和清理后:超过800万文档
  • 总计:40 GB文本
  • 特别处理:移除所有维基百科文档(避免与测试集重叠)

论文展示了一些在WebText中自然出现的翻译示例,例如:

  • "I'm not the cleverest man in the world, but like they say in French: Je ne suis pas un imbecile"
  • "I hate the word 'perfume,' Burr says. 'It's somewhat better in French: 'parfum.'"

这些自然出现的多语言内容为模型提供了隐式的多任务学习信号。

模型架构:规模的力量

输入表示:字节级BPE

GPT-2采用了改进的字节对编码(BPE):

挑战:标准BPE在Unicode代码点上操作,需要13万+的基础词表
解决方案:字节级BPE,基础词表只需256个字符

关键改进:防止BPE跨字符类别合并(空格除外),避免次优的词表分配

这种方法的优势:

  • ✅ 可以处理任何Unicode字符串
  • ✅ 保持了词级LM的实证优势
  • ✅ 具有字节级方法的通用性

模型规模

GPT-2训练了四个规模的模型,最大的GPT-2模型拥有15亿参数,比GPT-1大了一个数量级以上。

架构改进

  • Layer normalization移到每个子块的输入(类似pre-activation残差网络)
  • 最终self-attention块后添加额外的layer normalization
  • 修改初始化以考虑模型深度的残差路径累积
  • 词表扩展到50,257
  • 上下文大小从512增加到1024 tokens
  • 批次大小增加到512

实验结果:零样本迁移的惊人表现

语言建模

GPT-2在8个语言建模数据集中的7个达到了零样本SOTA。

关键发现

  • 在小数据集(Penn Treebank、WikiText-2)上改进最大
  • 在测量长期依赖的数据集(LAMBADA、CBT)上表现出色
  • 在One Billion Word Benchmark上仍低于前作(可能由于句子级打乱)

儿童图书测试(Children's Book Test)

CBT测试模型在不同词类上的完形填空能力。GPT-2的表现:

  • 常见名词:93.3%(新SOTA)
  • 命名实体:89.1%(新SOTA)
  • 随着模型规模增加,性能稳步提升
  • 接近人类表现

LAMBADA:长程依赖建模

LAMBADA要求至少50个tokens的上下文才能预测句子的最后一个词。

性能飞跃

  • 困惑度:从99.8降至8.6
  • 准确率:从19%提升至52.66%
  • 添加停止词过滤后:63.24%(+4%,超越前SOTA)

有趣发现:GPT-2的多数错误是有效的句子延续,但不是有效的最终词,说明模型没有利用"必须是最后一个词"这一约束。

Winograd Schema挑战

这是测试常识推理的经典任务,要求解决文本中的指代消歧。

  • GPT-2准确率:70.70%
  • 提升幅度:+7%
  • 采用与Trinh & Le (2018)相同的方法:选择使整体序列概率更高的指代

虽然数据集较小(仅273个样本),但结果令人印象深刻。

阅读理解:CoQA

CoQA包含来自7个不同领域的文档,配有自然语言对话形式的问答。

零样本表现

  • F1得分:55
  • 匹配或超过4个基线系统中的3个
  • 这些基线使用了127,000+个人工标注的问答对进行训练!

与监督SOTA的对比

  • 监督SOTA(基于BERT):89 F1
  • 人类表现:89 F1
  • GPT-2零样本:55 F1

模型行为观察:GPT-2经常使用简单的检索启发式,例如用文档中的名字回答"who"问题。

摘要生成

在CNN和Daily Mail数据集上测试摘要能力:

方法:在文章后添加"TL;DR:",使用top-k采样(k=2)生成100个tokens,取前3句

结果

指标 GPT-2 TL;DR: 随机3句 Seq2Seq+Attn
R-1 29.34 28.78 31.33
R-2 8.27 8.63 11.81
R-L 26.58 25.52 28.83
  • 刚好超过随机选择3个句子的基线
  • 去除任务提示"TL;DR:"后性能下降6.4分
  • 证明了用自然语言调用任务特定行为的能力

质量观察:生成的摘要看起来像摘要,但经常关注文章的最新内容或混淆具体细节。

翻译

测试设置

  • 条件:示例对格式 english sentence = french sentence
  • 提示:english sentence =
  • 解码:贪婪解码,使用第一个生成的句子

结果

  • WMT-14 英译法:5 BLEU
  • WMT-14 法译英:11.5 BLEU(利用强大的英语LM)

令人惊讶的发现

  • WebText中只有10MB法语数据(比常用单语语料小500倍)
  • 仍然能执行翻译任务
  • 虽然远低于无监督MT SOTA(33.5 BLEU),但证明了零样本迁移能力

问答:Natural Questions

任务:回答事实性问题,测试模型参数中存储了多少信息。

设置:与翻译类似,提供示例问答对作为上下文

结果

  • 精确匹配准确率:4.1%
  • 最小模型:<1%(简单基线水平)
  • GPT-2:5.3倍提升

置信度分析

  • 模型分配的概率校准良好
  • 在1%最有信心的问题上:63.1%准确率

表中显示的示例包括:

  • "Who wrote the book the origin of species?" → Charles Darwin ✓ (83.4%)
  • "Who is the founder of the ubuntu project?" → Mark Shuttleworth ✓ (82.0%)
  • "What is the most common blood type in sweden?" → A ✗ (70.6%)

与专业系统对比:仍远低于混合信息检索+抽取式QA系统的30-50%。

深度分析

模型容量的影响

论文系统地展示了四种模型规模在多个任务上的表现。关键发现:

  • 对数线性关系:性能随模型规模呈对数线性改善
  • 一致性:这种趋势在多个任务上保持一致
  • 未饱和:即使最大的模型在WebText上仍然欠拟合

泛化 vs 记忆

数据重叠分析

使用Bloom filters分析8-gram重叠:

数据集 WebText训练集重叠 自身训练集重叠
PTB 0.88% 2.67%
WikiText-2 1.63% 0.66%
enwik8 6.31% 7.50%
1BW 3.75% 13.19%

关键发现

  • 平均测试集与WebText训练集重叠:3.2%
  • 许多数据集与自身训练集重叠更大(平均5.9%)
  • 1BW与自身训练集重叠高达13.2%!

对特定任务的影响

  • Winograd:只有10个schema有重叠,仅1个泄露答案
  • CoQA:新闻领域约15%文档在WebText中,性能提升约3 F1
  • LAMBADA:1.2%重叠,影响可忽略(性能仅变化0.1 PPL和0.3%准确率)

训练集和测试集性能一起改善,表明GPT-2仍在欠拟合WebText

零样本行为的涌现

论文设计了启发式方法来测试预训练LM的零样本能力:

  • CoLA:使用平均token对数概率评分,阈值分类
  • SST-2:添加"very",限制输出为"positive"或"negative"
  • RACE:选择条件概率最高的答案
  • DPRD:替换代词,选择后续序列概率更高的指代

关键观察

  • 性能随训练稳步提升
  • LSTM表现出更高方差
  • Transformer的归纳偏置有助于迁移

消融研究

三个关键发现:

  1. 去除辅助LM目标

    • 在NLI任务和QQP上有帮助
    • 总体平均得分从74.7微升至75.0
  2. Transformer vs LSTM

    • 平均得分差异:5.6分
    • LSTM只在MRPC上表现更好
  3. 去除预训练

    • 平均得分下降:14.8%
    • 在所有任务上都受损
    • 证明预训练的关键作用

样本质量

模型容量的影响

论文展示了117M(最小)和1542M(GPT-2)模型在相同上下文下的生成对比(表7-11,这里提供三个示例)。

例如,在关于西班牙历史的文本中:

  • 小模型:产生不连贯、错误的历史信息
  • GPT-2:生成连贯、基本准确的历史叙述

多样性

使用top-k采样(k=40),GPT-2能够生成多样化的合理延续,展示了:

  • 不同的写作风格
  • 不同的内容焦点
  • 但保持与上下文的一致性

鲁棒性:会说话的独角兽

最著名的演示之一:根据虚构提示生成新闻文章。

提示

"In a shocking finding, scientist discovered a herd of unicorns living in a remote, previously unexplored valley, in the Andes Mountains. Even more surprising to the researchers was the fact that the unicorns spoke perfect English."

GPT-2生成

  • 编造了科学家名字(Dr. Jorge Pérez)
  • 创造了物种名称(Ovid's Unicorn)
  • 提供了发现细节和引语
  • 推测了起源理论
  • 完全连贯且令人信服

这展示了模型处理分布外上下文的能力,虽然质量通常较低。

文本记忆

模型在高频重复字符串上显示记忆行为,例如著名演讲。

葛底斯堡演说测试

  • 条件:前1.5句话(在WebText中出现约40次)
  • Argmax解码:恢复整个演讲
  • 采样:复制一段时间后漂移(通常100-200 tokens内)

量化分析

比较GPT-2生成的样本与WebText测试集的重叠率:

  • 大多数样本:<1%重叠
  • 超过30%样本:0重叠
  • 测试集中位数:2.6%重叠

结论:GPT-2重复训练集文本的频率低于基线率

局限性与未来方向

当前局限

  1. 任务性能不均

    • 阅读理解:与监督基线竞争
    • 摘要:仅有基础能力
    • 许多任务:零样本性能仍不如随机
  2. 与监督SOTA的差距

    • 虽然令人印象深刻,但距离实用仍有差距
    • 例如CoQA:55 vs 89 F1
  3. 输出类型限制

    • 完全抽象式输出
    • 与当前SOTA的抽取式指针网络方法不同
    • 不清楚哪种更优

未来研究方向

论文提出的待探索问题:

  1. 微调潜力:GPT-2的微调上限在哪里?
  2. 架构改进:单向表示的效率劣势能否被容量和数据克服?
  3. 任务覆盖:还有哪些任务可以评估?
  4. 多任务基准:在decaNLP和GLUE上的表现如何?

伦理考量与发布策略

GPT-2的发布引发了AI社区关于负责任AI的重要讨论。

OpenAI的分阶段发布策略

  • 初期仅发布小模型(117M)
  • 经过几个月观察
  • 最终发布完整的1.5B模型

关注点

  • 生成虚假信息的能力
  • 自动化垃圾邮件/钓鱼内容
  • 冒充特定人物或风格
  • 自动化的在线骚扰

这标志着AI研究社区开始认真对待双重用途研究的伦理问题。

技术影响与意义

范式转变

GPT-2证明了几个关键观点:

  1. 规模的重要性

    • 15亿参数 >> 1.17亿参数
    • 更大的模型学习更通用的表示
  2. 数据质量 > 数量

    • 精心筛选的40GB >> 大量低质量数据
    • WebText的构建策略成为标准
  3. 零样本能力的涌现

    • 足够大的模型在足够多样的数据上训练
    • 会"顺便"学会执行各种任务
  4. 提示工程的萌芽

    • "TL;DR:"、"translate to french"等
    • 预示了今天提示工程的重要性

对后续研究的影响

GPT-2直接启发了:

  • GPT-3(2020):1750亿参数,真正的few-shot学习
  • 提示学习范式的确立
  • In-context learning概念的形式化
  • 大规模语言模型即服务的商业模式

科学贡献

核心论点的验证:

"无监督任务学习是一个有前景的研究领域"

论文证明:

  • 预训练技术的成功部分归因于它们开始学习直接执行任务
  • 在极限情况下,无需监督适应或修改

技术细节补充

训练规格

计算资源

  • 使用了Google的TPU基础设施
  • 训练时间未公开,但推测需要数周

超参数

  • 学习率:随模型规模调整
  • 批次大小:512
  • 梯度累积:处理大模型
  • 精度:可能使用混合精度训练

评估协议

零样本评估

  • 无参数更新
  • 无架构修改
  • 仅通过提示引导任务

去分词化器

  • 设计了可逆的去分词化器
  • 移除分词/预处理伪影
  • 改善2.5-5困惑度

结论

GPT-2代表了NLP和AI发展的关键里程碑:

🎯 核心成就

  • 证明了语言模型在零样本设置下的多任务学习能力
  • 8个数据集中7个达到SOTA
  • 模型规模和数据质量的重要性

🔬 科学贡献

  • 系统的规模研究
  • 零样本迁移的深入分析
  • 对记忆 vs 泛化的量化研究

🌟 长远影响

  • 为GPT-3、ChatGPT铺平道路
  • 确立了"大模型+好数据"范式
  • 启发了提示工程和few-shot学习

⚖️ 伦理意识

  • 首次认真对待AI安全问题
  • 分阶段发布策略
  • 引发负责任AI的讨论

GPT-2不仅推动了技术边界,更重要的是改变了我们思考AI能力的方式。它表明,通过规模化的无监督学习,模型可以获得广泛的任务执行能力,这为今天的大语言模型时代奠定了基础。

正如论文所总结的:

"当一个大型语言模型在足够大且多样的数据集上训练时,它能够在许多领域和数据集上表现良好。GPT-2在8个测试的语言建模数据集中的7个上零样本达到了最先进的性能。模型能够在零样本设置下执行的任务的多样性表明,训练以最大化足够多样化文本语料库可能性的高容量模型,开始学习如何执行惊人数量的任务,而无需明确的监督。"

这个愿景在今天的ChatGPT、GPT-4等系统中得到了更充分的实现,但GPT-2是开启这一旅程的关键一步。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐