← 总目录 / 板块三 · 语言模型的发展
板块三 · 语言模型的发展

第23篇 · GPT-2

Language Models are Unsupervised Multitask Learners——一个只做"预测下一个词"的模型,凭什么号称是无监督多任务学习器?
Language Models are Unsupervised Multitask Learners · Alec Radford, Jeffrey Wu 等(OpenAI)· 2019 · 原文PDF(本页依据 OpenAI 官方博客与可靠二手资料撰写,未核验处均已标注)
来源透明声明:GPT-2 原文为 OpenAI 自发布的 PDF,无 arXiv 版且无法以文本方式直接抓取。本页框架与零样本评测数字取自 OpenAI 官方博客《Better Language Models and Their Implications》(2019-02-14 及后续更新);架构与训练细节部分取自 GPT-3 论文(arXiv:2005.14165 §2.1/§3.3 对 GPT-2 的回溯描述)及 Jay Alammar《The Illustrated GPT-2》等二手资料。所有未能从上述来源直接确认的原文数字,均显式标注"未核验"

一、全局大图

摘要拆解对照表

依据官方博客首段对论文的概括(对应原论文的摘要功能):

核心陈述大致对应论文章节本页解读章节
大规模无监督语言模型,生成连贯段落文本§1 引言、§6 样本第1章
在多个语言建模基准上取得 SOTA§3 实验(语言建模部分)第4章
零样本完成阅读理解、翻译、问答、摘要——无需任务特定训练§3.9–3.10 下游任务实验第5章
训练目标仅为:给定前文预测下一个词(WebText,40GB 网页文本)§2 数据集与训练第2–3章
因滥用风险不发布完整模型(分阶段发布)博客"Release strategy"部分第6章

主要贡献与证据强度预评

推荐阅读路线

必读主线:数据集(WebText)→ 训练设定 → 语言建模结果 → 零样本任务结果 → 发布策略讨论。可跳读支线:生成样本赏析章节(定性内容)。跳过数据集章节的代价最大:GPT-2 的全部故事都建立在"高质量数据让单一目标涌现多任务能力"这个前提上。

二、逐章精读

第1章 问题设定:为什么盯上"零样本"?

来源:OpenAI 官方博客叙述 + GPT-3 论文 §1 对 [117] 的回溯转述。动机分析部分为解读者补充。

学习目标:学完本章你应能说出 GPT-2 相对 GPT-1 的两个"10×";解释"无监督多任务学习器"标题的确切含义与它的证据边界。

失效模式先行【解读者补充】:BERT 刚刚证明"预训练+微调"的威力,但它暴露了范式的软肋——每换一个任务就要重新标注几千到几万条样本并重新微调。人类学会"把法语翻译成英语"不需要看一万个平行句,往往一句话指令就够。如果语言模型在纯文本语料里天然见过大量任务的"示范"(网页上到处是问答、翻译、摘要的实例),那么理论上它可以在不做任何梯度更新的情况下执行这些任务。GPT-2 就是检验这一猜想的最小实验。

"多任务学习器"的含义【解读者归纳】:WebText 中自然混有问答格式文本、双语对照、维基式摘要等"天然演示",因此下一个词预测这个单一目标在分布层面等价于许多任务的混合监督——这就是标题 "Unsupervised Multitask Learners" 的字面逻辑。注意这是关于数据的论证,不是关于模型的论证:模型是否真的利用了这些结构,要靠零样本成绩说话。

直觉类比:把互联网当成一本来路不明的习题册,GPT-2 只做一件事——抄写每一页的下一行。抄得足够多之后,遇到"问答题"它也开始作答,因为习题册里这类题的答案就写在下一行。类比在哪里失效:习题册的答案是配对好的、有对错反馈;而 LM 只学"最可能的续写",没有正确性反馈——所以它能模仿答案的形式,却没有任何机制保证形式的背后是正确的推理。这解释了后面零样本成绩"亮眼但远不及专用系统"的格局。

主张 vs 事实:【论文声称】LM 是无监督多任务学习器;【实验支持】若干基准上非平凡的非零成绩;【解读者观点】严格地说,实验支持的是"LM 预训练产生了一定的任务迁移能力",而"是 multitask learner"是把一种可能性表述成了身份判断——GPT-3 论文后来也沿用了这套框架并把它推向极限。

一句话蒸馏:一句话记住本节——GPT-2 把"要不要微调"这个问题第一次摆上台面,并用零样本成绩给出了第一个"部分肯定"的回答

第2章 数据集:WebText,质量高于数量的一次豪赌

来源:官方博客脚注 A 与正文;40GB/800 万网页数字见博客首段。"Reddit karma≥3"细节见博客脚注 A。

学习目标:学完本章你应能复述 WebText 的采集规则及其设计理由;说出它与 CommonCrawl 的本质区别。

手算验证(解读者补充)

800 万网页 × 平均每页 5KB 文本 ≈ 40GB ✓ 与博客声称一致。按 BPE 词表切分后约 100 亿 token 量级(40GB 英文文本 ÷ 每字节约 0.25 token 的经验值 ≈ 10¹⁰)——【未核验】原论文是否给出确切 token 数,本次未能核验,此估算仅供量级感。

常见误读:"GPT-2 在整个互联网上训练"。错——它只在一个人工策展的高质量子集上训练,而且刻意排除了 Wikipedia(防止在下游评测集上"背题",因为很多 NLP 基准源自 Wikipedia)。这个排除动作本身就是一种评测洁癖,后来在 GPT-3 时代因 CommonCrawl 无法如此干净而难以为继。

工程账单【解读者补充】:入口筛选缓解了"数据噪声"压力,新增了"领域偏窄"压力(Reddit 用户兴趣≠全网分布),并埋下一笔债——数据集不公开完整版,社区无法独立审计其与评测集的重叠情况。

一句话蒸馏:一句话记住本节——WebText 的哲学是"让人类投票替模型先把垃圾挡在门外"

闭卷自检:WebText 怎么筛?为什么排掉 Wikipedia?规模是多少?

第3章 架构与训练:一次诚实的"放大"

来源:架构描述来自 GPT-3 论文 §2.1 的回溯("same model and architecture as GPT-2… modified initialization, pre-normalization and reversible tokenization");模型规格表来自二手资料(Jay Alammar),具体层数/维度组合未核验

学习目标:学完本章你应能列出四个规格档位;指出 GPT-2 相对原始 Transformer 解码器的三处工程修改;说明为何说 GPT-2 "架构无创新"。

规格参数量层数 / 隐藏维 / 头数(二手资料,未核验)
GPT-2 Small117M12 / 768 / 12(与 GPT-1 相同)
GPT-2 Medium345M24 / 1024 / 16(未核验)
GPT-2 Large762M36 / 1280 / 20(未核验)
GPT-2 XL1.5B48 / 1600 / 25(未核验)

GPT-3 论文 §2.1 以一句"我们沿用 GPT-2 的架构,包括其改进的初始化、pre-normalization 和可逆分词"完成了对 GPT-2 技术内容的权威转述——这三点正是相对 2017 年原始 Transformer 的主要工程修改:【解读者补充解释】① pre-norm(LayerNorm 移到子层之前)改善深层网络的可训练性;② 可逆分词指 byte-level BPE,词表 50257(此数字广泛见于二手资料与开源实现,未核验于原文);③ 上下文窗口 1024 token(同上,未核验)。批大小 512 序列的说法同样来自二手资料,未核验。

公式手术 · 单步训练目标

L = −Σ_t log P( x_t | x_<t ; θ )  纯标准语言模型损失,无任何辅助任务

张量形状流【解读者补充】:输入 (B, T) 的 token ID → 词嵌入 (B, T, H) + 位置嵌入 → L 层因果自注意力+FFN → 最终隐状态 (B, T, H) → 与词嵌入矩阵共享权重投影到 (B, T, 50257) 的 logits。整条流水线没有一个 BERT 式的特殊标记或双任务损失。

常见误读:"GPT-2 发明了 zero-shot prompting"。不对——条件采样作为语言模型的标准用法早已存在;GPT-2 的贡献是用系统性评测证明这种用法能迁移到"像样"的任务水平,并把这一现象命名为值得研究的对象。命名和测量本身就是贡献,但不是机制发明。

一句话蒸馏:一句话记住本节——GPT-2 的创新密度为零、缩放系数为十倍:这是一次关于"数据和规模够不够替代技巧"的受控实验

第4章 主实验:语言建模基准全面刷新

来源:以下表格数字均来自 OpenAI 官方博客"Zero-shot"一节,逐项照录。括号内为此前纪录。

数据集指标GPT-2(1.5B)此前纪录
Penn Tree Bankppl(低好)35.7646.54
WikiText-103ppl(低好)17.4818.3
WikiText-2ppl(低好)18.3439.14
LAMBADAacc(高好)63.24%59.23%
LAMBADAppl(低好)8.699
Children's Book Test·普通名词val acc93.30%85.7%
Children's Book Test·命名实体val acc89.05%82.3%
Winograd Schema Challengeacc70.70%63.7%
enwik8bpc(低好)0.930.99
text8bpc(低好)0.981.08

数字对账(解读者补充)

LAMBADA 双指标交叉验证:困惑度从 99 降到 8.6,约 11.5 倍改善;准确率从 59.23% 到 63.24%,仅 +4 个百分点。两者方向一致但幅度悬殊——合理,因为困惑度衡量概率质量集中度,准确率只数"第一名是否命中"。若有人声称"困惑度降 11 倍≈准确率涨 11 倍",即为误读。另一组对账:博客称 GPT-2 参数量是 GPT-1 的 10 倍以上、数据量也是 10 倍以上——1.5B/117M≈12.8 ✓,40GB/GPT-1 语料 BooksCorpus(约 5GB 级文本)量级相符 ✓。

批判视角:这些 SOTA 全部是"域外模型打域内模型"——GPT-2 没在这些数据集的训练集上训练过,却赢了专门在其上训练的系统。这是全文最有说服力的一类证据(★★★):它同时证明了表示的通用性与数据的覆盖面。但要注意 PTB/WikiText 属于窄域(新闻/维基),通用模型在此取胜部分反映的是 WebText 已包含同类文体的大量副本——泛化还是记忆,此处无法区分【解读者观点】。

一句话蒸馏:一句话记住本节——没吃过你的训练集,却赢了你——这是 GPT-2 最硬的证据

第5章 零样本下游任务:"会一点"与"能用"的距离

来源:定性结论来自官方博客正文;具体分数除下表外(如 CNN/DailyMail ROUGE、WMT-14 Fr-En BLEU 等)本次未能核验,故不引用具体值。

博客明确列出的零样本成绩中,最具信号意义的是 Winograd Schema Challenge 70.70%(此前 63.7%,人类 92%+)与 LAMBADA 63.24%。此外博客承认:在问答、阅读理解、摘要、翻译上"GPT-2 开始从原始文本中学习这些任务……但远低于专用系统的 SOTA"。翻译场景被 GPT-3 论文精确量化为:仅凭约 10MB 法语残留数据,法英互译已有非平凡表现【转述】。

常见误读:"GPT-2 学会了翻译/摘要"。更准确的表述是:GPT-2 展示了这些能力的雏形,足以证明"该任务可以从无监督数据中获得增益"(博客原话的逻辑),但其绝对水平离可用产品线很远。把"迹象"读成"能力"是当年媒体报道的最大失真。

主张 vs 事实:【论文声称】这些任务可受益于无监督技术,且性能应随算力与数据增长(博客引述了他人的类似假设,即后来的 Scaling Laws 方向);【实验支持】单尺度模型上的零样本非零成绩;缺失的证据:论文未提供"能力随规模平滑增长"的多尺度曲线(这在一年后的 GPT-3 才补齐)——因此 GPT-2 的外推在当时属于合理猜测而非已证规律。

一句话蒸馏:一句话记住本节——零样本成绩的意义不在分数高低,而在"非零"本身:它把微调从必需品降级成了加速器

闭卷自检:GPT-2 在哪些任务上接近专用系统、在哪些任务上明显落后?它的翻译能力是在多少外语数据上长出来的?

第6章 发布策略:一篇论文引发的出版伦理实验

来源:官方博客"Policy implications / Release strategy / Staged release"各节。

学习目标:学完本章你应能复述分阶段发布的完整时间线与每一步的理由;列举博客承认的失败模式。

常见误读:"GPT-2 因为太危险而永久保密"。错——最终全部权重都开放了,保密只是时间策略;且博客自己评估"限制的只是最初一批有能力复现的组织"。评价这次实验时应区分两个问题:策略是否有效延缓了扩散(存疑,学界当时即有争论),以及"把发布决策变成可讨论的案例"这一做法本身的示范价值(公认较高)。

一句话蒸馏:一句话记住本节——GPT-2 的第二重遗产不在模型里,而在"能力评估→风险评估→分阶段释放"这套流程模板

第7章 分级自测题

  1. L1 GPT-2 最大规格的参数量是 GPT-1 的多少倍(近似)?训练数据量级各是多少?
    显示答案1.5B ÷ 117M ≈ 12.8 倍(博客称"超过10倍"✓)。数据:WebText 约 40GB/800万网页 vs GPT-1 的 BooksCorpus 约 5GB 级文本(后者量级为解读者换算,未核验原文表述)。
  2. L2 如果 WebText 不排除 Wikipedia,预计哪类评测结果最受影响?为什么?
    显示答案SQuAD、QNLI、以及任何源自 Wikipedia 的基准(如 WikiText 系列、CTB 命名实体档)。因为这些基准的测试文本极可能与训练语料逐字重叠,语言建模类指标(困惑度、bpc)会被记忆效应严重美化。(评分要点:指出重叠→记忆→虚高链路。)变式:GPT-3 后来为什么没法这么干净?——因为它必须用 CommonCrawl 这类无法按站点剔除的全网语料,于是转向事后重叠检测(数据污染分析)。
  3. L3 有人评论:"GPT-2 证明了语言模型就是无监督多任务学习器,所以标注数据时代结束了。"请构造至少两条反驳,指出这段话在证据上的漏洞。
    显示答案要点①:零样本成绩远低于专用 SOTA(博客自认),"会做"与"做得好"之间差几个数量级的标注效率;要点②:单尺度观测无法支持"随规模持续提升"的外推——该命题直到 GPT-3 用 8 个尺度才获得初步验证;要点③:Winograd 70.7% vs 人类 92%+ 说明"涌现的理解"仍主要是统计线索;要点④:评测本身可能有数据泄漏嫌疑且未经独立审计(WebText 未完全公开)。评分标准:每条反驳需指明对应的证据缺口,言之无据不给分。
  4. L4 把 GPT-2 的三个要素——(a)单一 next-token 目标、(b)人工策展的高质量数据、(c)10× 规模——分别映射到它取得的三类结果(语言建模SOTA/零样本雏形/发布伦理争议),说明每个要素"逼出"了什么后续问题。
    显示答案(a)逼出的问题:单一目标能否容纳任意任务→催生 in-context learning 研究纲领(GPT-3 的 zero/few-shot 三分法正是对该问题的系统化);(b)逼出的问题:策展数据不可扩展且不可审计→GPT-3 转向 CommonCrawl+过滤,并被迫发明数据污染测量工具;(c)逼出的问题:能力越强发布责任越重→分阶段发布成为行业惯例的前身,也埋下了后来"能力评测先行于部署"的安全流程。(评分要点:三个映射各1分,指出链条指向GPT-3得1分。)

三、批判性阅读

8.1 benchmark 到底测什么 & 公平性

8.2 证据等级区分

证据等级备注
十个语言建模基准的 SOTA 表较强公开榜单可比;但均为作者自行提交
Winograd/LAMBADA 零样本分协议细节本次未核验;Winograd 部分评测方法沿用 GPT-1 的 partial evaluation(据 GPT-3 论文回溯)
翻译/摘要/问答的定性能力博客明言"far from state-of-the-art",属方向性证据
"多任务学习器"命题主张叙事框架,非可证伪结论
精选生成样本主张作者自认 meta-cherry-picking,且未披露挑选比例

8.3 第二坐标轴

缺失的成本披露:1.5B 模型的训练算力、能耗、推理延迟均未见诸博客与可获取材料【未核验】。以 12.8× 于 GPT-1 的参数量和 10× 数据粗推,训练成本较 GPT-1 至少高两个数量级【解读者费米推断】。第二坐标轴的缺席让"简单目标+大数据"看起来比实际便宜——直到 GPT-3 论文才把 petaflop/s-days 写进正文。

8.4 论文没有告诉你什么

四、综合考核

任务一 · 重建因果链

仅从"单一 next-token 目标 + Reddit karma 过滤语料 + 1.5B 参数"三个事实出发,推演 GPT-2 必然在哪些评测类型上表现最好、在哪些上必然吃瘪,并说明理由。

显示参考答案与评分标准必然较好:①与 Reddit 高赞内容文体重叠的语言建模/完形类基准(语料覆盖+概率建模目标直接对口);②"预测缺失词"形态的任务(CBT、LAMBADA——与训练目标同构,只需把任务表述成续写)。必然吃瘪:③需要输出格式的任务(翻译的目标语言侧、摘要的长度约束)——因为没有指令跟随训练,模型只能靠 prompt 里隐式的模式引导;④需要真实知识精确性的闭卷问答——无检索、无事实校验机制。评分要点:每条判断须绑定"目标同构性/数据覆盖/无格式约束机制"三个机制之一。

任务二 · 数字总对账

  1. 核对:(a) "参数与数据均 10× 于 GPT" 与 1.5B/117M、40GB/BooksCorpus 量级;(b) LAMBADA 困惑度 99→8.6 与准确率 59.23%→63.24% 的幅度关系;(c) CBT 两档(名词 93.30 vs 实体 89.05)与"实体更难"的普遍经验。
显示答案(a) 12.8× 与 10×+ 相符 ✓(数据侧只能做量级核对,BooksCorpus 精确 GB 数未核验);(b) 困惑度降 ~11.5 倍而准确率仅 +4pt——两者度量不同维度,幅度不一致是正常的,不能互相印证也不能视为矛盾 ✓(考察点:识破"倍数幻觉");(c) 名词档高于实体档 ✓ 与"实体识别更依赖世界知识、名词更依赖局部语法"的解释一致——但这只是相容性检查,不构成因果证明。

任务三 · 设计决策答辩

  1. 只用 next-token 一个目标:为什么不加一个 BERT 式辅助任务?
    参考答案为什么:保持目标的极大简化是"多任务学习器"论证的前提——任何辅助任务都会污染"纯无监督"的叙事,且会引入任务特定偏置。不这样做:也许下游零样本更好,但代价是失去"单一目标涌现多任务"的核心卖点。论据强度:论文未做多目标消融,属 ★ 级主张;但从事后观点看,这个"纯粹性"选择深刻影响了 GPT 系的路线。
  2. karma≥3 入口过滤而非事后清洗:得失各是什么?
    参考答案得:免费获得人类质量判断,数据信噪比高,直接换来语言建模 SOTA。失:分布偏向 Reddit 用户群(英语、科技/娱乐偏好),文化偏差未被测量;且"入口即筛"无法量化被丢弃部分,数据集不可完整复现(未放出全量)。这笔债在 GPT-3 时代以"被迫用 CommonCrawl 并发明污染检测"的形式偿还。
  3. 拒绝立即发布 1.5B 权重:这个决定保护了谁、伤害了谁、有没有达成目的?
    参考答案可能的保护对象:信息生态(虚假内容产能受限的窗口期)。确定的伤害对象:独立研究者(无法复现/审计)、依赖开源的中小机构。目的是否达成存疑:博客自己承认"一些研究者有能力复现并开源",345M 分档的判断标准(复现射程)也暗示 1.5B 迟早会被外部重现。评分要点:三方视角各占其一,结论允许开放但须给出依据。

任务四 · 证据审计

显示读后修正贡献1(LM SOTA):维持 ★★★,十个基准同向、且属"域外胜域内"的最强证据类型。贡献2(零样本任务能力):维持 ★★,数字可靠但协议细节本页未能核验,且缺多尺度支撑。贡献3(多任务学习器命题):维持 ★ 但性质更清楚了——它是研究纲领宣言而非实验结论;其真正验证要到 GPT-3。贡献4(WebText 方法论):升为 ★★☆,因为 GPT-3 论文的 CommonCrawl 过滤实践构成了对这条路线的间接独立验证。贡献5(发布伦理实验):维持 ★,技术含量低但行业影响大——审计提示:评价一篇论文时要把"科学贡献"与"制度贡献"分开记账。