
大型语言模型容易被无关上下文分散注意力(ICLM) 原创
摘要
大型语言模型在各种自然语言处理任务中取得了令人瞩目的性能。然而,它们主要在所有输入上下文信息都与任务相关的情况下进行评估。在本研究中,我们探讨了大型语言模型的分心问题,即模型解决问题的准确性如何受到无关上下文的影响。具体而言,我们引入了带有无关上下文的小学数学(GSM-IC),这是一个包含无关信息的算术推理数据集。我们利用这一基准测试来衡量大型语言模型的最新提示技术,并发现当包含无关信息时,模型性能显著下降。我们还确定了几种缓解这一缺陷的方法,例如使用自洽性解码,以及在提示中添加指令,告知语言模型忽略无关信息。
1. 引言
提示大型语言模型在多个领域表现出色。然而,大多数评估基准中,问题描述中提供的所有信息都与问题的解决相关,类似于考试中的问题。这与现实世界的情况不同,现实世界中的问题通常带有多个上下文片段,这些上下文片段可能与我们想要解决的问题相关或不相关。我们必须在解决问题时识别哪些信息是必要的。心理学研究表明,无关信息会显著降低儿童甚至成人的问题解决准确性。
在本研究中,我们探讨了大型语言模型在不同提示技术下的分心问题,即无关上下文如何影响大型语言模型的提示效果,以及可以采用哪些策略来提高性能。为了衡量分心,我们构建了GSM-IC数据集,该数据集基于GSM8K生成,并引入了两个不同的指标。与以往通过替换基础问题的句子来生成基准变体的工作不同,我们保留了基础问题描述,并添加了一个无关句子,确保它不会影响问题的解决(见表1)。
我们使用GPT3模型系列中的Codex(code-davinci-002)和GPT-3.5(text-davinci-003)来评估GSM-IC上的最新提示技术,包括链式思考提示(COT; Wei等,2022)、零样本链式思考提示(0-COT; Kojima等,2022)、最少到最多提示(LTM; Zhou等,2022)和程序提示(PROGRAM; Chowdhery等,2022)。我们发现它们在GSM-IC上的表现远低于原始的GSM8K(不含无关上下文)。然后,我们研究了几种缓解这一弱点的方法,包括自洽性(Wang等,2022c)和在提示示例中添加无关信息。除了通过示例展示如何处理无关信息外,我们还研究了任务特定指令的使用(Wei等,2021; Sanh等,2021; Ouyang等,2022; Suzgun等,2022; Chung等,2022),在示例前添加指令句“请随意忽略问题描述中的无关信息”。我们总结了以下关键发现:
1. 所有调查的提示技术都对问题描述中的无关信息敏感。特别是,在基线提示可以解决的原始问题中,当添加少量无关信息时,不超过18%的问题能够一致解决,这表明大型语言模型容易分心,并在添加无关信息时产生不一致的预测。
2. 自洽性提高了所有提示技术在GSM-IC上的性能。特别是,GSM-IC的正确答案的召回率高达99.7%,即在20个样本中至少有一个解决方案得出正确最终答案,这意味着使用多个样本允许模型几乎总是检索到正确答案。
3. 在提示中添加无关信息始终能提高性能,同样,添加忽略无关上下文的指令也是如此。这表明语言模型在一定程度上可以通过遵循示例或指令来学习忽略无关信息。
4. 我们确定了无关信息的不同因素,这些因素影响模型对无关上下文的敏感性。我们的细分分析表明,改变无关信息中的数字不会显著改变模型性能,而与原始问题描述的词汇重叠程度则有影响。
过滤无关信息对于处理现实世界任务至关重要。我们的评估表明,尽管在解决具有挑战性的推理问题上表现出色,但最新的语言模型在上下文理解和从输入中识别相关信息方面仍有根本性的弱点。我们的发现表明,为了更全面地理解语言模型的推理能力,未来的工作除了解决更具挑战性的问题外,还应考虑模型对无关上下文的敏感性。
2. 相关工作
少样本提示。 少样本提示(Brown等,2020; Chowdhery等,2022等)通过各种技术得到了显著提升,包括生成中间步骤(Ling等,2017; Cobbe等,2021; Nye等,2021; Wei等,2022; Suzgun等,2022; Shi等,2022b等)、问题分解(Zhou等,2022; Drozdov等,2022; Dohan等,2022; Khot等,2022; Press等,2022等)、生成程序(Austin等,2021; Chowdhery等,2022; Gao等,2022; Chen等,2022等)、对共享相同结果的中间步骤进行边缘化(Wang等,2022c; Shi等,2022a)和集成(Wang等,2022b; Drozdov等,2022)。此外,Kojima等(2022)证明,适当的提示提示即使没有示例也能取得不错的性能。在本研究中,我们检查了这些最新的提示技术(Wei等,2022; Zhou等,2022; Kojima等,2022; Wang等,2022c)在我们的基准测试上的表现,并证明它们对无关输入上下文敏感。
带有输入扰动的自然语言基准。 有关自然语言任务的输入扰动的长期工作包括模型无关的输入变换(Liang等,2022; Ravichander等,2022等)和针对单个模型的对抗样本生成(Jia & Liang,2017; Shi等,2018; Morris等,2020; Wang等,2021)。特别是,先前的工作通过从干净数据集中改写基础问题的句子来构建算术推理基准(Patel等,2021; Kumar等,2021)。与此同时,Liang等(2022)在包括准确性、鲁棒性、公平性等方面的多个指标下评估了各种大型语言模型。具体来说,他们鲁棒性评估中的输入变换包括注入拼写错误和修改句子以改变真实类别标签等语义改变扰动。与上述工作不同,其中扰动可能会改变问题描述的含义,我们保留了原始问题描述中的所有句子,并引入了一个无关句子,确保它不会影响标准答案。
带有无关输入上下文的自然语言基准。 Jia & Liang(2017)表明,神经问答系统在很大程度上受到对抗性干扰句子的影响,而后续工作(Khashabi等,2017; Ni等,2019)提出了减轻这一问题的学习策略。类似的问题在事实推理(Kassner & Schütze,2020; Pandia & Ettinger,2021; Misra等,2023; Li等,2022)、代码生成(Jones & Steinhardt,2022)和句法泛化(Chaves & Richter,2021)等任务中的一般预训练语言模型中也被发现。特别是,Li等(2022)评估了带有少样本提示的T5(Raffel等,2020)和PaLM(Chowdhery等,2022),并提出了知识感知微调,通过在反事实和无关上下文中微调模型来增强模型对噪声上下文的鲁棒性。在我们的评估中,我们表明,即使没有训练或微调,通过在提示中添加无关上下文也能减轻底层语言模型的分心问题,并显著提高模型在我们的GSM-IC基准测试上的性能。
带有噪声真相的提示。 一系列工作研究了模型在带有错误提示示例的情况下表现,即示例问题是与错误答案配对的(Min等,2022; Kim等,2022)。此外,先前的工作研究了模型对提示其他部分的敏感性,例如带有误导性和无关指令的指令调整(Webson & Pavlick,2021)以及示例中的错误推理步骤(Madaan & Yazdanbakhsh,2022; Wang等,2022a)。特别是,Madaan & Yazdanbakhsh(2022)得出结论,链式思考提示中数字和方程的正确性并不在模型性能中起关键作用,但在推理步骤中使用错误实体或删除方程或文本解释会严重阻碍性能。与这条线的工作不同,我们始终在提示中包含正确答案的示例问题,并确保添加到问题描述中的无关上下文不会改变地面真相答案。我们表明,当问题描述中出现无关上下文时,模型性能显著下降,而无关上下文中数字和实体的不同分布也会导致不同程度的性能下降。
3. GSM-IC 数据集
在本节中,我们介绍GSM-IC数据集的创建过程(第3.1节)和评估指标(第3.2节)。
3.1. 数据集创建
我们从GSM8K训练集中随机选择1,000个问题作为开发集。为了构建我们的基础数据集,我们从这个开发集中选择100个问题,这些问题至少可以通过本文提到的一种提示技术正确解决;也就是说,我们的基础数据集是GSM8K的一个“简单”子集(见表2)。每个基础问题需要两到七个推理步骤来解决。在100个基础问题中,60个问题可以通过两个推理步骤解决。完整数据集统计信息见附录A。
然后,我们通过向每个基础问题添加一个包含无关信息的句子来生成新数据集的示例。我们使用基于模板的方法(见图1)来生成这些句子,这些句子的特征可以归纳为以下三个因素:
- 插入句子的话题。 我们为相关话题和无关话题的句子编写了模板。相关话题的句子与原问题的话题密切相关,而无关话题的句子则涉及不同的内容。
- 角色名称重叠。 大多数句子模板包含一些角色名称的空白,这些空白可以填入与原问题描述中的角色名称相同或不同的名称。对于与原角色名称重叠的空白,我们:(1)从原问题描述中随机选择一个角色名称A,并(2)使用类似“A的父亲”和“A的妹妹”的模板来创建空白。
- 数字范围。 由于我们关注的是算术推理,大多数句子模板还包含一个数字空白。我们可以选择用与原问题描述或解决方案中的数字相似或不同的数字来填充数字空白。具体来说,对于一个数字a,如果存在原问题描述或解决方案中的数字b,使得1/10≤a/b≤10,我们将其视为范围内的数字;否则,我们将其视为范围外的数字。由于GSM8K问题的标准答案都是正整数,我们只考虑正整数作为数字空白的填充。
我们手动验证了以下两点:(1)所有生成的句子在英语中都是可接受的,(2)添加这些句子不会影响基础问题的标准解决方案。由于上述因素是正交的,我们为每个基础示例生成了一组具有不同因素组合的派生示例。完整的GSM-IC基准测试包含58,052个示例。关于数据集创建过程的更多细节可以在附录A中找到。
3.2. 评估指标
对于一个问题p,我们用s(p)表示其标准解决方案,用M(p)表示方法M的解决方案。为了评估方法M的分心程度,我们考虑以下两个指标:
- 微精度(Micro Accuracy) Accmicro(M; P) 是方法M在所有测试问题P上的平均精度。
这意味着微精度将所有单个测试问题同等对待。
- 宏精度(Macro Accuracy) Accmacro(M; B) 是方法M在测试问题类上的平均精度,其中每个类P(b)由基础示例b ∈ B的所有测试示例组成。我们定义方法M对类P(b)的预测为正确,当且仅当M对类中的所有问题的预测都正确。
这意味着宏精度是基础问题中无论添加了什么无关句子都能一致解决的比率。
- 归一化精度 衡量方法受干扰因素影响的程度,考虑其在基础问题上的精度。对于方法M在微精度或宏精度上达到的精度aM,我们通过以下公式计算相应的归一化精度:
其中,nM表示方法M在基础问题上的精度(见表2)。
4. 调查的解决方案
在以下部分,我们回顾了调查的提示技术(第4.1节),介绍了我们的提示格式(第4.2节),并引入了指令式提示(第4.3节)。
4.1. 基础技术
- 链式思考提示(COT; Wei等,2022) 是一种引导语言模型以逐步方式解决问题的提示技术。通过在提示中展示带有中间推理步骤的示例,COT显著提高了推理性能,优于不带中间推理步骤的直接答案预测。
- 零样本链式思考提示(0-COT; Kojima等,2022) 是COT的一种变体,提示中不包含任何示例。相反,模型直接被呈现感兴趣的问题,后面跟着指令“让我们一步一步思考:”。
- 最少到最多提示(LTM; Zhou等,2022) 教授语言模型将问题分解为子问题,并使用COT依次解决这些子问题。最终答案是最后一个子问题的答案。
- 程序提示(PROGRAM; Chowdhery等,2022) 将算术推理过程表示为程序。根据先前在GSM8K问题中使用代码的工作(Chowdhery等,2022; Gao等,2022; Chen等,2022),我们在提示中包含了解决问题的Python程序,并使用外部Python解释器执行生成的Python代码以获得最终答案。
- 自洽性(SC; Wang等,2022c; Shi等,2022a) 可以通过考虑具有相同最终结果的多个推理步骤来进一步提高推理性能。实际上,SC可以通过(1)从大型语言模型中采样多个解决方案并(2)取多数投票来实现。注意,SC与上述技术正交,可以与任何技术结合使用。
4.2. 提示设计
我们展示了实验中使用的一些示例提示(见图2)。对于少样本提示技术(即COT、LTM和PROGRAM),输入提示在感兴趣的问题之前包含示例问题及其解决方案。为了保持简单并避免提示工程中的过拟合,我们遵循Zhou等(2022)的示例创建方法;也就是说,我们只使用一个简单的示例进行主要实验。这个示例要么基于[原始问题],要么基于[带有无关上下文的问题],这使我们能够调查提示示例中无关信息的影响。对于0-COT,我们遵循Kojima等(2022)的方法,直接呈现感兴趣的问题,后面跟着“A: 让我们一步一步思考:”。
图2.右侧所列技术的提示格式,这些格式由左侧的构建模块精心构建(彩色显示效果更佳)。通过在原始问题描述中添加一个无关的句子(斜体并下划线),我们得到了[带有无关上下文的问题],这可以作为右侧提示中[原始问题]的替代选项。在这些提示中,用括号突出显示的标识符(例如,[感兴趣的问题])将被相应构建模块的内容所替换。所有设置的提示格式详见附录C。
4.3. 指令式提示
除了在示例中呈现无关信息外,我们还调查了自然语言指令是否有助于语言模型忽略无关上下文,减少分心。扩展了包括在示例之前添加一般任务描述的工作(Suzgun等,2022; Sanh等,2021; Ouyang等,2022),我们在提示中的示例之前添加了句子“解决小学数学问题。请随意忽略问题中的无关信息。”,这明确指示语言模型忽略问题描述中的无关信息。
5. 实验
考虑到实验成本,我们从GSM-IC数据集中均匀采样了4,000个示例(记为GSM-IC-4K),用于整个论文的评估和分析。除非另有说明,我们主要在实验中使用code-davinci-002,并评估了经过RLHF训练以更好地遵循指令的text-davinci-003(Ouyang等,2022)。对于没有自洽性解码的实验,我们使用贪婪解码(即温度τ = 0);对于需要多个样本的自洽性实验,我们按照Wang等(2022c)的方法,使用温度τ = 0.7采样20个响应。
5.1. 主要结果在GSM-IC上
我们在GSM-IC-4K上比较了不同提示技术的性能(见表3),包括微精度和宏精度及其相应的归一化精度。总体而言,我们观察到所有提示技术在两个模型上的性能都有显著下降。宏精度的下降尤为显著,表明在添加干扰因素后,不到30%的基础问题能够一致解决。比较两个模型的结果,text-davinci-003在归一化微精度上优于code-davinci-002,尽管其宏精度大多更差。在图3中,我们展示了GSM-IC-4K中的一个示例,其中单个无关句子在调查的提示技术中引发了不同类型的错误。一个常见的错误类型是错误地使用了无关句子中的数字,如LTM预测和其他附录B中的示例所示。即使模型没有直接使用无关数字进行数值计算,无关句子仅出现在推理步骤中也会导致错误预测,如COT预测所示。
表 3. GSM-IC-4K 数据集上的微观准确率(Micro Accuracy)和宏观准确率(Macro Accuracy)(×100 表示百分比)。SC 表示自一致性(self-consistency)。Norm 表示通过已解决的基础问题比例(表 2)归一化的总体准确率,这是衡量模型针对无关信息鲁棒性的一项指标。对于 text-davinci-003 模型,使用链式思维(COT)的基础问题准确率为 80.0,使用逐步解决法(LTM)的基础问题准确率为 81.0。在每一部分中(即使用 code-davinci-002 或 text-davinci-003,是否使用带有无关上下文的示例,或是否应用自一致性),每列的最佳结果以加粗字体表示。
图 3. 使用不同提示技术的示例问题及其对应输出(彩色查看效果最佳)。原始问题的 COT 答案用绿色高亮表示。新增的无关句子用红色高亮并采用斜体显示,这些无关信息导致了所有提示技术产生不同的错误,这些错误用黄色高亮表示。更多模型预测的示例可以在附录 B 中找到。
在表3中,我们总结了不同提示技术在GSM-IC-4K数据集上的微精度和宏精度。LTM在所有子类别中表现最为稳健。使用code-davinci-002时,LTM的宏精度约为COT的两倍。然而,使用text-davinci-003时,尽管LTM在微精度上优于COT,但其宏精度较低。具体而言,text-davinci-003对角色重叠的无关上下文高度敏感,导致在需要超过两个推理步骤的问题上,宏精度降至0。表4进一步展示了不同无关上下文因素的细分性能。
表 4. 针对添加的无关句子因素的准确率分解(×100 表示百分比)。较低的准确率表明模型对相应类型的无关上下文更脆弱。需要注意的是,此处的宏观平均准确率高于表 3 中报告的对应值,因为我们仅包含了一部分创建的问题(即与相关因素对应的问题)来计算该指标。每列的最佳结果以加粗字体表示。
5.2. 细分分析
5.2.1. 无关上下文的因素
我们分析了COT、LTM和PROGRAM在考虑的无关句子因素(第3.1节)上的性能(见表4)。对于两个模型,我们发现(1)相关话题句子与(2)角色名称重叠和(3)范围内的数字结合时,通常更具挑战性,如图3所示。对于LTM,后两个因素对微精度的影响不大,但对宏精度的影响显著。值得注意的是,使用示例中的无关上下文时,使用范围内数字的干扰因素比范围外数字的干扰因素更具挑战性。再次使用code-davinci-002时,LTM在所有子类别中优于COT和PROGRAM。
5.2.2. 按推理步骤细分的精度
我们分析了不同推理步骤问题的细分精度(见图4)。虽然我们在需要四个或更多推理步骤的问题上观察到COT和PROGRAM的精度显著下降,但LTM的性能在不同难度水平上保持一致。除了Zhou等(2022)证明的LTM在复杂问题上的优势外,我们的结果表明,LTM对需要更多步骤解决的复杂问题中的无关上下文也较少敏感。
5.3. 指令式提示提高了对无关上下文的鲁棒性
我们已经证明,使用带有干扰因素的示例可以提高对无关上下文的鲁棒性。我们还在表3中比较了指令式提示和没有指令的提示的性能。向COT、LTM和PROGRAM添加指令始终提高了它们的性能。令人惊讶的是,对于COT和LTM,使用原始示例的指令式提示达到了与使用带有干扰因素的示例的无指令提示相当甚至更好的性能。需要注意的是,仅添加指令“解决小学数学问题。”并不会显著提高性能;而是指令“请随意忽略问题中的无关信息。”起到了关键作用。类似于0-COT中使用的指令“让我们一步一步思考。”,这表明语言模型在一定程度上能够遵循自然语言指令,显著改变其解决问题的行为,这表明此类指令可能对指导语言模型在更多任务上的行为有用。
在原始的GSM8K开发集(Cobbe等,2021; Zhou等,2022)上,我们没有观察到在使用带有无关信息的示例、添加自然语言指令或两者结合时精度下降(见表5)。这令人印象深刻,因为GSM-IC的结果表明,提示中的示例和指令式提示都提高了鲁棒性。对于PROGRAM提示,我们发现使用带有干扰因素的示例甚至在SVAMP上提高了性能。
表 5. 在 GSM8K 开发集和 SVAMP 测试集上的准确率(×100 表示百分比)。IRRCTX 表示使用无关上下文,+INST. 表示使用指令提示(instructed prompting)。基准结果(即使用最简单的示例且无无关上下文或指令提示的情况)用下划线标注。
5.4. 复杂提示可能损害对无关上下文的鲁棒性
我们将1-exemplarCOT提示(见图2)与Zhou等(2022)报告的在GSM8K上表现最佳的4-示例提示(附录D)进行了比较。虽然4-exemplar提示在原始的GSM8K开发集上表现更好,但该提示在无关上下文提供的干扰上出乎意料地更敏感。特别是,4-exemplar提示在需要超过两个中间步骤的问题上始终比1-exemplar提示表现更差。即使对于2步提示,从添加更多示例中获得的精度提升也几乎可以忽略不计,当使用指令时(79.0 vs 79.2)。总体而言,这一发现表明,添加更多示例会使提示更不鲁棒,因为它导致了一些过拟合。
5.5. 扩展到DROP
除了GSM-IC外,我们还将评估扩展到DROP数据集(Dua等,2019),其中任务是根据包含无关上下文的长段落回答问题。我们展示了关于足球比赛的示例(见表8)。
我们使用Zhou等(2022)中的COT和LTM提示作为基线,并评估了在示例之前添加指令“根据以下问题回答。请随意忽略问题中的无关信息。”的提示变体。需要注意的是,通过在示例解决方案中添加问题简化步骤,最少到最多提示隐含地引导模型提出相关子问题来解决给定问题。同样,我们观察到指令在DROP的足球分割上始终提高了COT和LTM提示的性能(见表7)。
6. 结论和讨论
在本研究中,我们介绍了GSM-IC,这是一个支持全面研究大型语言模型在存在无关上下文时的分心问题的数据集。我们在GSM-IC上检查了各种提示技术,并证明了它们都对问题中的无关信息敏感。在研究的技术中,自洽性(Wang等,2022c)在普遍提高对无关上下文的鲁棒性方面取得了实质性进展,展示示例中的无关上下文也始终提高了性能。同样,我们发现简单地添加忽略无关信息的指令在我们的基准测试上带来了显著的性能提升。
尽管通过这些方法取得了改进,但一个根本问题仍然存在:一个单一的无关信息可以分散模型的注意力,并显著降低其性能,即使在它们正确解决的清洁版本上也是如此。我们鼓励研究人员在开发新的训练和提示技术时,也优先考虑改进这一根本限制。我们将在未来的工作中进一步调查其他任务和不同语言模型的分心问题。
本文转载自公众号AIRoobt ,作者:Freda Shi等
原文链接:https://mp.weixin.qq.com/s/VsHVfJFx9PCnZ2WGRNxdXw
