GPT-3:规模够大,「上下文学习」就免费送
🎯 为什么重要:「微调」之前是必需品,GPT-3 说不是了
2020 年前,预训练 + 微调是 NLP 的标配:每个下游任务都要收集几千~几十万条标注数据,做梯度更新。GPT-3 把这套颠覆了——提出 4 种评估方式(论文 §2.0,Fig.2.1),把「微调」踢出主力阵容:
💡 核心思想:预训练 = 学「技能与模式识别」,推理 = 用上下文激活
论文把这套机制命名为 meta-learning(外循环 = 预训练,内循环 = in-context learning)。关键直觉:预训练时模型见过海量「任务模式」(问答、翻译、改写……都隐含在自然文本里);推理时给几个示例,就在一次前向里把这些模式「点亮」。
关键证据:规模带来「元能力」的非线性跃升。论文 Fig.1.2 在「去掉随机符号」这种小任务上显示——小模型几乎学不会 in-context,大模型一学就会。Fig.1.3 汇总 42 个精度类基准:zero-shot 平滑上升,few-shot 随规模陡升——说明「会使用上下文」是规模带来的新能力。
🛠️ 怎么做:朴素放大 + 数据清洗 + 三档评估
| 维度 | 具体做法 | 为什么这么做 |
|---|---|---|
| ① 模型架构 | GPT-2 同款 Transformer,加 Sparse Transformer 的稠密 + 局部带状稀疏交替注意力;8 个尺寸(125M → 175B,Table 2.1) | 架构不变,把规模作为唯一变量;稀疏注意省显存 |
| ② 数据 | CommonCrawl 41 个月分片(45TB 压缩 → 570GB 过滤后,~410B token);与高质量参考集做相似度过滤;模糊去重;加 WebText2 / Books1 / Books2 / Wikipedia | raw CC 噪声大;过滤 + 去重 + 加高质量语料三步提升质量 |
| ③ 训练 | 300B tokens;按 Scaling Law [KMH+20] 选「大模型 + 较少 token」组合;V100 集群上模型并行(深度 + 宽度) | 大模型在小数据上每 token 更划算;这是 Scaling Law 给出的非直觉结论 |
| ④ 数据配比 | 不按数据量等比采样;高质量数据集(WebText2/Wiki)被采样 2.9~3.4 次,CommonCrawl 只 0.44 次 | 用「重复看优质数据」换质量,接受少量过拟合 |
| ⑤ 评估 | 每任务跑 zero/one/few-shot 三档;few-shot K 从训练集随机抽 K=10~100;多选用似然打分,自由生成用 beam=4 | 严格区分「会任务」与「会被示例唤醒」;零梯度更新让评估干净 |
| ⑥ 数据污染分析 | 专门 §4 分析训练-测试重叠;标记/剔除污染严重的数据集 | 大模型记忆力强,必须证明不是「背答案」 |
小模型对上下文示例「无动于衷」——它们只能死记;而大模型把「按示例模式外推」本身作为一种模式学进参数。这就像小孩背乘法表 vs 数学家看出「这个序列的规律是 X」——前者要例子一一对应,后者从结构泛化。GPT-3 的贡献是证明:这种「看出规律的能力」是规模带来的。
📊 关键结果:在 50+ 任务上,Few-Shot 逼近微调 SOTA
| 任务 | 0-shot | 1-shot | few-shot | 对比 |
|---|---|---|---|---|
| TriviaQA(闭卷问答) | 64.3 | 68.0 | 71.2 | 超 T5-11B+SSM 微调,闭卷 SOTA |
| CoQA(F1) | 81.5 | 84.0 | 85.0 | 接近微调 SOTA |
| LAMBADA(末词预测) | 76.2 | 72.5 | 86.4 | 比前 SOTA +18% |
| StoryCloze | 83.2 | 84.7 | 87.7 | 落后 BERT 微调 4.1% |
| HellaSwag | 78.9 | 78.1 | 79.3 | 落后微调 SOTA ~6% |
| PTB(困惑度,越低越好) | 20.5 | — | — | 比前 SOTA(35.8)低 15 点 |
| 翻译 FR↔EN(BLEU) | — | — | fr→en 39.2 | 比无监督 NMT +5 BLEU(X→En 译入英语方向) |
| 3 位算术(+/-) | — | — | + 80.2% / − 94.2% | 无专门训练,纯 in-context |
| 新闻文章人眼识别 | — | — | ~52% | 人识别 GPT-3 175B 文章几乎靠猜(随机 50%) |
| 维度 | 结论(PDF 溯源) |
|---|---|
| 规模 | GPT-3 175B,比前最大非稀疏 LM 大 10×;训了 8 个尺寸做规模对照(Table 2.1) |
| 规模效应 | 0/1/Few-shot 三档之间的差距随模型变大而拉大——大模型更会「使用」上下文示例(Fig.1.3) |
| 新闻生成 | 80 名美国受试者,GPT-3 175B 生成的 ~200 字新闻,人识别准确率 52%(几乎随机),500 字长文也是 52%(Table 3.11/3.12) |
| 能力涌现 | 算术 / 字符重排 / 用生造词造句 / 新词义推断——这些「合成任务」最可能是真正 de novo 学到(不是从预训练里检索) |
| 弱项 | NLI(ANLI 近随机)、阅读理解(RACE/QuAC)、WiC「同词异义」比较、常识物理(「冰箱里的奶酪会化吗」) |
| 局限 | 长文会自相矛盾 / 重复;非双向(自回归);预训练看到远超人一辈子能读的文本;推理贵;不可解释;继承训练数据偏见 |
🌐 在领域中的位置
GPT-3 是 LLM 时代的分水岭。它证明了「规模 = 元能力」,把范式从「每任务一微调」推到「一模型通吃,prompt 即接口」。这条线后来引出 InstructGPT(RLHF)、ChatGPT、GPT-4、Claude。对机器人/VLA:GPT-3 的「prompt 即任务说明」思路被 RT-2 / TinyVLA 等 VLA 直接继承——把语言指令当 prompt,让一个模型多任务通用。
❓ 常见误区
GPT-3 是在大量任务上「微调」出来的吗?
不是。论文 完全不做微调。所有任务都用「prompt + 0/1/few-shot 示例」一次前向完成。这是它最反直觉的地方——以前的 NLP 一定要梯度更新,GPT-3 说不用了。
「in-context learning」真的是「学新任务」吗?
论文 §5 老实承认这是个开放问题。有的任务(如翻译)更可能是「从预训练里检索」;有的任务(如生造词造句、字符重排)更可能是「真正 de novo 学习」。GPT-3 处在这条光谱上,位置因任务而异。
GPT-3 是一个对齐过的、安全的助手吗?
不是。GPT-3 论文版本没有 RLHF、没有 instruction tuning,它会胡说、有偏见、可以被诱导生成有害内容。论文 §6 专门讨论 broader impacts。真正的「助手化」是两年后 InstructGPT 才做的。
175B 这个数字是怎么来的?
论文没有「理论最优」,是按 Scaling Law [KMH+20] 在算力预算下选的最大可行尺寸。作者训了 125M → 175B 共 8 个尺寸(Table 2.1),证明 log loss 平滑下降,且下游任务跟着涨。
它和 ChatGPT 是什么关系?
GPT-3 是基础模型(base model)。ChatGPT 基于后续的 GPT-3.5/4,叠加了 InstructGPT 的 RLHF 才成为对话助手。但「in-context learning」这个能力——GPT-3 是奠基。
它和机器人 / 控制有什么关系?
看似无关,实则深连。GPT-3 确立的「大模型 + prompt + in-context 学习」范式,正是后来 SayCan、Code as Policies、RT-2、RoboFlamingo 等「用大模型驱动机器人」路线的认知前提。没有 GPT-3 把这条路趟开,就没今天「通用机器人基座」的讨论。