01研究问题
遇到新任务,还必须重新训练吗?
传统的“预训练,再针对任务微调”通常需要为每项任务准备大量带答案的数据。换一个任务,就可能要再收集样本、更新模型参数。论文关心的是:能否只通过文字说明和少量示例,让同一个模型适应不同任务?
作者训练了从 1.25 亿到 1750 亿参数的八种自回归语言模型。最大的模型称为 GPT-3,使用 2048 token 的上下文窗口。在论文的零样本、单样本和少样本评估中,模型读取输入并预测后续文本,不为每个测试任务做梯度更新或微调。
“少样本”发生在使用时
这不代表 GPT-3 只看几条数据就完成了预训练。论文中的各模型预训练了 3000 亿 token;“少样本”说的是测试某个具体任务时,放进当前输入的示例数量。示例会改变本次输入,却不会直接改写模型权重。
研究重点是:模型规模增大后,能否更有效地利用输入文本里的任务线索。
02三种提示
不给例子、给一个、给几个:输入变了什么?
切换三种设置,观察说明、示例和待完成问题怎样共同组成一次输入。
任务:判断下面的评价是「积极」还是「消极」。只输出一个标签。
只改变输入中的说明与示例;模型根据上下文预测后续文本。
只有任务说明;模型需要从说明中判断应当怎样续写。
示例是任务说明的一部分
零样本只给自然语言指令;单样本再加一组示例;少样本加入多组“输入 → 答案”。论文在少样本实验中通常放入约 10–100 组示例,具体数量受任务长度和上下文窗口限制。最终问题之后不写答案,让模型预测下一段文本。
可把这些示例理解为“现场展示格式和规律”。模型也许会利用预训练时学到的知识识别任务,也可能在上下文中适应某个新模式;论文并未证明它在推理时从零学会了所有新技能。
03实验结果
示例有帮助,但结果因任务而异
论文测试了问答、翻译、阅读理解、常识推理等多类任务。下面两组数字来自原论文表 3.3,均为 1750 亿参数 GPT-3 在各数据集的评估分数;它们属于不同任务,不能把分数互相比较。
知识问答
自然问题
表现提升,不等于处处领先
在这两项任务里,增加示例都提高了分数。更广泛的实验显示,少样本能力会随模型规模提高,但并非每个任务都如此:论文在 SuperGLUE 的少样本测试中得到平均 71.8,低于其列出的微调方法最佳结果 89.0。两者训练条件不同,这组比较说明的是当时的能力差距,不能单独用来判定哪种方法总是更好。
04能力边界
读懂这项进展,也要看清它的边界
- 不擅长所有推理任务。论文中 WiC 的少样本准确率为 49.4%,约在随机水平;ANLI 等自然语言推断任务也仍困难。流畅的生成不保证理解了句子间的关系。
- 评测可能受到训练数据污染。预训练语料包含大量网页内容,可能与测试集重叠。作者的去重流程还出现过漏删问题,因此另做“干净子集”分析,并对有疑虑的结果作标记或不报告。
- 上下文适应不等于推理时重训练。论文无法明确区分:模型究竟学到了全新任务,还是识别了预训练中见过的相似模式。
- 生成质量与成本仍有限制。长文本可能重复或失去连贯性;大模型推理昂贵,也可能继承训练数据中的偏见。
最重要的变化,是把“告诉模型怎样做”从更新参数,部分转移到了组织输入文本。