Take a Step Back:通过抽象激发大模型推理能力(ICLR2024) 原创
摘要: 我们提出了一种简单的提示技术——“退一步”提示(STEP-BACK PROMPTING),该技术能够使大语言模型(LLMs)进行抽象,从包含特定细节的实例中推导出高层次概念和基本原理。通过使用这些概念和原理来指导推理,LLMs显著提高了沿着正确推理路径找到解决方案的能力。我们在 PaLM-2L、GPT-4 和 Llama2-70B 模型上进行了“退一步”提示的实验,并在包括 STEM、知识问答(Knowledge QA)和多跳推理(Multi-Hop Reasoning)等各种具有挑战性的推理密集型任务中观察到显著的性能提升。例如,“退一步”提示使 PaLM-2L 在 MMLU(物理和化学)上的性能分别提高了 7% 和 11%,在 TimeQA 上提高了 27%,在 MuSiQue 上提高了 7%。
1、引言
自然语言处理(NLP)领域正在经历一场由基于Transformer模型(Vaswani等,2017)的大语言模型(LLMs)(Devlin等,2018;Raffel等,2020;Brown等,2020;Anil等,2023)引发的革命。通过扩大模型的规模和预训练语料库(Hoffmann等,2022;Chowdhery等,2022),模型的能力和样本效率得到了显著提升,这得益于缩放定律(Kaplan等,2020;Hoffmann等,2022)的见解以及诸如多步推理(Wei等,2022b;Zhou等,2022)和指令跟随(Mishra等,2022b;Wei等,2021)等新兴能力。
尽管取得了这些进展,复杂的多步推理仍然对最先进的大语言模型构成挑战。Lightman等人(2023)的研究表明,通过逐步验证的过程监督是一种有前景的解决方法,可以提高中间推理步骤的正确性。类似于“思维链”(Chain-of-Thought, CoT)(Wei等,2022b)的方法被引入,用于生成一系列连贯的中间推理步骤,从而提高沿着正确解码路径的成功率。受到人类在面对复杂任务时往往会退一步,通过抽象得出高层次原则来指导解决过程的启发,我们提出了“退一步”提示方法(STEP-BACK PROMPTING),通过在推理中引入抽象以减少中间步骤中的错误概率。
在许多认知技能中,抽象能力(Lachmy等,2022)是人类处理大量信息并推导出一般性原则的普遍能力。例如,开普勒将数千个观测数据归纳为开普勒的三大行星运动定律,这些定律精确描述了行星围绕太阳的轨道(Russell,1964)。在关键决策中,抽象有助于人类获得更广阔的环境视角。本文研究了大语言模型(LLMs)如何通过抽象与推理的两步过程来处理涉及大量低层次细节的复杂任务。第一步是通过上下文学习来引导LLMs“退一步”——提示它们为特定示例推导出高层次的抽象概念和原则。第二步是利用推理能力,在这些高层次概念和原则的基础上进行推理。我们使用少样本示例演示来在LLMs上执行“退一步”提示方法。
我们在涉及领域特定推理的各种任务上进行了实验,如物理和化学、需要事实知识的知识密集型问答、多跳常识推理。我们观察到PaLM-2L(Anil等,2023)在这些任务上的显著性能提升(最高达27%),这证明了“退一步”提示方法在处理复杂任务时的有效性,这些任务由于需要推理的大量细节而具有挑战性。图1总结了本文中展示的所有关键结果。有些任务非常具有挑战性:在TimeQA和MuSiQue上,PaLM-2L和GPT-4的准确率仅约为40%。链式思维提示在少数任务上带来了轻微的改进,而“退一步”提示方法则在所有任务上提升了PaLM-2L的性能:在MMLU物理和化学上分别提升了7%和11%,在TimeQA上提升了27%,在MuSiQue上提升了7%。
图 1:STEP-BACK PROMPTING 的强大表现:我们提出的“抽象与推理”方案在各种具有挑战性的任务中显著提升了性能,这些任务涉及STEM、知识问答(Knowledge QA)和多跳推理(Multi-Hop Reasoning),并且通常需要复杂(往往是多跳)的推理。
我们进行了多种分析,发现“退一步”提示方法相比链式思维(CoT)提示(Wei等,2022b)和“深呼吸”(TDB)提示(Yang等,2023)显著提升了性能(最高达36%)。我们进行了定性评估,发现“退一步”方法修正了基础模型的大部分错误(最高约40%),同时只引入了少量新的错误(最高约12%)。我们还进行了错误分析,发现“退一步”提示方法的大多数错误源于LLMs推理能力的内在限制,而抽象技能相对容易在LLMs中展现,这为类似“退一步”提示方法的未来改进指明了方向。
2、退一步 PROMPTING
“退一步”提示方法的动机源于这样一个观察:许多任务包含大量的细节,而这让大语言模型很难提取出相关信息来解决这些任务。如图2顶部所示,对于一个物理问题“如果温度增加2倍,体积增加8倍,理想气体的压力P会发生什么变化?”,在直接对问题进行推理时,大语言模型可能会偏离理想气体定律的基本原理。同样,对于“埃斯特拉·莱奥波德在1954年8月至1954年11月期间就读于哪所学校?”这样的问题,由于时间范围的具体限制,直接回答也非常困难。在这两种情况下,提出一个“退一步”的问题可以帮助模型更有效地解决问题。
图 2:展示了通过概念和原理指导的“退一步”提示法(STEP-BACK PROMPTING)中的抽象和推理两个步骤。**
顶部:一个MMLU高中物理的示例(Hendrycks等,2020),通过抽象检索到理想气体定律的基本原理。
底部:来自TimeQA的一个示例(Chen等,2021),其中高层次的“教育背景”概念是抽象的结果。
左侧:PaLM-2L(Anil等,2023)未能回答原始问题。链式思维提示(Chain-of-Thought Prompting,Wei等,2022b;Kojima等,2022)在中间推理步骤中出现错误(红色部分突出显示)。
右侧:通过“退一步”提示法(STEP-BACK PROMPTING),PaLM-2L(Anil等,2023)成功回答了问题。
我们将“退一步”问题定义为从原始问题中提取的、更高抽象层次上的问题。例如,与其直接询问“埃斯特拉·莱奥波德在特定时间段内就读于哪所学校”,不如提出一个“退一步”问题(图2底部),例如询问她的“教育背景”,这是一个包含原始问题的高层次概念。在这种情况下,回答“埃斯特拉·莱奥波德的教育背景”这一“退一步”问题,将提供所有必要的信息来推理“她在特定时期就读于哪所学校”。前提是“退一步”问题通常更简单。在这种抽象基础上进行推理,有助于避免中间步骤中的推理错误,例如图2左侧思维链(Chain-of-Thought)中的例子。简而言之,“退一步”提示方法包括两个简单的步骤:
- 抽象:与直接回答问题不同,我们首先提示大语言模型提出一个关于更高层次概念或原理的泛化的“退一步”问题,并检索与该高层次概念或原理相关的事实。“退一步”问题对于每个任务都是独特的,以便检索最相关的事实。
- 推理:基于有关高层次概念或原理的事实,大语言模型可以推理出原始问题的解决方案。我们将这称为“基于抽象的推理”。
在接下来的章节中,我们将对一系列具有挑战性的任务进行“退一步”提示方法的实证研究,这些任务涉及复杂推理的领域,如STEM、知识问答和多跳推理。
3、实验设置
在本节中,我们定义了实验中使用的任务和模型。同时,我们还描述了我们的评估指标和所考虑的基线方法。
3.1 任务
我们在以下不同类型的任务上进行实验:(a)STEM,(b)知识问答(Knowledge QA),以及(c)多跳推理(Multi-Hop Reasoning)。以下是我们所使用的数据集(详细信息请参见附录B)。
- STEM: 我们在STEM任务中评估MMLU和GSM8K。MMLU(Hendrycks等,2020)包含一系列跨多领域的基准测试,用于评估模型的语言理解能力。我们选择了MMLU中的高中物理和化学部分,因为这些部分涉及深层次的推理。
(注释:STEM任务指的是涉及科学、技术、工程和数学(Science, Technology, Engineering, and Mathematics)领域的问题。在自然语言处理和大语言模型的研究中,STEM任务通常用于测试模型在这些特定领域中的理解和推理能力。)
- 知识问答(Knowledge QA): 我们选择了TimeQA(Chen等,2021),因为它包含需要复杂时间敏感知识的查询。我们还实验了SituatedQA(Zhang & Choi,2021),这是另一个需要模型在给定时间或地理背景下回答问题的挑战性开放检索问答数据集。
- 多跳推理(Multi-Hop Reasoning): 我们使用MuSiQue(Trivedi等,2022)进行实验,这是一种通过组合单跳问题对创建的难度较大的多跳推理数据集,还使用了包含需要策略解决的开放域问题的StrategyQA(Geva等,2021)。
(注释:多跳推理(Multi-Hop Reasoning)是一种需要模型进行多步推理才能到达正确答案的任务类型。在这种任务中,问题的解答不可能通过单一的事实或信息直接获得。相反,模型必须将多个中间步骤的推理结果综合起来,才能找到正确的答案。这通常涉及从多个信息来源或段落中收集、连接和整合相关信息,以完成一个复杂的推理过程。
问题:"爱因斯坦在1921年获得诺贝尔奖的那一年,哪个国家是欧洲人口最多的国家?"
推理步骤:
爱因斯坦在1921年获得诺贝尔奖。
找到1921年时欧洲人口最多的国家。
确定答案为当时的俄罗斯。
答案:"俄罗斯")
3.2 模型
我们使用了以下最先进的大语言模型:经过指令微调的PaLM-2L(Anil等,2023)、GPT-4(OpenAI,2023)和Llama2-70B(Touvron等,2023)。
3.3 评估
传统的评估指标,如准确率和F1分数,在评估最先进的大语言模型的生成时有其局限性,因为这些模型通常会生成难以量化的长篇回答。因此,我们采用了PaLM-2L模型进行的评估,其中我们使用少样本示例来提示模型识别目标答案和模型预测之间的等价性。用于此评估的少样本示例、提示和其他详细信息见附录C。
3.4 基线方法
- PaLM-2L, PaLM-2L 1-shot: PaLM-2L模型直接使用问题进行查询,或在提示中包含一个问题-答案示例的单个演示样例。
- PaLM-2L + CoT, PaLM-2L + CoT 1-shot: 使用零样本思维链(Chain-of-Thought, CoT)提示(Kojima等,2022)来查询PaLM-2L模型:“让我们一步一步思考”被添加到问题中。对于1-shot,提示中提供了一个问题和答案对的示例,其中答案采用CoT风格(Wei等,2022b)。
- PaLM-2L + TDB: 使用零样本提示“深呼吸并一步一步解决这个问题。”(Yang等,2023)添加到问题之前。
- PaLM-2L + RAG: 在第5和第6节中,我们使用检索增强生成(RAG),其中检索到的段落作为上下文被大语言模型使用。
- GPT-4 和 Llama2-70B: 我们在MMLU任务上对所有方法运行了GPT-4和Llama2-70B。此外,我们还在所有基线上对所有任务运行了GPT-4。
由于STEM任务的内在推理性质,我们没有对这些任务使用RAG。所有推断都是使用贪婪解码进行的。
4、STEM
我们在STEM任务上评估“退一步”提示法(STEP-BACK PROMPTING),以衡量我们的方法在高度专业领域中的推理能力。以下是我们在MMLU高中物理和化学以及GSM8K基准测试上应用“退一步”提示法的实验设置、结果和分析。
4.1 “退一步”提示法
MMLU基准测试中的问题需要更深层次的推理。此外,它们还需要理解和应用通常为物理和化学原理和概念的公式。在这种情况下,我们首先向模型展示抽象技能,这些技能表现为概念和基本原理,如牛顿第一运动定律、多普勒效应和吉布斯自由能等。
在这里,隐含的“退一步”问题是“解决此任务涉及哪些物理或化学原理和概念?”我们提供了一些示例来引导模型从自身的知识中背诵解决任务所需的相关原理(参见附录D.1了解少样本示例)。
4.2 结果
表1展示了不同模型族的各种设置下的模型性能:PaLM-2L、GPT-4和Llama2-70B。表中报告的是5次评估运行的平均准确率,并附上标准差(括号内的数值)。PaLM-2L的基线性能在物理和化学上的准确率分别为66.4%和70.9%。我们发现,CoT和TDB零样本提示并未显著提升模型性能,这可能是由于这些任务固有的难度和深层次的推理要求。PaLM-2L的1-shot和PaLM-2L + CoT的1-shot方法也未对基线有太多提升,这突显了向模型展示推理步骤的挑战。相比之下,“退一步”提示法显著提高了模型性能:相比于PaLM-2L,物理和化学分别提高了7%和11%。同样,对于GPT-4和Llama2-70B模型,“退一步”提示法在我们测试的所有基线方法中表现非常有竞争力,这表明“退一步”提示法是模型无关的。我们在附录A.1中展示了GSM8K的结果。
表 1:在 MMLU 任务中,"退一步"提示法(STEP-BACK PROMPTING)在三个模型系列上表现出色。** CoT:零样本链式思维提示(Chain of Thought prompting,Kojima等,2022),TDB:“深呼吸”提示(Take a Deep Breath prompting,Yang等,2023)。
4.3 消融实验和分析
少样本消融实验: 首先,在图3中,我们观察到“退一步”提示法对用作示例的少样本(问题和原理对)的数量具有鲁棒性。增加超过一个示例的演示并不会带来进一步的改进。这表明,通过上下文学习,检索相关原理和概念的任务对模型来说相对容易,一个示例就足够了。因此,除非是消融实验,否则本文中使用的少样本提示都是单个示例。
错误分析: 比较“退一步”提示法对MMLU高中物理的预测结果和PaLM-2L基线模型的预测结果,我们发现“退一步”提示法修正了20.5%的基线错误,同时引入了11.9%的新错误。
为了进一步了解“退一步”提示法的错误来源,我们对测试集中所有的错误预测进行了标注,并将其分为5类(参见附录E.1了解每类中的示例):
- 原理错误: 在抽象步骤中发生的错误,模型生成的基本原理是错误的或不完整的。
- 事实错误: 当模型背诵自身的事实知识时,至少有一个事实错误。
- 数学错误: 在涉及数学计算的中间步骤中存在至少一个数学错误。
- 上下文丢失: 模型响应丢失了问题的上下文,从而偏离了对原始问题的回答。
- 推理错误: 我们将推理错误定义为在到达最终答案之前的中间推理步骤中至少出现一个错误。
图4显示,除原理错误外,所有五种类型的错误都发生在推理步骤中,原理错误指向抽象步骤的失败。推理错误和数学错误是主要的错误类别。这与上述消融研究中的发现相吻合,即仅需少量示例就可以向大语言模型展示抽象技能。推理步骤仍然是“退一步”提示法执行需要复杂推理的任务(如MMLU)的瓶颈。具体到MMLU物理,推理和数学技能对于成功解决这些问题至关重要:即使正确地检索了基本原理,也需要通过典型的多步推理过程进行深入推理和数学运算,以得出正确的最终答案。
5、知识问答(Knowledge QA)
我们在需要密集事实知识的问答基准上评估了“退一步”提示法(STEP-BACK PROMPTING)。知识问答对大语言模型(LLMs)来说是一个挑战。在本节中,我们首先描述实验设置,然后是对“退一步”提示法的结果和分析。
5.1 “退一步”提示法
我们在知识问答类别中评估了“退一步”提示法,使用了TimeQA(Chen等,2021)和SituatedQA(Zhang & Choi,2021)数据集。我们首先通过上下文中的演示向LLMs展示如何进行抽象。图2中的“退一步”问题“埃斯特拉·莱奥波德的教育背景是什么?”就是通过少样本演示生成的(详细信息见附录D.2)。鉴于这些查询的知识密集性质,我们结合“退一步”提示法使用了检索增强(RAG)。“退一步”问题用于检索相关事实,这些事实作为额外的上下文(提示见表14)以支持最终的推理步骤。
5.2 结果
我们在TimeQA的测试集上对模型进行了评估。如表2所示,GPT-4和PaLM-2L的基线模型分别达到了45.6%和41.5%的准确率,这突显了任务的难度。将CoT或TDB零样本(以及单样本)提示应用于基线模型并未显示出改进。相反,通过常规检索增强(RAG)增强基线模型,将准确率提升至57.4%,这突显了任务的事实密集性质。“退一步”+ RAG的结果显示了回到高层次概念的有效性,这使得检索增强更加可靠:TimeQA的准确率达到了显著的68.7%。
接下来,我们将TimeQA按原始数据集中提供的难度等级分为易和难两个级别。正如预期的那样,所有方法在困难子集上的表现都较差。虽然RAG可以将易级别的准确率从42.6%提升到67.8%,但在难级别上的提升要小得多:从40.4%提升到46.8%。这正是“退一步”提示法的优势所在,它通过检索高层次概念的事实来支持最终推理:“退一步”+ RAG进一步将难级别的准确率提升到62.3%,超越了GPT-4的42.6%。我们假设关于高层次概念(如教育背景)的事实比低层次细节更容易获取。
在SituatedQA基准测试中,我们观察到从54.3%到我们最佳方法“退一步”+ RAG(61%)的适度质量提升,与GPT-4的63.2%有小的差距。与TimeQA类似,诸如CoT和TDB之类的提示对于SituatedQA并没有显著帮助。
5.3 消融实验和分析
少样本消融实验: 我们在图5(左)中观察到,“退一步”提示法在TimeQA上的表现对演示中使用的示例数量具有鲁棒性,这再次显示了PaLM-2L模型在上下文中学习抽象技能的样本效率。
错误分析: 图5(右)显示了“退一步”提示法在TimeQA上的所有剩余错误的分类。类似于第4.3节,我们将错误分类为:
- StepBack: 生成的“退一步”问题对解决任务没有帮助。
- RAG: 尽管“退一步”问题是准确的,但RAG未能检索到相关信息。
- 评分错误: 评估模型的判断错误。
- 推理错误: 检索到的上下文是相关的,但模型仍未能通过上下文得出正确答案。
图5TimeQA上“退一步”提示法的消融和错误分析。左图:与少样本示例数目相关的消融研究。右图:错误类别分布,推理和RAG是主要的错误来源。
我们发现“StepBack”很少失败。相反,我们发现超过一半的错误是由于推理错误。此外,45%的错误是由于未能检索到正确信息,尽管抽象提供的“退一步”问题使其成为一个更容易的任务。这反映了TimeQA任务的难度。TimeQA的更多错误分析见附录A。
6、多跳推理(MULTI-HOP REASONING)
我们在具有挑战性的多跳推理基准数据集MuSiQue(Trivedi等,2022)和StrategyQA(Geva等,2021)上评估了“退一步”提示法(STEP-BACK PROMPTING)。我们遵循第5节中的相同协议来实施“退一步”提示法。
表3显示了在MuSiQue和StrategyQA的开发集上的各种基线的性能。由于MuSiQue是一个难度较大的多跳推理基准数据集,PaLM-2L和GPT-4的基线性能较低(分别为35.5%和38.5%)。相比之下,StrategyQA的基线性能较强(PaLM-2L为82.8%,GPT-4为78.3%),这可能是因为它是一个二元分类任务。在MuSiQue的情况下,CoT和TDB提示略微提高了模型性能(分别约为3%和3.5%),这可能归因于该任务固有的推理性质,而这些方法已被证明是有帮助的。在StrategyQA的情况下,由于该任务基线性能较高,这些提示方法并没有显著的性能提升,这限制了它们改进性能的空间。通常情况下,1-shot性能显著低于零样本方法,这可能是由于潜在的示例偏差(Zhao等,2021;Parmar等,2023)。RAG提升了模型性能(MuSiQue约4%,StrategyQA约2%)。凭借抽象的优势,“退一步”提示法产生了所有方法中最好的性能:MuSiQue为42.8%,StrategyQA为86.4%,在这两个任务上显著超过了GPT-4。我们在附录A.3中提供了StrategyQA的详细错误分析。
7、 讨论(DISCUSSION)
抽象帮助人类通过去除无关细节并提炼高层次概念和原则来解决复杂任务。“退一步”提示法将复杂任务(如知识密集型问答、多跳推理和科学问题)分为抽象和推理两个独立步骤。我们通过实证实验表明,对于诸如PaLM-2L之类的大语言模型来说,抽象是一项通过样本高效的上下文学习容易掌握的技能。基于高层次概念和原则,大语言模型可以利用其内在的推理能力来推导解决方案。这减少了中间步骤中推理失败的机会,并被证明在广泛的复杂推理任务中提高了性能。尽管取得了成功,但通过错误分析,我们发现推理仍然是大语言模型最难掌握的技能之一:即使在“退一步”提示法大幅降低了任务复杂性之后,它仍然是主要的失败模式。
然而,抽象并非在所有情况下都是必要或可行的。例如,任务可能简单到只需要回答“2000年美国的总统是谁?”这种情况下没有必要退一步并提出一个高层次的问题,因为此类问题的答案显而易见。诸如“光速是多少?”之类的问题本身就指向了基本原理。在这种情况下,进行抽象并不会产生差异。
8、相关工作(RELATED WORK)
提示(Prompting)
少样本提示(Brown等,2020;Liu等,2023;Mishra等,2022a;Wei等,2022b)在不需要更新模型参数的情况下显著提高了模型在各种任务上的表现。我们的工作“退一步”提示法(STEP-BACK PROMPTING)与链式思维提示法(Chain-of-Thought Prompting,Wei等,2022b)和草稿纸方法(Scratchpad,Nye等,2021)属于同一类别,因为它们都具有简单性和通用性。但是,我们的方法专注于抽象这一核心理念,这一灵感来源于人类在执行复杂任务时经常退一步的做法。我们的工作也与背诵增强语言模型(Recitation-Augmented Language Models,Sun等,2022)相关;然而,与他们的工作相比,我们明确执行退一步和抽象,并根据任务的性质选择性地使用检索增强。
分解(Decomposition)
将一个任务分解为更简单的子任务并通过解决这些子任务来完成原始任务,一直是提高模型在复杂任务上表现的有效方法(Zhou等,2022;Patel等,2022;Khot等,2022;Press等,2022)。几种提示方法在这方面取得了成功。我们的“退一步”提示法与此不同,它旨在将问题变得更抽象和高层次,而分解往往是对原始问题的低层次细分。例如,一个关于“1990年史蒂夫·乔布斯为哪个雇主工作?”的通用问题可以被改写为“史蒂夫·乔布斯的就业历史是什么?”。而分解会导致生成多个子问题,如“史蒂夫·乔布斯在1990年做了什么?”,“1990年史蒂夫·乔布斯是否受雇?”以及“如果史蒂夫·乔布斯受雇,他的雇主是谁?”。此外,诸如“史蒂夫·乔布斯的就业历史是什么?”的抽象问题往往具有多对一的映射关系,因为多个问题(如“1990年史蒂夫·乔布斯为哪个雇主工作?”和“2000年史蒂夫·乔布斯为哪个雇主工作?”)可以具有相同的抽象问题。这与分解通常具有一对多映射的特性不同,因为通常需要多个分解的子问题来解决一个问题。
9、结论(CONCLUSION)
我们提出了“退一步”提示法,这是一种简单而通用的方法,可以通过抽象在大语言模型中引发深层次的推理。我们在事实查询、常识推理和领域特定推理基准测试上对大语言模型进行了实验,结果表明“退一步”提示法显著提高了模型的表现。我们假设,抽象帮助模型减少幻觉,并更好地进行推理,这可能反映了模型的真实能力,而这些能力通常在模型回答原始问题时隐藏起来。我们希望我们的工作能够激发更多灵感来自人类的方式,以开发大语言模型的潜力。
本文转载自公众号AIRoobt ,作者:AIRoobt
原文链接:https://mp.weixin.qq.com/s/B2qO3gAeOpL1A1wD77X4og