mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
4143 字
12 分钟
GPT-2:零样本多任务
2026-08-01

《GPT-2》解读:不微调也能干活?“语言模型本身就是多任务学习者”#

论文:Language Models are Unsupervised Multitask Learners 作者:Alec Radford、Jeffrey Wu、Rewon Child、David Luan、Dario Amodei、Ilya Sutskever,OpenAI 发布背景:2019-02-14 发布,主张”把模型和数据一起做大,语言模型就能零样本 (zero-shot)学会翻译、摘要、问答等任务,根本不需要任务专属训练”;前置知识: GPT-1 的”预训练 + 微调”范式、Transformer、prompt(提示)概念雏形。放到 ChatGPT 发展史里,这篇是”AI 安全与分阶段发布”讨论的开端,也为 GPT-3 的规模路 线提供了第一份实证。


一、引言:背景与核心问题#

GPT-1 证明了”预训练 + 微调”能通吃 NLP,但有个没说破的尴尬:每个任务还是要人工标 注数据,还是要跑微调。GPT-2 把问题往前推了一大步——能不能连微调都不做? 论 文的激进主张直接写在标题里:语言模型是无监督的多任务学习者(Unsupervised Multitask Learners)。

这个主张的逻辑是:只要语料够大、够杂,next-token 预测这个单一目标本身就隐含了所 有任务。翻译?语料里有大量”英文句子 = 法文句子”的对照,模型学着预测下一个词就顺 便把对照关系学会了。摘要?网文里到处都是 “TL;DR:” 后面跟一句浓缩。问答?网页里 遍地是问题和答案。所以论文的立场是:任务不需要被”训练”,只需要被”提示”——用 自然语言把任务描述写进 prompt,模型接着往下写就行。

这个立场当时非常不合群。主流做法是 multitask learning(多任务学习):像 GLUE、 decaNLP 那样把十几个任务拼在一起显式训练,最激进的也只训了 10~17 个(数据集,目 标)对。GPT-2 论文直白地说那是”暴力堆数据集”,而语言模型是一条更省的路——任务的 表现形式本来就在文本里,你只要把模型训到能预测所有文本,它就会了所有任务。

论文还顺便立了一个方法论目标:评测要”零样本”,即模型不看任何任务训练数据。这是 对当时”刷基准”风气的一种回应——他们担心微调让模型学到的是数据集的侥幸规律而不 是任务本身。所以 GPT-2 的全部评测都是 “zero-shot”(零样本):不微调、不给训练例 子,直接上测试集。

顺带交代一下时间背景。GPT-2 发布时,BERT 家族(BERT-base 79.6、RoBERTa 一路冲到 80+)在 GLUE 上如日中天,很多人已经认定”双向 + 微调”才是王道。GPT-2 等于逆着这 个潮流说:我们不做双向、不做微调,就靠单向语言模型硬扛,而且主张”扛不扛得住取决 于规模”。这个赌注当时看起来像嘴硬,论文里的零样本曲线却让它有了底气——所以今天 回看,GPT-2 的对手从来不是 BERT 的分数,而是 BERT 所代表的”范式转向”。

二、方法:架构/数据/训练细节#

架构是 GPT-1 的直接放大,没有新的结构创新。最大的模型有 15 亿参数、48 层、 d_model 1600,上下文窗口从 512 扩到 1024 token。论文还报告了 4 个尺寸的系 列(124M / 355M / 774M / 1.5B),为后面的”模型越大越好”埋下伏笔。工程上改了三 处:一是 residual 层的权重按 1/sqrt(N)(N 是层数)重新缩放,让深层网络更稳 定;二是 LayerNorm 移到每个 sub-block 的输入侧(pre-norm),并在最后一个 attention block 后额外加了一层 LayerNorm;三是分词换成 byte-level BPE(字节级 字节对编码),词汇表 50,257,可以处理任何 Unicode 字符而不损失信息,而且是可 逆的——这让模型能直接在各种评测集上算概率,不用先对齐分词。

数据是这篇论文的隐藏主角。他们自建了 WebText:从 Reddit 上抓所有 karma≥3 (获赞 3 以上)的外链,一共扫了约 4500 万条链接,筛出 800 万文档,约 40GB 文本。为什么从 Reddit 抓?因为它本质上是”人类帮你做了内容审核”——被大量 点赞的外链意味着高质量、有信息量的内容,比无脑爬全网的 Common Crawl 干净得多。 他们还刻意删掉了所有维基百科页面,避免与评测集重叠。这个”用人类点赞信号筛语 料”的思路,后来成了所有高质量语料工程的标配,OpenAI 后续的 WebText2、Pile、乃至 各家大厂的数据管线都能看到它的影子。

训练细节:batch size 512、序列长度 1024,直接在文本上做自回归预测。优化器沿用 GPT-1 的 Adam,最大学习率 2.5e-4,前 2000 步 warmup,之后按余弦退火降到 0, weight decay 0.01、dropout 0.1、梯度裁剪 1.0。论文没有报告总计算量,这是一处偷 懒——不过从训练规模看,1.5B 模型在那个年代已经是算力上的大手笔。需要注意,论文 自己也承认:最大的 1.5B 模型对 WebText 训练集仍然欠拟合(underfit),意思是 数据还不够多、还能继续训,性能远没到顶——这句话后来成了 GPT-3 的”路引”。

这篇论文里没有”生成效果”的定量评测,但采样质量本身就是它最重要的名片。最著名的 例子是那个”安第斯山脉发现独角兽”的新闻——给一个假标题,模型能续写出一整篇带采 访、带引语的像模像样的新闻稿。它也证明了”变换主题风格”的能力:喂给它维基百科词 条、对话、体育报道的开头,它都能接着写下去。这个能力后来被叫做 “chameleon-like” (变色龙式)适应,也让”预训练语言模型能不能写文章”第一次有了直观答案——当然, 独角兽新闻里满是编造的细节,这正是它后来被诟病”会一本正经地胡说八道”的源头。

三、成绩:关键实验数字#

先看语言建模,这是 GPT-2 最硬的成绩:8 个评测集中 7 个零样本达到 SOTA,而且 对手都是专门在该域内训练过的模型。挑几个炸裂的:LAMBADA(预测段落最后一个词,考 验长程依赖)困惑度从 99.8 直接压到 8.6,准确率在加停用词过滤后到 63.24% (前 SOTA 59.23%);Penn Treebank 困惑度 35.76(前 46.54);WikiText-2 18.34(前 39.14);enwik8 0.93 bits/char(前 0.99)。唯一没破纪录的是 One Billion Word——那个基准把句子全部打乱,恰好废掉了 GPT-2 最擅长的长文档依赖,属 于”基准考错了题”。

再看任务能力,这些才是”多任务学习者”主张的证据。Winograd Schema Challenge(代词 消歧,公认难考的常识推理)70.70%,比前 SOTA 高 7 个点;CoQA(对话式阅读理解) F1 55,没碰那 12.7 万条训练问答对,打平甚至超过 4 个监督基线中的 3 个; Natural Questions(开放域问答)4.1% 精确匹配——数字小,但它是闭卷、无检索硬 答出来的。翻译:WMT-14 En-Fr 5 BLEU、Fr-En 11.5 BLEU,跟监督系统的 33+ 比 差得远,但一个从没看过平行语料的模型能翻译,本身就是新闻。摘要:用 “TL;DR:” 提 示诱导,生成的摘要只略好于”随机抽三句”的基线——论文承认摘要依然很糙,但去掉 “TL;DR:” 提示后综合分数掉了 6.4 分,说明模型确实是被”提示”叫醒去干活的。

这里有个容易忽略的深意:零样本能在 PTB、WikiText、enwik8 上全面超过”在该域内专 训”的对手,意味着 GPT-2 已经接近”一个模型通吃所有域”的通用性(generalist),而 当时的行业还停留在”每个域训一个专家”(specialist)。这个”通吃”的定性,比任何单 项分数都重要——它是后来”基础模型(foundation model)“概念的雏形。

关键趋势是那个著名的图:零样本性能随模型容量对数线性(log-linear)增长。从 124M 到 1.5B,每个任务几乎都是平滑向上的直线,看不到收益递减的迹象。这就是后来 scaling law(规模定律)的第一张草图。论文还做了数据重叠分析,WebText 与各测试集 的重叠只有约 3.2%,说明成绩不是背答案背出来的。

顺手记两个细节点。一是 LAMBADA 的结果其实是”打了补丁”的:模型直接预测最后一个词 只有 52.66%,加上一个近似的停用词过滤器才到 63.24%——因为模型老是答出”合理的续 写”而不是”那个具体的词”,而这个词有一半概率是停用词。二是 4 个尺寸的缩放趋势 里,翻译和问答的提升斜率比语言建模更陡——换句话说,规模对”任务能力”的撬动比 “文本拟合”更明显,这是 GPT-3 敢押注 in-context learning 的早期信号。这两点论 文都没有展开,但都指向同一个方向:规模带来的变化不是量变,是质的积累。

收尾:我的一点看法#

GPT-2 最被低估的一点是:它把”任务”这个概念从”架构里的一个 head”变成了”prompt 里 的一句话”。翻译、摘要、问答全部退化成了”接着写”,任务定义完全交给自然语言——这 是后来 prompt engineering(提示工程)和 in-context learning(上下文学习)的直接源 头。今天大家写 prompt 用得理所当然,追溯起来,是从这篇开始有意识地这么干。

它的另一份遗产是”分阶段发布”(staged release)。2019-02-14 只发论文和 124M 小模型,之后陆续放 355M(5 月)、774M(8 月 20 日),完整 1.5B 直到 2019-11-05 才放出,理由是担心被用来生成虚假新闻、冒充发言、批量垃圾信息。这 事当年被骂得很惨——很多人觉得是营销炒作,Anima Anandkumar 等研究者公开质疑威胁 被夸大,社区主流认为 “too dangerous” 的说法站不住脚。回头看,模型的危险性确实被 高估了,但”实验室对自己的发布负责”这个动作本身,是行业第一次,也直接塑造了后来 所有前沿实验室的发布规范。ChatGPT 之后的每次发布争议,都能在这篇找到源头。

最后说缺陷。论文自己承认任务能力”开始能做但做不好”:摘要约等于抽三句,翻译远够 不上实用,长文本生成会重复、跑题、编造细节——著名的独角兽新闻就是编的。更实质 的问题是,它把”零样本能干活”当成卖点,但很多分数放在监督模型面前只是”礼貌性的 存在感”。不过,作为一个工程判断,GPT-2 最值钱的结论其实就一句话:scaling 还没 到顶,越大越好,而且是对数线性地好。 这一句话,直接催生了 GPT-3 那场 100 倍的 豪赌。

再补一个今天视角的彩蛋。GPT-2 没有在论文里系统研究”怎么把模型用好”,但它在工程 上已经给出了后来 prompt 调优的两条原始经验:一是任务要用自然语言”叫醒”——加一句 “translate English to French:” 模型才肯翻译,去掉提示词摘要分掉 6.4;二是生成质 量靠采样参数,论文用 top-k 采样(k=2)才压住重复。这两条分别演变成了今天的”指令 工程”和”解码策略”。可以说,prompt engineering 的教科书,GPT-2 时代就有人偷偷写 下第一版了——只不过当时没人给它起名字。

所以我对 GPT-2 的最终判断是:它是一篇”论文里的论文”。语言建模分数只是表象,真正 被后世反复引用的,是”任务即文本”的哲学、log-linear 的缩放曲线、以及分阶段发布这 个制度创新。它当年被骂得有多狠,今天被继承得就有多深。ChatGPT 发展史里,GPT-2 的角色是”传道者”:它没造出最锋利的剑,但它让所有人相信——路是对的,往前走就行。


附:核心数据速查#

关键数字表格

指标数值对比/备注
参数量(最大)15 亿48 层,d_model 1600
上下文窗口1024 token是 GPT-1 的 2 倍
词汇表50,257byte-level BPE,可逆分词
预训练数据WebText:约 40GB / 800 万文档来自约 4500 万条 Reddit 高赞外链
训练超参Adam,lr 2.5e-4,batch 5122000 步 warmup,余弦退火
模型尺寸系列124M / 355M / 774M / 1.5B4 档,验证 log-linear 缩放
LAMBADA 困惑度8.6前 SOTA 99.8
LAMBADA 准确率63.24%原始 52.66%,加停用词过滤后 63.24%
Winograd Schema70.70%前 SOTA 63.7%,人类 92%+
Penn Treebank 困惑度35.76前 SOTA 46.54
WikiText-2 / WikiText-10318.34 / 17.48前 SOTA 39.14 / 18.3
enwik80.93 bits/char前 SOTA 0.99
CBT(普通名词/命名实体)93.30% / 89.05%前 SOTA 85.7% / 82.3%
CoQA F155监督 SOTA 89
WMT-14 En-Fr / Fr-En BLEU5 / 11.5无监督系统最好约 33.5
Natural Questions4.1%闭卷硬答,无检索
数据重叠率约 3.2%与测试集的文本重叠,排除背题嫌疑

关键概念清单

  • Zero-shot = 零样本,不给例子、不微调直接评测
  • Multitask learner = 多任务学习者,一个模型干多种活
  • WebText = 论文自建的高质量网络语料
  • Byte-level BPE = 字节级字节对编码,可逆、无词汇外问题
  • Prompt = 提示,用自然语言指定任务
  • Pre-norm = 把 LayerNorm 放到子层输入侧,深层训练更稳
  • Top-k sampling = 只在概率最高的 k 个 token 里采样,抑制重复
  • Log-linear scaling = 性能随模型大小近似对数线性提升
  • Underfit = 欠拟合,训练还没吃透数据
  • Staged release = 分阶段发布
  • TL;DR = “too long; didn’t read”,网络缩写,被用作摘要提示词
  • Winograd Schema = 通过代词消歧考常识推理的基准
  • Generalist / Specialist = 通才 / 专才,一个模型通吃 vs 每域一个模型
  • Foundation model = 基础模型,可适配无数下游任务的通用底座
  • Scaling law = 规模定律,模型能力随参数/数据/算力平滑增长
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

GPT-2:零样本多任务
https://mizuki-eaf.pages.dev/posts/chatgpt/gpt-2零样本多任务/
作者
无名之子
发布于
2026-08-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录