最近,语言模型在各种任务中展现出的令人印象深刻的性能表现,表明它们具备一定程度的抽象推理能力。这些能力是通用且 可转移的,还是专门用于预训练期间接触到的特定任务?为了解开这些效应,本提出了一种基于"反事实"任务变体的评估框架,这些变体偏离了标准任务的默认假设。在11个任务的一系列测试中,观察到对于反事实变体的表现具有一定的非平凡性,但与默认条件相比,性能明显而一致地下降。这表明,尽管当前的语言模型在一定程度上具备抽象任务解决能力,但它们通常也依赖于狭窄的、不可转移的任务解决程序。这些结果使得更加谨慎地解释语言模型的性能,并将这些行为方面区分开来。
语言模型的抽象推理能力是指它可以根据已有的语言知识,快速推断出新的语言表达形式,并且这种能力是可以应用到不同的语言中的。换句话说,它具备一个普适的抽象推理能力,可以跨越不同的语言,帮助人们更快地学习和理解新的语言知识。
语言模型(LMs)令人瞩目的实证成功表明,在大规模文本语料库中进行下一个词预测可能是一种将知识提炼成通用交互式代理的可行方法。LMs在各种自然语言处理基准测试中取得了令人印象深刻的结果,并展示出令人惊讶的能力,表明它们对世界具有非平凡的理解能力。已经证明它们能够通过专业考试,在许多传统基准测试中超越最先进的方法,并在需要看似非平凡的推理的任务上超过人类的表现。
Non-trivial understanding指的是不平凡的、有意义的理解。在这里,指的是语言模型展现出的令人惊讶的能力,表明它不仅仅是简单地记忆和应用语言知识,而是具备对世界的深刻理解。
理想情况下,人们期望通用LM不仅能够推广到已知任务的未见实例,还可以适应新任务。例如,人类可以将他们的知识转移到新实例,并灵活适应新任务。当前的LMs的表现在多大程度上来自于它们部署任务通用的推理能力(而不是识别和回忆在预训练中经常遇到的特定任务的能力)?
过去的工作主要关注 实例级的泛化,但这往往会受到数据污染问题的影响。在这项工作中,对LMs对新任务变体的泛化能力感兴趣,而这方面对于LMs的研究还不够系统。
实例级的泛化指的是将已有的具体实例应用到新的情境中。在语言模型中,它可以通过学习已有的语言表达方式,并将其应用到新的句子中,达到语言的泛化能力。这种能力也可以帮助语言模型更好地理解和应用语言规则。
本文提出通过对LMs在表现良好的任务上进行条件或规则的修改,来衡量这种任务级别的泛化能力。这些任务在新条件下的一般推理过程与默认条件下相同,但具体的输入-输出映射发生变化。将这些新任务称为反事实任务,因为它们偏离了这些任务的默认假设条件。图1显示了一些示例:在左上方,使用默认的十进制进行算术运算,而反事实的算术运算则在九进制下进行。如果模型实现了一种通用且可转移的任务解决程序,预期在反事实和默认任务上会有类似的表现;如果它们采用针对默认任务条件量身定制的程序,预期反事实的表现会下降。
设计了一套包含11个反事实评估任务的套件,以衡量LMs对不同类别和领域中新任务变体的适应能力,如图1所示。在每个任务中,原始任务在默认条件下和其反事实变体共享相同的推理过程,但在输入-输出映射上有所不同。考虑到传统的自然语言处理任务,如演绎推理,非语言任务(尽管常常被评估),如代码生成,以及非标准任务,如绘图和空间推理。后者测试了LMs是否能够学习反映非语言世界结构的概念结构,这是最近的研究所提出的。
本文评估了GPT-4、GPT-3.5、Claude和PaLM-2在默认条件和反事实条件下的任务表现。观察到大多数任务在反事实情况下表现优于随机水平,表明存在一定程度的任务泛化能力。然而,它们在反事实任务变体上的表现相对于默认设置下的表现持续而显著地下降。这表明,这些模型在这些任务上的能力至少部分支持于非可转移的、特定于默认条件的行为,而不是抽象的、可泛化的推理能力。
这些结果还揭示了默认任务和反事实任务之间的一些令人惊讶的关系(第5章),包括默认和反事实表现之间的相关性,零样本思维链提示的有效性以及任务和实例级频率效应之间的相互作用。总体而言,发现对默认任务进行微小变化对模型来说是具有挑战性的,因此现有LMs的成功不应完全归因于对目标任务的完全通用能力
将每个任务非正式地概念化为一个函数 f w : X → Y f_w:X→Y fw:X→Y,它将 输入 x ∈ X x∈X x∈X在世界模型 w ∈ W w∈W w∈W下映射到输出 y ∈ Y y∈Y y∈Y。
世界模型封装了函数评估发生的条件。例如,在Python编程中,w可以指定Python的假设,如索引和运算符优先级;在算术中,w可以表示进行算术运算所需的条件集,如数字基数。将包括但不限于基数为10的默认条件集称为默认世界或 w d e f a u l t w^{default} wdefault。直观地说,对于任何任务, w d e f a u l t w^{default} wdefault对应于文本语料库中大多数任务实例的底层条件集合。
数字基数是指进行算术运算时所使用的数字系统的基数,比如十进制的基数为10,二进制的基数为2。
传统的机器学习模型评估通过从总体分布 D f w D_{fw} Dfw中独立采样训练和测试集,并且只将模型暴露给训练集来学习 h h h,以评估模型学习的假设 h h h与 f w f_w fw之间的接近程度。然而,在网络文本抓取的数据集中,这些评估可能存在潜在的数据污染问题。在最近的LM中,这些问题可能更加严重:不断增长的预训练数据集可能使模型暴露于更多的评估实例,最近LM规模的增大使其更能够记住这些实例。
因此,考虑另一个泛化的维度;泛化到反事实世界 w c f w^{cf} wcf的新任务变体,而不是新的输入 x x x。这使得能够衡量模型的 f w d e f a u l t f_w^{default} fwdefault性能在多大程度上特定于 w d e f a u l t w^{default} wdefault或可归因于任务 f f f的一般实现。
对于算术,一个可能的 w c f (反事实世界) w^{cf}(反事实世界) wcf(反事实世界)可能与 w d e f a u l t w^{default} wdefault相同,如果不是假设基数不同于十进制。期望具有一般算术能力的模型在其他基数下表现类似。
注意,目标不是找到完全超出人类经验范围的反事实世界模型。例如,基数为9的加法并不是一个新颖的概念。也不打算保证反事实世界模型在预训练语料库中没有被观察到。相反,反事实仅仅被定义为任务默认条件的变化。
具体而言,使用零样本提示来评估LM的任务性能。在提示中指定任务 f f f、测试实例 x x x和世界模型 w w w,解析LM的输出,并将其与真实标签进行比较。将LM对于给定实例 x x x的 f w f_w fw的实现表示为:
其中arg max是通过近似解码过程计算的, p r o m p t f prompt_f promptf和 p r o m p t w prompt_w promptw是描述任务和世界模型的提示模板。对于每个任务,设计了一个或多个与默认世界(即默认任务条件)不同的 w c f w^{cf} wcf。通过任务特定的指标评估 h ( f , w d e f a u l t , x ) h(f, w^{default}, x) h(f,wdefault,x)和 h ( f , w c f , x ) h(f, w^{cf}, x) h(f,wcf,x)。如果控制 f w ( x ) f_w(x) fw(x)在 w d e f a u l t w^{default} wdefault和 w c f w^{cf} wcf下都同样困难,可以将性能差异归因于LM过度拟合任务的默认实例化。
一个潜在的混淆因素是语言模型可能在特定的反事实任务上失败,因为它未能理解指定反事实条件的提示组件,即 p r o m p t w ( w c f ) prompt_w(w^{cf}) promptw(wcf)。也就是说,语言模型可能仍然在默认世界 w d e f a u l t w^{default} wdefault中进行推理,并完全忽略指令。虽然这仍然是语言模型的失败,但不一定代表无法执行反事实任务变体。为了解决这个问题,设计了任务特定的反事实理解检测(CCC),测试语言模型对指定反事实世界的表面理解能力。
对于每对(默认,反事实)任务,引入另一个控制任务 g w g_w gw,其输入为 x ′ x' x′,输出为 y ′ y' y′,比 f w f_w fw简单得多,但仍然能够区分 w d e f a u l t w^{default} wdefault和 w c f w^{cf} wcf(即 g w c f ( x ′ ) ≠ g w d e f a u l t ( x ′ ) ) g_w^{cf}(x') ≠ g_w^{default}(x')) gwcf(x′)=gwdefault(x′))。如果 P L M ( y ′ ∣ p r o m p t g ( g , x ′ ) , p r o m p t w ( w c f ) ) P_{LM}(y'|prompt_g(g, x'), prompt_w(w^{cf})) PLM(y′∣promptg(g,x′),promptw(wcf))的性能很高,就表明 p r o m p t w prompt_w promptw在使语言模型在 w c f w^{cf} wcf中执行任务方面是有效的。在算术示例中,对于一个9进制的反事实世界,使用相同的 p r o m p t w ( b a s e − 9 ) prompt_w(base-9) promptw(base−9)来指定反事实世界,并通过询问 x ′ x' x′之后的下一个整数来检查它是否有助于理解 w = b a s e − 9 w = base-9 w=base−9。例如,如果它始终传递大于8的数字并且否则不传递,这将显示出 p r o m p t w ( b a s e − 9 ) prompt_w(base-9) promptw(base−9)的有效性。CCC设计是启发式的:与探测文献中的控制任务一样,依靠直觉来设计一个比 f w f_w fw“简单”的 g w g_w gw。
在本节中,对考虑的任务进行了简要概述。有关每个任务的完整描述,请参见第A节,有关使用的所有提示,请参见第B节。
现代语言模型已被证明具有基本的数值推理能力,即使是GPT-3在两位数加法方面也报告了近乎完美的准确性。另一方面,Razeghi等(2022)发现,语言模型在涉及在预训练数据中更频繁出现的数字的运算中表现更好,而Li等(2023d)则表明符号替换会影响BERT等模型的数学能力;这两个发现都指向了过度拟合和记忆效应。考虑了与Brown等(2020)中最简单的两位数加法任务相同的任务,但检查了模型在不同进制下的准确性。使用基于8、9、11和16的计数法作为反事实设置,这些基数是基于10进制算术的自然推广。选择这些基数是为了控制任务的难度(请参见第7.1节进行讨论),并且还测试相对不常见的(9和11)和常见的(8和16)基数对性能的影响(请参见第5.1节进行分析)。为了确保模型理解不同的基数,CCC在每个基数下评估后继关系。
即使没有明确在大量代码上进行预训练,语言模型已被发现具有不错的编码能力。在最近的语言模型中,将大量代码语料库包含在预训练中进一步提高了这种能力,ChatGPT有时在错误修复方面表现优于最先进的方法。然而,有研究表明,GPT-3和相关模型在程序中的标识符交换下是脆弱的,这表明这些模型可能只具有对代码的浅层理解。
在这里,通过更深入的反事实扰动来检查语言模型的编程能力:与Python中的传统基于0的索引相反,指示语言模型在一种虚构的语言ThonPy下评估或生成程序,该语言使用基于1的索引,但在其他方面与Python相同。基于1的索引是其他编程语言(如MATLAB和R)的常见假设,因此提供了一个公平的测试平台。使用HumanEval数据集来评估语言模型的性能。CCC在这里涉及相同的程序执行任务,但输入要简单得多,例如简单的列表索引,不涉及更深层次的推理。
研究者区分了语言模型的两种能力:
虽然在本文中研究的其他任务评估了模型的功能能力,但也包括对形式能力的评估。通过考虑一个元语言任务重新审视了语言模型的已知句法知识,这个任务是在英语的主谓宾(SVO)语序之外的不同语序的合成版本中评估语言模型。要求语言模型在原始顺序和反事实顺序下识别一个句子的主语和谓语,其中后者是通过操纵依赖树获得的。CCC要求模型将简单的重新排序的句子恢复到原始的SVO顺序,相当于在句子中识别这些元素。
接下来,考虑一个基于自然语言的演绎推理任务。逻辑推理是许多复杂任务的先决能力,并且是最近许多研究的重点。然而,语言模型在处理与常识不一致的前提时存在困难。在这里,从反事实分析的角度进行了类似的研究,以分离常识的影响和模型的实际逻辑推理能力。按照先前的工作,以蕴涵的格式进行评估,并询问语言模型一系列前提是否蕴涵一个结论。用FOLIO数据集,其中大多数前提与常识一致,并手动重写它们以违反常识。研究语言模型的性能是否受到其操作的前提的真实性的影响。CCC直接询问模型在两者都作为选项提供时,原始前提还是修改后的前提是真实的。
关于语言模型的一个重要争议是,是否可以仅从形式中学习到有意义的基于场景的意义表示。研究表明,语言模型可以通过仅使用文本训练来学习有意义的世界表示。特别是,Patel和Pavlick(2022)发现,语言模型可以学习到与基于场景的概念空间相对应的基数方向的表示,这可以通过少量示范进行对齐。
类似地研究了对基数方向的理解,但与其评估模型是否能诱导结构化的概念空间,我们询问模型是否能够将概念空间应用于推理物体的位置。具体而言,要求语言模型根据使用基数方向描述位置的物体的坐标,在传统的二维坐标系(例如,东对应于(1, 0))和交换、旋转和随机排列轴的坐标系下进行推理。期望一个健壮的表示对这些转换不敏感。CCC涉及要求模型直接输出反事实的基数方向。
尽管只在文本数据上进行训练,但已经证明语言模型能够以可信地方式结构化感知概念(如大小和颜色)的表示,这种表示方式可与物理世界相对应。最近的语言模型甚至可以使用TikZ和SVG等代码生成可信的对象绘图。通过要求语言模型生成Processing语言中绘制各种对象的代码来评估其对视觉的理解能力。心理学研究表明,人类有能力旋转对象的心理表示。对于反事实设置,类似地要求语言模型生成绘制相同对象但旋转或垂直翻转的代码。为了防止使用rotate等函数的捷径解决方案(详见第7.2节进一步讨论),禁止使用这些函数。与空间推理任务(第3.5节)一样,理想的模型应该对这些设置具有鲁棒性。对于CCC,要求模型在画布的顶部画一条直线,除了绘制对象;因此,翻转/旋转的线条表示对转换的理解。
最近的研究显示,大规模模型在音乐填充方面具有潜力。研究人员表明,即使是一个仅具有文本的语言模型,没有音乐特定的预训练,也具有一些音乐能力,包括理解音乐结构和操纵旋律。通过两个任务来调查语言模型的音乐能力的程度。
在和弦摆放任务中,评估语言模型是否能够为标准或改变弦音调的弦乐器提供正确的和弦按位。改变音调的调整称为scordatura,在音乐中很常见,用于唤起特定的声音或效果(例如,在金属音乐中实现更重、更深的声音)。使用一个现有的数据库来评估语言模型,该数据库包括吉他和尤克里里的和弦。在反事实设置中,要求语言模型为一个特殊的吉他/尤克里里提供按位,其中一个或两个弦被改变。对于吉他,包括了降D调音,这是一种流行的替代吉他调音,可以用来探究反事实调音的频率是否会影响结果(见第5.1节)。为了检查模型是否理解了音调,要求模型给出每根弦(包括开放弦)上的前三个音符作为CCC。
在音符检索任务中,评估语言模型是否能够从著名的旋律中检索音符(例如,“Twinkle Twinkle Little Star”)。在音乐中,将旋律改写为不同的调式,称为“移调”,是常见的操作(例如,为了适应不同歌手或乐器的音域)。通过提示语言模型在旋律中检索第n个音符,要求它们在旋律的原始调式(默认设置)或不同的调式(反事实设置)下检索。要求语言模型以CCC的形式给出给定调式的第n个音符的音阶。
国际象棋长期以来一直被视为人工智能的测试平台,现代语言模型展示了一些暗示它们理解国际象棋规则的能力。通过询问语言模型一个4步开局的合法性来测试它们对国际象棋规则的理解。
在反事实设置中,交换马和象的初始位置,这是现实世界中的一种国际象棋变种“Chess 960”的设置,并类似地询问语言模型在这种新的起始配置下的开局合法性。要求语言模型给出马和象的起始位置作为CCC。
SET是一种流行的纸牌游戏,每张牌都有4个属性,每个属性有3个不同的取值:
• 颜色:(红色,蓝色,绿色)
• 形状:(钻石,椭圆,曲线)
• 阴影:(实心,阴影,空心)
• 数字:(1,2,3)
在每一轮中,玩家需要在一个由12张牌组成的牌局中找到3张符合以下条件的牌,即每个属性的取值要么全部相同,要么全部不同。这个游戏在计算机科学领域得到了广泛研究,涉及编码理论和组合数学、线性代数和复杂性理论。这种游戏的流行可能使得语言模型容易出现过拟合的问题,对这种可能性进行了调查。要求语言模型在一个给定的牌局中找出与两张已知牌组成3张符合条件的SET的牌。在反事实设置中,改变数字属性的规则,要求其取值是混合的,换句话说,既不完全相同也不完全不同。对于CCC,要求模型判断在原始规则和反事实规则下SET的有效性。
现在研究多种因素如何影响我们在§4中观察到的默认和反事实表现趋势。除非另有说明,只考虑具有0-shot CoT的GPT-4,这在上面的结果中表现最强。
反事实世界并不是为了完全与LMs不同而设计的,而只是比假定的默认情况更不常见。从这个意义上说,这些世界的反事实性是相对的,这里更深入地研究了这些反事实条件的普遍性如何影响默认-反事实表现差距。例如,在算术任务中,所有模型在8进制和16进制的表现都更好,这可能是因为它们相对于9进制和11进制来说更常见。在空间推理中,通常最小的反事实表现下降是当北和南方向被交换时——甚至超过了PaLM-2的默认任务表现——这可能是因为一些编程库使用了反转的y轴,比如matplotlib(Python)、ggplot(R)和D3(JavaScript)(见§A.5)。对于和弦指法来说,常用的替代的降调D调吉他导致了最高的反事实表现。这些反事实表现和反事实世界的普遍性之间的相关性描绘了一个比二元的默认与反事实区别更细致的画面,并且指向了一个记忆效应,即模型在更常见的条件下表现更好。
另一个影响反事实世界的因素是它们与默认条件的接近程度。例如,在不同的算术基数中,9进制和11进制更接近10进制,但比8进制和16进制更不常见。虽然在算术任务中,默认-反事实差距受普遍性的影响最大,但是对于吉他和尤克里里的调弦(除了降调D调之外),LM的表现通常会随着与原始调弦的距离单调下降。FOLIO数据集使得另一种分析接近默认条件如何影响模型表现的方法成为可能,而无需进行反事实扰动。这个数据集主要遵循常识,即包含在现实世界中被认为是真实的前提和结论。然而,这并不总是正确的,比如前提“John可以做出在派对上受欢迎的餐点”,其中的真实性无法单独确定。通过训练一个预测模型来评估描述前提世界状态和LM信念状态之间距离的特征对LM表现的影响。对于每个测试实例,询问LM前提和结论是否为真、假或不确定。训练一个逻辑回归模型来预测每个测试实例上的LM正确性,使用的特征包括输入中的前提总数、前提中为真/假/不确定的比例(由LM编码)、以及LM预测的结论真实性是否与实例的标签相匹配(即一个特征,可以从结论的真实性预测实例的包含/中立/矛盾标签,忽略前提)。图5显示了这些特征的学习系数,以及它们的95%置信区间bootstrap(1,000次迭代)。理想情况下,一个强健的模型应该仅基于符号推断来预测,而超语言真实性信息不应该影响它的准确性。换句话说,这些特征的系数应该都为0,并且对于模型的正确性没有任何预测能力。然而,所有的LM都会在有更真实(真实)的前提时更正确地预测,以及当结论的LM预测的真实性与标签相匹配时。另一方面,当有更多错误或不确定的前提时,它们往往表现更差。其中大多数趋势都是显著的。这意味着LM的推理能力受到了真实世界(由LMs所信仰的)与推理所需的世界状态之间的距离的影响。
总的来说,这些结果表明,在接近任务的默认实例化的任务变体上,LM的表现往往更好。
回顾我们在§2中的形式化表示hLM(f, w, x),前两小节分析了w的普遍性和与默认w的接近程度如何影响观察到的模式。现在我们探讨如何通过改变这个形式化表示中的另外三个元素:任务f、输入x和LM来比较反事实表现与默认任务表现的相关性。我们首先考虑不同的任务变体。对于算术,除了2位数加法,我们还测量了GPT-4的3位数和4位数加法表现(图4a)。对于从旋律中检索音符,我们使用询问音符的索引作为难度的代理(图4b)。对于SET,虽然我们原来的任务是展示两张卡片,并要求模型从3张卡片SET中找到缺失的一张,但我们将任务改为只展示一张或没有一张卡片,并仍要求模型在一个棋盘上识别出SET(图4c)。对于所有这些任务变体,我们都看到了原始任务与反事实世界表现之间的强相关性。当我们按测试实例分解结果时,我们也看到了这种效果。在图4d中,我们分离了不同的和弦类型,并观察到默认任务表现与反事实表现之间的相关性。类似地,重新审视我们图2和3的主要结果,对于大多数任务来说,在默认条件下更强的模型也是在反事实条件下更强的模型,反之亦然。总的来说,这些相关性意味着默认任务表现可以很好地预测其反事实表现,因此我们不应该忽视传统评估的效用。此外,尽管我们有证据表明LM对默认任务条件的过拟合,但这些相关性也表明,在默认和反事实世界之间存在一定程度的可转移的推理能力。这凸显了我们标题中的问题,“推理还是背诵?”,并不是一种二元对立关系,而是可以共存于一个连续的范围内。例如,重新审视算术结果,当有更多位数时(图4a),除了默认-反事实相关性,我们还可以看到记忆效应的影响:基于10进制的表现下降的速度比其他进制慢得多。当输入-输出映射被记忆时,增加的复杂性不会对默认任务的准确性产生太大的影响;但是当反事实实例没有被记忆时,任务复杂性应当与模型表现成反相关。偶尔,这种默认-反事实相关性的趋势会发生反转。例如,在空间推理任务中,GPT-4在默认条件下实现了最佳的0-shot CoT准确率,但也遭受了最大的反事实表现下降。PaLM-2在默认条件下表现更差,但对反事实扰动最稳健。一个明显的可能解释是,这些模型可能训练于不同的数据,因此熟悉不同的条件。然而,麦肯齐等人(2023年)发现了类似的趋势,但是针对预训练的FLOP进行了称为“反向缩放”的术语的讨论,他们还提供了基于记忆的解释:他们观察到,当一个任务与预训练文本相矛盾时,就像我们的反事实条件与预训练中的默认条件偏离一样,更大的LM更容易依赖于预训练文本,并且反过来,在矛盾任务上失败。
与先前的发现一致(Chen等,2022年;Dasgupta等,2022年;等),我们通常观察到0-shot CoT在大多数情况下都是有益的。然而,也有例外情况。例如,0-shot CoT会大大损害PaLM-2在10进制和16进制下的加法表现,并且一贯降低GPT-4和GPT-3.5在默认音调下的弹奏和弦表现。这可能是由于模型实用地推断出一个任务比实际更困难,当明确要求“一步一步地思考”时,这种对简单任务的“过度思考”可能会导致错误(Kojima等,2023年)。也有可能是由于记忆:模型可能已经记忆了任务的特定输入-输出映射,而没有理解如何从输入中推导出输出,当明确指示要拼写这个过程时,它会产生更多的错误(Zhang等,2023b)。
我们研究使用上下文学习(Brown等,2020年)的额外示范示例是否能弥合默认-反事实差距。对于算术任务,我们构建了少量示范CoT提示(Nye等,2021年;Wei等,2022年),并在前面添加了最多16个示例。如图6所示,尽管差距有所缩小,但对于9进制、11进制和16进制来说仍然很大。此外,随着示范数量的增加,准确率的提高趋于16-shot的平稳,这表明通过简单地添加更多的示范(至少对于算术来说)是不可能消除默认-反事实差距的。
我们对绘图任务进行了定性错误分析,并在图7中展示了一些例子。我们首先注意到,GPT-4在这些情况下成功地通过了CCC的测试(见§3.6;但此处未显示),表明它理解了翻转/旋转的指令。然而,反事实世界中的对象通常没有被翻转或旋转。即使它们被适当地转换,结果绘图也经常被简化或质量更差(例如,独角兽、蛋糕)。我们还观察到,对于GPT-3.5,反事实情况下的语法无效程序要多得多。这些结果表明,即使一个模型可以在反事实的设置中执行任务,它的能力也会受到影响。