橙研所· 方法论 × Agent 拆解
AI 科普 · 逐章拆解

AI圣经07 《GPT-2:读了半个互联网之后,它开始「不学就会」》

你给 ChatGPT 写一句话,它就接着往下答——不用你先教它「这是翻译任务」或「这是问答任务」。这件今天习以为常的事,第一次被证明能成立,是在 2019 年这篇论文里。它的名字很直白:《语言模型是无监督的多任务学习者》。上一篇的 GPT-1 还要「先预训练、再针对每个任务微调」;GPT-2 却把赌注加倍——干脆连微调也不要了:只要模型够大、读的文本够多,你把任务「说」给它听,它零样本就会干。那一年它长到 15 亿参数、读了差不多半个互联网,第一次让「不学就会」从口号变成了成绩单。

封面 · GPT-2
📚 AI 圣经 · 系列导览这是「AI 圣经」系列第 07 篇。我会带你逐篇精读撑起今天所有大模型的 21 篇经典论文,分 5 个阶段层层递进(本篇已高亮): 本篇论文:《Language Models are Unsupervised Multitask Learners》· Radford, Wu, Child, Luan, Amodei, Sutskever 2019(OpenAI)。可搜「GPT-2 paper」或访问 OpenAI 官网下载。其余各篇论文地址,随当期文章给出。
📩 回复「AI圣经07」,领取本篇论文 PDF。

太长不读上一篇 GPT-1 证明了「预训练一个通用底座、再针对每个任务微调」这条路能走通。这一篇 GPT-2(OpenAI,2019 年 2 月)把赌注加倍:连微调都不要了。它的主张写在标题里——《语言模型是无监督的多任务学习者》:一个只被教了「猜下一个词」的模型,只要够大、读得够多,就能不给任何样例、不改一个参数,靠你写的一句提示词直接干翻译、摘要、答题——这叫 zero-shot(零样本)。为此它把语料从「7000 本小说」换成 40GB 的真实网页(WebText),把模型放大到 48 层、15 亿参数,在 8 个语言建模数据集里零样本刷新了 7 个的最好成绩。它最重要的遗产不是某个分数,而是一句预言:模型越大越好,而且最大的那个还没吃饱——这条路远没到头,这直接催生了 GPT-3。

上篇回顾 · 先答一题上一篇 GPT-1 我们埋了个钩子,先别往下翻,试着答:GPT 为什么主动选了「只往左看」的单向,而不是像 BERT 那样双向?……答案是——「猜下一个词」这个单向游戏本身就是生成:练到极致,模型天然就会写(给个开头就能一路往下接),而双向的「完形填空」不会自然带来这个能力。GPT 赌的是「会接龙就会写」。那一篇里,GPT-1 的做法还是两段式:先在 7000 本书上预训练出「语言直觉」,再拿少量标注数据针对每个任务微调一次。这一篇的问题正好顶着它往前一步:如果模型大到一定程度、读得足够多,那第二步的「微调」还需要吗? GPT-2 给的答案很激进——不需要。

01把赌注加倍:不微调,只靠「提示」就干活

GPT-2 gpt2-p01.png
论文原文 · 第 1 页:标题 + 摘要——「语言模型是无监督的多任务学习者」,最大 15 亿参数在 8 个数据集里 7 个零样本刷新 SOTA,且仍欠拟合 WebText。

GPT-1 证明了「预训练一个通用底座、再微调」这条路能走通。但微调有个隐藏成本:每换一个任务,就得准备一批该任务的标注数据、把模型再训一遍。 换十个任务,就是十套标注、十次训练。GPT-2 盯上的正是这一步——它问了一个更大胆的问题:能不能让模型一次都不微调,直接就能干各种没见过的任务?

论文的标题就是它的答案:《语言模型是无监督的多任务学习者》。拆开这句话——一个只被教了「猜下一个词」(无监督)的语言模型,居然自己就学会了多种任务(多任务),而没人专门教过它任何一种。这就是全文的核心概念:zero-shot(零样本)任务迁移——不给该任务的任何训练样例、不改一个参数,直接让模型上手干(论文摘要)。

它凭什么敢这么赌?论文摘要里给了一句极关键的观察:模型的容量(capacity),是零样本能成立的关键;而且模型越大,这些任务的表现会以「对数线性」的方式稳稳往上走——横轴的规模每翻一个数量级,纵轴的能力就近似直线地涨一截(论文摘要)。更耐人寻味的是最后半句:他们最大的那个 15 亿参数模型,竟然还「欠拟合」WebText——也就是说,数据还没喂够,模型还没吃饱,这条曲线远没到头。这半句话,等于给两年后的 GPT-3 提前写好了剧本:既然越大越好、而且还没到头,那就往死里放大。

这一步「不微调、只靠提示」为什么可能?因为 GPT-1 已经埋好了伏笔:它把「猜下一个词」练成了通用底座,又发明了「把任何任务都拼成一段连续文字」的思路。GPT-2 只是顺着这条线再走一步——既然任务都能写成文字,那我干脆用一段文字把任务「描述」给模型,让它顺着往下接,而不再为每个任务单独微调。 这就是今天「提示词」的雏形。剩下的问题只有两个:喂它读什么、以及做多大。下面两节,正是 GPT-2 在这两件事上给出的答案。

02不再读小说,去读「半个互联网」

GPT-2 gpt2-p03.png
论文原文 · 第 3 页(§2.1 训练数据集):WebText——抓 Reddit 高赞外链、去重剔除维基,洗出 800 多万文档、约 40GB 文本。

要让模型「不学就会」,先得让它读得足够杂、足够多。GPT-1 读的是 7000 本精挑细选的小说;GPT-2 换了个思路——去读真实的、五花八门的互联网网页,因为各种任务的「影子」本就散落在人类日常写的文字里(论文举过一个例子:一篇英文博客里天然就夹着「某句法语=某句英语」这样的对照,模型读着读着,翻译的样子就见过了)。

可整个互联网又脏又乱,怎么筛出值得读的那部分?OpenAI 想了个巧办法,造了个叫 WebText 的数据集(论文 §2.1):先抓取 Reddit 上所有被用户顶到至少 3 个 karma(赞)的帖子里的外部链接——一个链接能被人点赞,说明背后那篇内容大概率有人觉得有用或有趣,这是一层廉价却有效的质量信号。顺着这些链接一共捞到 4500 万个网页,再抽出正文、去重,并特意删掉了所有维基百科页面(因为很多测试任务的数据就来自维基,留着等于让模型「考前偷看答案」)。

最后洗出来的,是 800 多万篇文档、约 40GB 的文本(论文 §2.1)。从「7000 本书」到「40GB 真实网页」,数据的性质变了:不再是干净的文学,而是人类在互联网上真实写下的、什么话题都有的一大堆文字——而恰恰是这份「杂」,让模型见过了翻译、问答、摘要……各种任务本来的样子。骨架仍是 GPT-1 那套 Transformer 解码器(只做了极小改动),真正变的是喂进去的东西

(一个细节能看出用心:他们连维基百科都删了。当所有人都嫌数据不够、恨不得把维基塞满时,GPT-2 反而主动扔掉这块「优质料」——只因为它可能污染测试。这种对「干净评测」的洁癖,正是后面那张零样本成绩单敢让人信服的前提。)

03规模变成主角:从 1 亿到 15 亿

GPT-2 gpt2-p04.png
论文原文 · 第 4 页(Table 2):四个尺寸的模型阶梯——117M / 345M / 762M / 1542M,最大号 48 层、约 15 亿参数,上下文从 512 扩到 1024。

如果说 GPT-1 的主角是「生成式预训练」这个方法,那 GPT-2 的主角,第一次变成了规模本身。论文一口气训练了四个大小不同的模型,摆成一个阶梯(论文 Table 2,已逐项核对):

从 GPT-1 到 GPT-2 最大号,参数量翻了十倍还多。论文顺手做了两处工程升级:一是把模型能「一口气读进」的上下文,从 512 个词扩到 1024 个;二是改用字节级的 BPE 编码(把文字切成字节层面的子词单元,词表 50257)——好处是任何字符都不会让它卡壳,生僻词、表情符号、别国文字都能表示。

但真正的重点不在这些细节,而在那个阶梯本身传递的信息:把同一个方法、同一份数据,只是不断放大模型,性能就一级一级稳稳往上走。「越大越好」——这个今天听着理所当然的直觉,正是从这张表开始被当成一条可依赖的规律。它把「要不要继续做大」从一场豪赌,变成了一道有把握的算术题。

(顺带说个容易记混的点:论文里最小的那个 117M 模型,配置几乎就是 GPT-1;第二个 345M 又正好撞上 BERT 最大号的体量。GPT-2 等于把前两代主角都收进了自己的「尺寸阶梯」里,再往上叠到 15 亿——这份「同一套东西、只是更大」的克制,本身就是它想证明的论点。)

04最妙的一招:把任务「藏」进提示词里

GPT-2 gpt2-p07.png
论文原文 · 第 7 页(§3.6/3.7):零样本摘要靠在文末加「TL;DR:」提示诱导;零样本翻译法译英拿 11.5 BLEU,而 WebText 过滤后只剩约 10MB 法语。

不微调,那到底怎么告诉模型「我现在要你翻译 / 摘要 / 答题」?GPT-2 的答案,是今天每个用 ChatGPT 的人每天都在做、却未必意识到的一件事——把任务用一段文字「提示」给它,让它顺着往下接

下面三个例子,就是论文里真实用过的做法:

你看出这一步有多关键了吗——任务不再靠「改模型结构」或「拿数据微调」来指定,而是靠你写的那段提示(prompt)来指定。 GPT-1 那个「把所有任务都拼成一段连续文字」的念头,在这里被推到了极致:连微调都省了,改变的只是你说给模型听的那句话,这就是今天「提示词工程」最古早的源头。当然,2019 年这一步还很稚嫩:零样本翻译英译法只拿到 5 BLEU(一种翻译质量分,还不如把词一个个硬替换过去),法译英稍好、11.5 BLEU——但考虑到 WebText 过滤后只剩下大约 10MB 的法语,模型几乎没正经学过法语却能译成这样,已经足够让人吃惊。方向对了,只是规模还不够——这正是 GPT-3 要补的那一课。

05成绩单:没专门训练,零样本刷了 7/8

GPT-2 gpt2-p05.png
论文原文 · 第 5 页(Table 3):8 个语言建模数据集的零样本成绩——7 个刷新 SOTA,唯一没赢的是把句子打乱顺序的 1BW。

光讲故事不算数,论文用一张成绩单把「不学就会」砸实了。在 8 个主流的语言建模数据集上,这个没有针对其中任何一个做过训练的 GPT-2,零样本就刷新了其中 7 个的最好成绩(论文 Table 3,已核对)。请记住这个前提的分量:以往刷这些榜,模型都是在对应数据集上专门训练过的;而 GPT-2 是素未谋面、直接开考就赢了七个。

更有意思的是唯一没赢的那一个——叫 One Billion Word 的数据集。它为什么能挡住 GPT-2?因为这个数据集把句子的顺序打乱了,句与句之间没了上下文联系。而 GPT-2 最擅长的恰恰是长距离的连贯——它靠「读了前文、顺势往下猜」取胜,你把前后文打乱,等于专门废掉它的看家本领。所以它输在这一个上,反而证明了它赢在别处靠的是什么

再看两个更「像人」的任务:

这些数字单看都算不上惊艳,但合起来指向同一件事:一个只被教过「猜下一个词」的模型,不经任何针对训练,就能在一批完全不同的任务上摸到及格甚至优秀的门槛。 这是「无监督多任务」从标题变成证据的一刻——也是「规模够大,能力就会自己冒出来」这个信念第一次拿到硬数据。

06从 GPT-2 到 GPT-3:规模成为方向

GPT-2 gpt2-p06.png
论文原文 · 第 6 页(§3.4/3.5):零样本阅读理解 CoQA 拿 55 F1(没用 12.7 万标注对)、指代消解 Winograd 提升 7% 达 70.70%。

退一步看 GPT-2 在这条长河里的位置:它是把「规模」第一次正式立为主角的那一篇。

GPT-1 埋下的种子是「万物皆可拼成一段文字去接龙」;GPT-2 证明了——只要模型够大、读得够多,这个念头连微调都不需要,靠一句提示就能在零样本下成立。 它留下的,是三个后来被反复兑现的判断:

也正因为它「不大不小、方法干净、承前启后」,GPT-2 成了后来所有人学着从零手搓一个大模型时的标准起点——从 Karpathy 的 nanoGPT 到今天(2026 年还有人用纯 C/CUDA 复现 GPT-2 规模的模型当入门项目),想弄懂「大模型到底怎么训出来的」,几乎都是从复刻这一版 GPT-2 开始的。一篇论文能变成一代人的「教具」,本身就是它分量的证明。此外还有一段绕不开的当年背景:GPT-2 因为生成的文本「太像真人」,OpenAI 一度没有直接公开最大号模型、改成分阶段放出,理由是担心被用来批量造假信息——这是「大模型该不该、能不能公开发布」第一次成为整个行业公开争论的话题。当机器写得足够以假乱真,发布本身就成了一个需要负责任的决定。

系列读到这里,脉络已经很清楚:GPT-1 赌「会接龙就会写」,GPT-2 把这个赌注推进到「不必再教、只靠提示就会」,并第一次把规模摆到主角位置。下一站 GPT-3,会把规模和「在提示里给几个例子」(few-shot)一起推到极致,让「不学就会」真正稳定成立——那,就是 ChatGPT 的前夜了。

读完自测:先别往下翻,试着答

主动回忆一遍才记得住(这点「小难度」是故意的)。三问,想好再看答案:

答案1. 最激进的一步是连微调都不要了:GPT-1 还要「预训练 + 针对每个任务微调」,GPT-2 主张只要模型够大、读得够多,就能不改一个参数、不给任何该任务样例地直接干活——这就是 zero-shot(零样本)。2. 靠提示词(prompt):把任务用一段文字「说」给模型、让它顺着往下接。论文的经典例子——做摘要就在文章后加一句 「TL;DR:」,模型见过无数这种格式,就自然往下生成摘要。3. 输的是把句子打乱了顺序的 One Billion Word 数据集。GPT-2 的强项是长距离连贯(读前文顺势往下猜),打乱上下文正好废掉它的看家本领——所以输在这一个,反而印证了它赢在别处靠的正是「连贯」。

一句话带走,和下一步

只记一句:GPT-2 把 GPT-1 那个「预训练 + 微调」的两段式,砍成了一段式——只要模型大到 15 亿参数、读过 40GB 真实网页,就能不微调、只靠一句提示词零样本地翻译、摘要、答题;它第一次把「规模」立为主角,并留下一句预言:最大的模型还没吃饱,这条路远没到头。

阶段二的两条路——BERT 的双向理解、GPT 的单向生成——到 GPT-2 这里,「生成」这条彻底甩开微调、只认规模与提示。从下一篇 P08 GPT-3 起,故事冲向高潮:当参数从 15 亿放大到 1750 亿,「不学就会」会不会真的稳稳成立?——规模,这次要给出它最响的一次回答。

想再深入一点荐读一个最优源:Jay Alammar 的图解博客《The Illustrated GPT-2》(jalammar.github.io),从 GPT-1 的解码器讲到 GPT-2 怎么靠堆叠与规模一路生成,全程用图,比论文好读得多。/ 互动钩子:2019 年 OpenAI 因为「怕被滥用」没直接公开最大号 GPT-2,你觉得这是负责任,还是反应过度?欢迎在评论区聊聊。

← 返回 AI 圣经目录