- 阶段一 · 地基:P01《Attention Is All You Need》 · P02 Bahdanau Attention · P03 seq2seq · P04 word2vec
- 阶段二 · 预训练范式:P05 BERT · P06 GPT-1 · P07 GPT-2 · P08 GPT-3 · 本篇 · P09 T5
- 阶段三 · 规模与效率:P10 Scaling Laws · P11 Chinchilla · P12 LoRA · P13 FlashAttention · P14 MoE
- 阶段四 · 对齐与推理:P15 InstructGPT(RLHF)· P16 思维链 CoT · P17 DPO · P18 Constitutional AI
- 阶段五 · 检索与 Agent:P19 RAG · P20 ReAct · P21 Toolformer
太长不读上一篇 GPT-2 证明了「不微调、只靠提示」方向可行,但成绩只是及格。这一篇 GPT-3(OpenAI,2020 年 5 月)把赌注推到极限:参数放大 100 多倍到 1750 亿、比当时的世界纪录还大 10 倍,架构却几乎照抄 GPT-2——实验里的变量只有一个:大小。它证明的核心发现是:模型越大,越会「看样学样」——在提示里给几个例子(few-shot),不更新一个参数就能翻译、答题、算数,多项任务追平甚至超过专门微调过的模型;这个现象被命名为 in-context learning(上下文学习)。副产品同样震撼:GPT-3 写的新闻,人类判别真伪的准确率只有 52%——基本分不出来。它是「提示时代」的开山之作,也是 ChatGPT 的直系前身。
上篇回顾 · 先答一题上一篇 GPT-2 我们埋了个钩子,先别往下翻,试着答:GPT-2 论文里哪半句话,等于给 GPT-3 提前写好了剧本?……答案是摘要里那半句——他们最大的 15 亿参数模型竟然还「欠拟合」WebText:数据没喂够、模型没吃饱,性能随规模对数线性上涨的那条曲线远没到头。既然越大越好、而且还没到顶,那就往死里放大。这一篇,OpenAI 真的这么干了:1750 亿参数,比 GPT-2 大 100 多倍。但这篇论文真正的主角不是「大」本身,而是大到这个程度之后冒出来的一种新能力——这就是标题里的「少样本(few-shot)」。
01微调这道坎:每换一个任务,就要一批标注
先把 2020 年初的局面摆清楚。当时 NLP 的主流打法,还是我们在 BERT 那一篇里见过的两段式:先预训练一个通用底座,再针对每个任务微调(fine-tuning,拿该任务的标注数据把模型再训一遍)。这条路成绩很好,但论文开篇就点破了它的三个死结(论文 §1)。
第一,每换一个新任务,就得先造一个新数据集——几千到几十万条人工标注,是要人一条条写出来的。任务无穷多,数据集造不完,这从根上限制了语言模型的适用面。第二,更隐蔽:微调的好成绩里可能掺水。预训练时吞下海量知识的大模型,被摁在一个窄窄的任务分布上反复训练,很容易学会钻数据集的空子(论文原话叫「利用虚假关联」)——榜单上分数虚高,换个场景就现原形。
第三,也是最有人味的一条:人类学新任务根本不需要大数据集。给你一句话(「把这句英文翻成法文」),或者顶多一两个示范,你就能上手。机器凭什么不行?GPT-2 已经试过一次回答:不微调,零样本,靠提示。方向对了,但成绩离实用还远(阅读理解 55 F1,裸考及格;专门微调的系统接近人类的 89 F1)。GPT-3 的赌注是把这条路走到底:还是不微调、不改参数,但这次把模型放大到前所未有的规模,并且允许在提示里「顺手给几个例子」——赌大模型能从这几个例子里当场「看样学样」。
02把例子写进提示:few-shot 就是考卷开头的两道例题
论文把「怎么用模型」分成了四档,这张对照图后来被引用了无数次(论文 Figure 2.1):
- 微调(fine-tuning):拿几千上万条标注样本,把模型的参数真的改一遍。——GPT-3 全程不用这档。
- zero-shot(零样本):只给一句任务描述(「把英文翻成法文:」),直接答。这是 GPT-2 的玩法。
- one-shot(单样本):任务描述之外,再给一个示范例子。
- few-shot(少样本):给一小把例子,通常 10 到 100 个,塞得进模型 2048 个 token 的上下文窗口(模型一口气能读进的文本长度,比 GPT-2 又翻了一倍)就行。
关键在一个反复强调的前提:后三档全程不更新一个参数。例子不是拿去「训练」的,只是写在提示里让模型读的。打个比方——微调像补课,把你的脑子改一改;few-shot 像考卷开头印了两道带答案的例题,你的脑子没变,只是看完例题就明白这场考试要干什么。
论文给这个现象起了个名字:in-context learning(上下文学习)——「学习」不再发生在训练阶段,而是发生在阅读提示的那一瞬间。模型在预训练时「猜下一个词」猜了几千亿次,被迫见识了人类文本里各种任务的格式与套路,等于练出了「识别任务」的能力;推理时你在上下文里摆几个例子,它当场对上号:哦,这是翻译,照这个样子接着干。今天所有人习以为常的「给 AI 举例子」,源头就是这一节。
031750 亿参数的豪赌:方法上没有新发明,变量只有一个
方法讲完了,剩下的问题是:凭什么相信「放大」就能让 few-shot 成立?这就要说到这篇论文最「科学」的一面——它没有只造一个大模型,而是一口气训练了八个,从 1.25 亿参数一路排到 1750 亿(论文 Table 2.1,已逐项核对):125M、350M、760M、1.3B、2.7B、6.7B、13B,最后是 175B——96 层、隐藏维度 12288、96 个注意力头。最大号比当时的世界纪录、微软 170 亿参数的 Turing-NLG 还要大 10 倍。
为什么要摆一个八级阶梯,而不是直接秀那个最大的?因为这篇论文要证明的不是「我的模型强」,而是一条曲线:in-context 学习的能力,是不是随规模稳定上涨。单点吹不出规律,八个点才能画出趋势——这份底气来自几个月前同一批人(Kaplan 等,2020,Jared Kaplan 也在 GPT-3 作者名单里)发表的 scaling laws(规模定律):语言模型的损失随参数、数据、算力的放大呈幂律平滑下降,可以预测。换句话说,1750 亿不是拍脑袋,是按定律下注。
而架构本身,论文只用一句话带过:和 GPT-2 相同(只把注意力层换成了密集与稀疏交替的版本)。没有新结构、没有新目标函数——方法上没有新发明,实验里的变量只有一个:大小。
喂它的数据同样是工业级的:从 Common Crawl(一个公开的全网抓取库)的 45TB 压缩文本里过滤清洗出 570GB,再混上 WebText2、两个书籍库和英文维基百科——高质量来源被刻意「多喂几遍」,最终训练了约 3000 亿个 token(论文 Table 2.2)。代价也是数量级的跳变:GPT-2 那个 15 亿参数的模型,训练花了几十个 petaflop/s-day(算力单位,一台每秒千万亿次运算的机器跑一天);GPT-3 175B 花了几千个(论文 Figure 2.2 与 §6.3)。
04证据一:模型越大,越会「看样学样」
赌注揭盅。论文在几十个数据集上跑完全部八个模型 × 三档设定,最重要的发现不是某个分数,而是一个形状(论文 Figure 1.2):模型越大,few-shot 和 zero-shot 之间的差距越拉越开。 小模型你给它例子也白给——看不懂;模型越大,同样几个例子被「吃」得越透。「从上下文里学」这件事本身,是一种随规模增长的能力。这正是标题《语言模型是少样本学习者》敢用判断句的底气。
具体的成绩单,挑三个最有分量的(均已据论文核对):
- LAMBADA(长程语境下猜最后一个词,专考「读懂前文」):此前最好成绩 68.0%,由 170 亿参数的 Turing-NLG 保持。GPT-3 零样本 76.2%,few-shot 干到 86.4%——一口气把纪录抬了 18 个百分点。更扎脸的是,GPT-3 家族里 27 亿参数的小号,就已经打赢了比它大 6 倍的前纪录保持者(论文 §3.1)。
- TriviaQA(常识问答):few-shot 71.2%,超过了同样闭卷设定下专门微调过的模型的最好成绩(论文 §3.2)。请品这个对照:一边是拿标注数据专门补过课的选手,一边是只看了几道例题的裸考生——裸考生赢了。
- 翻译(法译英):39.2 BLEU(一种翻译质量分),比此前最好的无监督翻译系统高 5 分(论文 Table 3.4)。而 GPT-3 的训练数据按词数算 93% 是英文,法语只是「顺带读到」的边角料——它从没被正经教过翻译(论文 §3.3)。
05证据二:没人教过它算术
如果说上面那些还算「语言模型的本行」,接下来这组实验就有点让人后背发凉了。研究者出了一套纯算术题:两位数加减、三位数加减、四五位数、混合运算——注意,这是语言模型,训练目标从头到尾只有「猜下一个词」,没有任何人教过它算术规则。
结果(few-shot,论文 §3.9.1):两位数加法 100%,两位数减法 98.9%,三位数加法 80.2%,三位数减法 94.2%。更值得盯着看的是那张随规模变化的曲线(论文 Figure 3.10):130 亿参数及以下的模型,成绩几乎全在低处趴着;到 1750 亿,曲线突然直立拉起。能力不是匀速长出来的,是在某个规模之后「冒」出来的——后来整个行业管这个现象叫涌现(emergence)。(公平起见补一句:2023 年有研究反驳说,部分「突变」其实是打分方式造成的错觉,换个连续的度量,曲线就平滑了——涌现是真跳变还是假象,学界至今在争。)
另一组实验则第一次把「社会冲击」摆上了台面:让 GPT-3 生成约 500 词的新闻报道,再请人判断真伪。人类的平均判别准确率:52%——瞎猜是 50%,也就是说,基本分不出来(对照组判别小模型烂文的准确率有 88%,论文 §3.9.4)。2020 年夏天 API 内测放开后,各种 demo 刷屏推特:写代码、写诗、装哲学家,很多爆款出自没有机器学习背景的人之手——热到连 OpenAI 自家 CEO Sam Altman 都出来发推降温:「GPT-3 的 hype 实在太过了。」
但论文自己比推特冷静得多,它老老实实列了失灵清单(论文 §5):判断两句话是否互相蕴含这类「比较型」任务上,few-shot 接近瞎猜;「奶酪放进冰箱会融化吗」这种常识物理题答不好;长文写着写着仍会重复、自相矛盾。大力出了奇迹,但没有出全部的奇迹。
06它自己承认没想明白的事,和它顺手预言的未来
这篇论文最值得敬佩的地方,是它在最风光的时刻写下了一段自我怀疑(论文 §5):few-shot 到底是模型在推理时「当场学会了新任务」,还是只是「认出了预训练时见过的任务」?作者承认——分不清。这个问题至今(2026 年)没有公认答案,反而越研究越有意思:后来有实验发现,把 few-shot 例子里的标签故意打乱(把「正面」标成「负面」),性能居然掉得不多——例子教给模型的,可能主要是格式和套路,而不是知识本身(斯坦福 AI 实验室博客曾系统梳理这批实验)。你每天在用的技巧,机制上仍然是半个谜。
更神的是论文列未来方向时随手写下的两句:值得试试「从人类那里学习目标函数」,以及「用强化学习做微调」。两年后,OpenAI 沿着这两句话做出了 InstructGPT——教 GPT-3 听懂人话、按人类偏好说话的那套 RLHF(基于人类反馈的强化学习)——再把它开放给所有人,就是 ChatGPT。这两句伏笔,我们留到阶段四(P15)专门拆。
退一步看 GPT-3 在这条长河里的位置,它真正改变的是人和模型的关系:
- 任务的定义方式变了:BERT 时代,接一个新任务 = 造数据集 + 改模型;GPT-3 之后,接一个新任务 = 写一段提示。编程的对象从参数变成了文字。
- NLP 从「造模型」进入「用模型」的时代:一个通用底座 + 各写各的提示,「预训练大模型当基础设施」的产业格局从这里定型。
- 规模定律被实锤成了路线图:从 GPT-3 起,「下一代 = 大十倍」成了整个行业的默认剧本,直到几年后大家开始讨论数据和算力的天花板——那是本系列阶段三的故事。
顺带一个历史的回响:2020 年靠「多给几个例子」起家的 few-shot,到了 2026 年的强模型时代反而开始退场——今天的模型指令遵循能力足够强,很多场景下例子给多了反而让它分心照抄。一个技巧从发明、封神到逐渐功成身退,前后不过六年——这大概是 AI 这个行业时间流速的最好注脚。
系列读到这里,GPT 三部曲收官:GPT-1 赌「会接龙就会写」,GPT-2 赌「不必再教、只靠提示」,GPT-3 证明「给几个例子、当场学会」——三步把「预训练 + 微调」的旧范式,换成了「预训练 + 提示」的新范式。ChatGPT 已在地平线上,但那是对齐阶段(P15 InstructGPT)的故事;下一篇,我们先回头看同期的另一条大一统之路:T5。
✎读完自测:先别往下翻,试着答
主动回忆一遍才记得住(这点「小难度」是故意的)。三问,想好再看答案:
- 1. few-shot 和微调,最根本的区别是什么?
- 2. 论文为什么要一口气训八个尺寸的模型,而不是只训 1750 亿那一个?
- 3. 「人类判别 GPT-3 写的新闻,准确率 52%」——这个数字为什么比「某榜单第一」更有冲击力?
答案1. 参数动不动。微调拿标注数据把模型参数真的改一遍;few-shot 全程不更新一个参数,例子只是写在提示里让模型「读」的——学习发生在阅读上下文的那一瞬间(所以叫 in-context learning)。2. 因为论文要证明的是一条曲线而不是一个分数:模型越大,few-shot 与 zero-shot 的差距越拉越开,「从上下文里学」是随规模增长的能力——单点证明不了趋势,八个点才行。3. 因为瞎猜就是 50%,52% 意味着人类基本无法分辨机器和人写的新闻——它不是「机器比机器强一点」的榜单数字,而是第一次用实验证明「以假乱真」已经发生,直接把 AI 生成内容的社会问题摆上了台面。
→一句话带走,和下一步
只记一句:GPT-3 用 1750 亿参数和八个尺寸的对照实验证明了一件事——「从提示里的几个例子中当场学会干活」(in-context learning)是一种随规模增长的真实能力;从此接入一个新任务不再需要造数据集和改模型,写一段提示就行。它是「提示时代」的开山之作,也是 ChatGPT 的直系前身。
阶段二讲到这里,GPT 这条「单向生成」的线已经冲到了顶点。下一篇 P09 T5,我们回头看另一路集大成者:谷歌把所有 NLP 任务统统改写成「文本进、文本出」的一次大一统实验——它和 GPT-3 同年出场,却选了一条完全不同的路。两条路的分岔与合流,正是今天所有大模型的来路。
想再深入一点荐读一个最优源:Jay Alammar 的图解博客《How GPT3 Works — Visualizations and Animations》(jalammar.github.io),把 1750 亿参数怎么「读例子、接着写」做成了动画,比论文好读得多。/ 互动钩子:把例子的标签打乱、性能却不怎么掉——你觉得 few-shot 教给模型的到底是什么?欢迎在评论区聊聊你的理解。