否定提示逆缩放:GPT-3 越大越差,正反均值约50%

Can Large Language Models Truly Understand Prompts? A Case Study with Negated Prompts

Joel Jang, Seonghyeon Ye, Minjoon Seo

cs.CL

2022-09-26

把九项任务的提示改成否定后,OPT与GPT-3越大越差,正反平均约50%,最好方法仍比13岁人类低约31.3%。

这篇在解决什么

零样本(zero-shot,不给示例、只靠一条提示)成绩随参数变大而上升,当时被当成 scaling law,也就是规模定律。测的是按提示把题做对。KAIST 把提示翻到反面,要求错误答案、不恰当结尾或不自然结局,看模型读不读得懂「不」。

否定词在预训练里少见。DALL-E-2 被要求不要画拿香蕉的猴子,出来的仍是那只猴子。COPA 里,「男人拧开水龙头」要一个不恰当结尾,GPT-3 仍选「水从喷口流出来」。

已有工作把 540B 模型直接当机器人的决策核心,中间不再训强化学习。分不清「做」和「别做」,动作会反着来。

方法

九个数据集,三类各三个。常识推理是 PIQA、ARC-Easy、COPA,句子补全是 HellaSwag、StoryCloze、Lambada,问答是 WebQuestions、Natural Questions、TriviaQA。提示来自 Promptsource,一套写好的数据集提示库,挑 OPT 已经做得动的句子,再手工反转极性词。同一批题跑两遍。

每个数据集 300 条,上限来自 OpenAI API 的费用。选项多于两个时,否定条件下多个选项算对,涉及 ARC-Easy、Lambada、HellaSwag。Lambada 的干扰项从原文随机抽词。问答题的错误选项取自训练集答案池,并避开测试集里已有的答案。

对照分四组。OPT 有九个尺寸,从 125M 到 175B。GPT-3 用 Ada、Babbage、Curie、Davinci,图里按 350M、1.3B、6.7B、175B 画。指令模型是 T0 的 3B 和 11B,再加上 InstructGPT。T0 在大量带提示的任务上做过多任务微调;InstructGPT 在 GPT-3 上继续训练,让输出贴着指令走。ICL 是把示例写进提示、参数不动,在 OPT 66B 上试了 2、4、8 个。微调只做 OPT 125M、350M 和 1.3B,数据用否定版提示,不足 1 万条就全用,多的截到 1 万,训 5 个 epoch,学习率 1e-3,取最后一次存档。

人类每类留一个任务:COPA、Lambada、Natural Questions。各 100 条,原提示和否定提示各 50,互不重叠,由三名 13 岁的人完成。评测前咨询了韩国国家人权委员会,并取得家长同意。

极性只改一两个词。原题变好的时候,否定题不该一起崩。

结果

GPT-3 在三类任务上都是 inverse scaling,也就是逆缩放:模型越大,否定提示越差,原提示越好。OPT 趋势相同,曲线在附录,正文没有逐数据集的分数。

原提示上多拿的分,差不多亏回否定提示。九个任务的正反平均贴成一条约 50% 的平线。意思相反的提示,输出停在同一侧。

T0 和 InstructGPT 对否定略好一些,好多少没有写。正反平均除了 GPT-3 175B 用上下文示例做问答,其余仍在约 50%。Lambada 上,这个 175B 模型放 8 个示例会超出 API 长度上限,这项空着。

上下文示例只在部分场景有效。否定提示上的微调是零和:否定题上升,原任务下降。最好方法的正反平均,仍比三名 13 岁人低约 31.3 个百分点。人类只测了三个任务。

设置指标结果
GPT-3(350M 到 175B)否定提示三类任务都随规模变差
同上原提示随规模变好
正反平均九个任务约 50%,基本是平线
T0、InstructGPT、多数 ICL 与微调正反平均约 50%;问答上 GPT-3 175B 的 ICL 除外
最好方法对三名 13 岁人正反平均低约 31.3 个百分点
否定数据微调(不超过 1.3B)原任务下降,与否定题的提升对冲

原因被写成猜想:语料偏肯定句,大模型把少见的 not 当笔误,越大越难用一个词翻面。另一种可能是,模型只在拟合条件概率。两套说法都没做实验。

为什么重要

「不要做某事」在这些模型上当不成可靠开关。放到 175B,肯定版指令只会更稳。InstructGPT 和 T0 为了泛化到新指令已经额外训练过,正反平均仍贴着 50%。

少样本示例补不全。小模型在否定数据上可以把否定题做对,原题随之下降,等于换边。微调停在 1.3B,原题掉了几个点也没有数字。

这是测量。极性一翻转,规模、指令训练和上下文示例仍距 13 岁人约 31 个百分点。声称学会了听话的对齐方法,得把这次翻转放进测试。

局限与存疑

猜想没有验证。没有数过肯定句和否定句各占多少,也没有改过这个比例再看逆缩放还在不在。

人类这边很窄:三个任务、各 100 条、三名 13 岁的人。31.3 个百分点不能当成大模型和成年人之间的普遍差距。300 条还受 API 费用限制。

实验窄于「理解提示」。否定多半是 correct 换成 incorrect,选项写在提示里。开放生成里的「别删这段」没有测,引言里的画猴子也没有数字。

约 50% 不全是一项独立能力。二选一若始终无视否定、两次选同一项,必然一对一错,平均靠近 50%,逆缩放就是原任务变好的镜像。多选项在否定时多个答案算对,随机基线更高,正文却不给拆开的两边分数,镜像有多严无法核对。

微调「各场景都有效」只做到 125M 至 1.3B。学习率固定 1e-3,一律 5 个 epoch,用的是最后一次存档。零和停留在定性说法。

术语

原文与代码

社区讨论

相关论文

全部论文解读