随着语言模型变得越来越大(参数数量、使用的计算量和数据集大小都变大),它们的表现似乎也原来越好,这被称为自然语言的 Scaling Law。这一点已经在很多任务中被证明是正确的。
或许,也存在某些任务的结果会因模型规模的增加反而变得糟糕。这类任务被称为 Inverse Scaling,它们可以指示出训练数据或优化目标是否存在某种缺陷。
今年,纽约大学的几位研究者组织了一项较为另类的竞赛:寻找一些大模型不擅长的任务。在这些任务上,语言模型越大,性能反而越差。
为了鼓励大家参与识别 Inverse Scaling 任务,他们创立了 Inverse Scaling 奖,获奖的投稿任务将从 25 万美元的奖金池中获得奖励。发布该奖的专家会根据一系列标准对提交的内容进行评价:标准包括 Inverse Scaling 的强度、任务重要性、新颖性、任务覆盖率、可再现性和 Inverse Scaling 的通用性。
比赛共有两轮,第一轮截止时间是 2022 年 8 月 27 日,第二轮截止时间是 2022 年 10 月 27 日。两轮中的第一轮收到了 43 份提交,其中四项任务被授予三等奖,它们将被纳入最终的 Inverse Scaling 基准。
相关的研究成果,被谷歌的几位研究者总结在了一篇论文里:
论文链接:https://arxiv.org/pdf/2211.02011.pdf
这四项任务的 Inverse Scaling 应用在了三个语言模型,模型的参数跨越三个量级:Gopher(42M–280B)、Chinchilla(400M–70B)和 Anthropic internal model(13M–52B)。获得 Inverse Scaling 奖励的任务是 Negation QA、Hindsight Neglect、Quote Repetition 和 Redefine Math。相关任务示例如图 1 所示。
在论文中,作者对这四个任务的缩放表现进行了详细研究。
作者首先在 PaLM-540B 模型上进行评估,该模型的计算量是 Inverse Scaling 奖提交文件中的评估模型的 5 倍。有了 PaLM-540B 的对比,作者发现,四个任务中有三个表现出称之为 U 型缩放的特性:性能先是随着模型规模增大降到一定程度,然后随着模型的增大性能再次上升。
作者认为,当一项任务同时包含「true task」和「distractor task」时,会出现 U 型缩放。中等模型可能会执行「distractor task」,从而影响性能,而更大的模型可能会忽略「distractor task」并且能执行「true task」。作者对 U 型缩放的发现与 BIG-Bench 任务(如 TruthfulQA、识别数学定理)的结果一致。U 型缩放的含义是,Inverse Scaling 曲线可能不适用于更大的模型,因为性能可能会继续下降,也可能会开始上升。
接着,作者探索了 chain-of-thought(CoT)的 prompt 是否改变了这些任务的缩放。与不使用 CoT 的 prompt 相比,使用 CoT 的 prompt 会激励模型将任务分解为多个中间步骤。作者的实验表明,使用 CoT 让三个 U 型缩放任务中的两个变为了 Positive Scaling 曲线,其余任务从 Inverse Scaling 变成 Positive Scaling。使用 CoT 的 prompt 时,大型模型甚至在 Redefine Math. 中的两个任务和八个子任务中的七个任务上实现了 100% 的准确率。
结果表明,「Inverse Scaling」这一术语其实并不明确,因为对于一个 prompt,给定的任务可能是 Inverse Scaling,但对于不同的 prompt ,则可能是 Positive Scaling 也可能是 U 型缩放。
U-shaped scaling
在这一部分,作者分别使用原始论文中提出的 8B、62B 和 540B 的 Palm 模型,评估了 Palm 模型在四个 Inverse Scaling 奖的任务上的表现,还包括 40B tokens 训练得到的 1B 模型(其计算量约为 0.2 zettaFLOP)。单个 Palm-540B 的参数大约是 Inverse Scaling 奖中评估的最大模型 (Gopher-280B) 的两倍,计算量约为 2.5K zettaFLOP,而 Chinchilla-70B 的计算量仅有 560 zettaFLOP。
作者在遵循 Inverse Scaling 奖的默认设置之外,也做了小的修改,比如使用 free-form generation(其后紧接着是精确的字符串匹配,而非排名分类),后者比较了 Prompt 的两个可能延续的概率。作者同时对 Prompt 进行了小的修改以适应 free-form generation,即所有 Prompt 都至少是单次的,输入 prompt 中提供了答案选项,prompt 让模型输出「the answer is」。
具体形式如图 1 所示。作者认为这是合理的,因为这种形式与最近研究 prompt 的工作是一致的,之前评估的模型和 PaLM 8B/62B 之间的经验表现相似(作者在本文中使用的所有 prompt 都是可用的。)
图 2 展示了 Palm、Anthropic、Gopher、Chinchilla 在四个任务上的结果:
- 在 Negation QA 任务上,Palm-62B 的准确率同 Palm-8B 模型相比大幅下降,而 Palm-540B 模型的准确率又有所提高;
- 在 Hindsight Neglect 任务上,Palm-8B 和 Palm-62B 的准确率下降到远低于随机数的水平,但 Palm-540B 的准确率却达到了 100%;
- 在 Quote Repetition 任务上,准确率从 Palm-8B 的 86% 下降到 Palm-62B 的 81%,但 Palm-540B 的准确率却达到了 100%。事实上,在 Quote Repetition 任务中,Gopher 和 Chinchilla 模型已经显示出 U 型缩放的迹象。
这四项任务中的例外是 Redefine Math,因为即使是 Palm-540B,它也没有显示任何 U 型缩放的迹象。因此,对于目前存在的大模型,还不清楚这项任务是否会变成 U 型缩放。或者它是否真的会是 Inverse Scaling 呢?
对于 U 型缩放的一个问题是:为什么性能会先下降后又上升?
作者给出一个推测假设:即每个 Inverse Scaling 奖中的任务可以分解为两个任务 (1)「true task」和(2)影响性能的「distractor task」。由于小模型不能完成这两个任务,只能达到随机准确度附近的性能。中等模型可能会执行「distractor task」,这会导致性能下降。大型模型能够忽略分「distractor task」,执行「true task」让性能的提高,并有可能解决任务。
图 5 展示了潜在的「distractor task」。虽然可以仅在「distractor task」上测试模型的性能,但这是一个不完美的消融实验,因为「distractor task」和「true task」不仅可能相互竞争,而且可能对性能产生联合影响。接下来作者进一步解释为什么会出现 U 型缩放以及未来需做的工作。
CoT prompt 对 Inverse Scaling 的影响
接下来,作者探索了使用不同类型 prompt 时,Inverse Scaling 奖的 4 个任务的缩放是如何变化的。虽然 Inverse Scaling 奖的发起者使用了基本的 prompt 策略,即在指令中包括少样本, chain-of-thought(CoT)激励模型在给出最终答案之前输出中间步骤,这可以在多步骤推理任务中大幅提高性能。即没有 CoT 的 prompt 是模型能力的下限。对于某些任务,CoT 的 prompt 能更好代表模型的最佳性能。
图 3 的上半部分是 CoT 的 prompt 示例,下半部分是 Negation QA、Hindsight Neglect、Quote Repetition 在有 CoT 的 prompt 情况下的表现。
对于 Negation QA 和 Hindsight Neglect,CoT 的 prompt 使缩放曲线从 U 型变为正向的。对于 Quote Repetition,CoT 的 prompt 仍呈显 U 型曲线,尽管 Palm-8B 和 Palm-62B 的性能明显更好,并且 Palm-540B 准确率达到 100%。
图 4 展示了 Redefine Math 在有 CoT 的 prompt 情况下的结果。该任务实际上由 8 个子任务组成,每个子任务都有不同的指令,因此作者还按子任务对性能进行了划分,以探索子任务是否具有相同的缩放行为。总之,CoT 的 prompt 对所有子任务都显示出 Positive Scaling,8 个子任务中有 7 个在 Palm-62B 和 Palm-540B 模型上实现了 100% 的准确率。但是对于「+ as digit」和「+ as random number」子任务,就算使用 Palm-540B,也显示出明显的 Inverse Scaling 曲线。
综上所述,所有被研究的任务和子任务,在使用 CoT 的 prompt 时都呈现出 U 型缩放或 Positive Scaling。这并不意味着 no-CoT 的 prompt 结果是无效的,相反它通过强调任务的缩放曲线如何根据使用的 prompt 类型而不同,提供了额外的细微差别。即同一任务对于一种类型的 prompt 可以具有 Inverse Scaling 曲线,而对于另一种类型的 prompt 就可能具有 U 型缩放或 Positive Scaling。因此「inverse scaling task」这一术语没有明确的定义。