【不背八股】19.GPT-2:不再微调,聚焦零样本

引言

在本系列上一篇文章中,我们回顾了 GPT-1 的设计思路:它基于 Transformer 解码器结构,将"生成式预训练 + 下游任务微调"的范式带入自然语言处理领域,成为后续一系列工作的源头。

2019 年 2 月,OpenAI 发布了 GPT-2。这一次,它不再执迷于这套范式,而是更加专注于模型的零样本(zero-shot)能力。

零样本任务是指模型在大规模数据上进行预训练之后,不再进行微调,直接应用于下游任务。

本文就来看看它具体是怎么做的。

论文标题:Language Models are Unsupervised Multitask Learners

论文地址:https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

1. 背景

GPT-1 已经证明了"无监督预训练 + 有监督微调"是可行的,但它依然受到两个方面的限制:

  • 模型规模有限:1.17 亿参数在当时算不上庞大,很难捕捉复杂的语义规律。
  • 训练语料不足:仅使用 BooksCorpus 数据,覆盖面偏窄,导致泛化性不足。

随着计算资源与数据获取能力的提升,一个自然的想法是:如果把模型做得更大,并且用更大规模、更广覆盖的语料训练,能否让模型直接学到跨任务的能力?

GPT-2 的核心探索正是这一点。它将 GPT-1 的思路"简单粗暴"地放大:更多层数、更多参数、更长上下文、更大数据,从而展现出强大的零样本泛化能力。

2. 模型设计

2.1 模型架构

  • 结构:和 GPT-1 框架一致,即 Transformer 的 Decoder 部分。

GPT-2 主要有以下四种参数量版本的模型。

  • 最大模型配置

    • 层数:48 层
    • 隐藏维度:1600
    • 注意力头数:25
    • 总参数量:15 亿(1.5B)
    • 最大上下文长度:1024 token

相比 BERT-LARGE,GPT-2 参数量提升了4倍。

2.2 训练数据

  • 数据来源:WebText。通过抓取 Reddit 上被高质量链接指向的网页,去掉维基百科等常见语料,得到约 800 万网页,40GB 文本。
  • 数据特点:覆盖面更广,包含新闻、小说、代码、对话等多种体裁,比 GPT-1 的 BooksCorpus 更丰富。

2.3 训练目标与策略

  • 目标函数:和 GPT-1 一样。

    • 给定一个序列的前文,预测下一个 token 的概率:

      L=∑ilog⁡P(ui∣ui−k,...,ui−1;Θ) L = \sum_i \log P(u_i | u_{i-k}, \dots, u_{i-1}; \Theta) L=i∑logP(ui∣ui−k,...,ui−1;Θ)

GPT-2 在论文中主要强调其零样本能力:在下游任务上,不再需要特定的监督微调,而是通过**任务描述(prompt)**直接驱动模型输出结果。

不同下游任务的方式如下表所示:

任务类别 数据集 / 实验 原始任务形式 GPT-2 的零样本做法(Prompt 化)
语言建模填空 CBT (Children's Book Test) 给定上下文 + 填空,候选词列表 把候选词分别代入句子,计算完整句子的概率,选最大概率的作为答案
长文本预测 LAMBADA 给定长上下文,预测最后一个词 直接用 LM 预测最后一个词的概率,选最高的
常识推理 Winograd Schema Challenge 判断代词指代 构造两种候选句子(不同指代替换),计算整体句子的概率,选择更合理的句子
阅读理解 CoQA 给定文档、对话历史、问题,输出答案 输入串为 [文档 + QA 历史 + 新问题],让模型直接生成答案
摘要生成 Reddit/TL;DR 给定文章,写出摘要 在文章后面加提示 "TL;DR:",让模型生成摘要
机器翻译 WMT-14 En→Fr 等 翻译句子 构造少量示例 prompt,例如:English: The dog is happy. French:,让模型继续生成翻译
事实问答 Natural Questions 给定问题,输出事实答案 构造 Q&A 格式 prompt,例如: Q: Who wrote Harry Potter? A: J.K. Rowling Q: What is the capital of France? A: Paris 再加新问题,让模型生成答案

注:论文里没有详细写每个任务prompt具体是怎么设计的,上表中的 prompt 为 使用 GPT-5 产生的内容推断。

3. 实验与结果

GPT-2 在多个任务上进行了实验,具体如下:

3.1 Language Modeling(语言建模基准)

  • 作者首先在多个标准语言建模数据集上,用零样本方式评估模型的迁移能力(即模型本身没在这些数据上训练/微调,只用模型原生能力预测)。
  • 在多个数据集(如 WikiText-2、LAMBADA、CBT、enwik8 等)上,GPT-2 模型常常取得较大幅度的 perplexity(困惑度)下降。
  • 尤其在较小 / 长依赖任务(如 LAMBADA、CBT)上,大模型优势显著。
  • 实验还分析了训练 / 测试数据之间的重叠(n-gram 重叠),以判断模型是否仅靠"记忆"获益。

3.2 Children's Book Test(儿童书籍完形填空测试)

  • CBT 是一种 cloze 测试,目标是预测被掩盖句子中的某个词(从若干选项中选择)。
  • 模型对每个候选词计算整个句子的概率,选最大概率的那个作为答案。
  • 实验发现,随着模型规模增加,正确率逐步提升,且接近人类水平(在部分词类上甚至超过前人)------这说明模型在室内语言推断 / 上下文建模方面能力强。

3.3 LAMBADA(长文本预测)

  • LAMBADA 是一个测试长距离上下文依赖任务:句子的最后一个词要求模型知道前 50 个词的上下文才能预测。
  • GPT-2 在 LAMBADA 上大幅提升准确率,并降低 perplexity。
  • 作者还观察到许多错误预测仍是合理的生成(但不是严格的目标词),说明模型生成能力较强。

3.4 Winograd Schema Challenge(常识推理 / 指代消解)

  • Winograd 是一种经典指代消解题,用微妙的语言差异测试模型是否具备常识推理能力。
  • GPT-2 在该任务上也有显著提升(比之前方法高出几个百分点),尽管样本数量少,任务难度大。

3.5 Reading Comprehension(阅读理解 / CoQA)

  • 在 CoQA 数据集(对话式问答 + 文档上下文)上,将文档 + 对话历史 + 问题作为 prompt 条件,模型直接生成答案。
  • GPT-2 在这种零样本方式下取得约 55 F1 分数,这与某些监督系统相近,且超过了若干未专门训练的基线模型。

3.6 Summarization(摘要生成)

  • 给定一篇文章,在其后加上 "TL;DR:" 提示,让模型生成摘要。
  • 为控制生成质量,使用 top-k 随机采样(k = 2)并生成 100 个 token,从中选前三句话作为摘要。
  • 虽然在 ROUGE 指标上仍落后于专门训练的摘要模型,但 GPT-2 生成的摘要在语义流畅性和主题一致性方面已有可用性。
  • 实验还表明,如果移除 task 提示 ("TL;DR:"),性能会显著下降,说明提示在诱导行为中至关重要。

3.7 Translation(翻译)

  • 尽管训练语料主要是英语网页,模型在 prompt 中被诱导去做英→法翻译(给出若干样例对,然后"English: ... = French:")
  • 在 WMT-14 英法数据集上,GPT-2 达到约 5 BLEU(用最基础方式)表现,尽管不及专门的机器翻译模型,但超越部分无监督翻译基线。
  • 有意思的是,尽管 WebText 已过滤掉多数非英语网页,模型仍从语料中学到了一部分多语种提示 / 翻译能力。

3.8 Question Answering(事实问答 / 自然问题集)

  • 在 Natural Questions 数据集上,用提示 + 若干 QA 示例作为上下文,让模型直接生成短答案。
  • GPT-2 在 exact-match 指标下答对约 4.1% 的问题,比最小模型高出许多。
  • 对它最有信心的 1% 回答中,准确率达 63.1%。
  • 实验还展示了最有信心的 30 个答案示例,证明模型确实蕴含了一些事实性知识。

4. 讨论

4.1 零样本泛化能力

GPT-2 表明 不需要针对任务微调,直接通过提示词就能完成多任务

这预示着语言模型已经具备了"通用任务接口"的雏形,为后续"大力出奇迹"的 GPT-3 的奠定了基础。

4.2 安全与伦理问题

OpenAI 选择 不公开完整 GPT-2 模型(仅发布小规模版本),原因在于其生成文本过于逼真,担心被用于虚假新闻、垃圾信息等恶意场景。这也是第一次将"大模型安全性"带入公众讨论。

总结

当 OpenAI 发现 GPT-1 在一些数据集上的性能被 Google 的 BERT 打败后,没有通过 GPT-2 进行反击和刷点对比,而是另辟蹊径,从零样本的角度去思考全新的问题。

虽然 GPT-2 在模型层面没有什么新变化,但意义还是很大的,说明不需要微调,模型也能做的很好,通过这个思路,可以将很多数据直接加上特定的 prompt 就直接利用起来,而不需要单独为特定任务进行标注,这也是大语言模型后续能够"穷尽一切网络语料"的根本原因。

相关推荐
DFminer7 小时前
【仿生机器人】基于 GPT-SoVITS 的 发声器
gpt·机器人
哪 吒8 小时前
本地安装Codex,国内直接使用GPT-5-Codex
gpt·ai·chatgpt·codex·gpt-5·gpt-5 codex
zstar-_1 天前
【不背八股】18.GPT1:GPT系列的初代目
gpt
空中湖1 天前
AI觉醒:小白的大模型冒险记 第9章:GPT大师的工坊 - 语言模型的训练秘密
人工智能·gpt·语言模型
哪吒编程2 天前
本地安装Codex,国内直接使用GPT-5-Codex
gpt·chatgpt
史不了3 天前
从 EFI 到 GPT:深入理解现代计算机启动与磁盘分区技术
gpt
里予.c3 天前
ARM—时钟(CLOCK)—定时器(EPIT / GPT)
arm开发·gpt
Mr.Lee jack3 天前
国内如何使用GPT-5-Codex
gpt·gpt-5·gpt-5-codex
winkel_wang3 天前
一个硬盘选MBR 还是GPT
windows·gpt·mbr