Least-to-most Prompting — 由简入难提示
Least-to-Most Prompting (LtM) 是一种为大型语言模型 (LLM) 设计提示的方法,它通过将复杂任务分解为更简单的子任务,然后按顺序解决这些子任务来解决复杂问题[1]。该方法由丹尼·周 (Denny Zhou) 领导的谷歌大脑 (Google Brain) 研究团队于2022年提出,并在ICLR 2023会议上发表[2]。该方法的主要目标是克服“思维链”(Chain-of-Thought)提示的局限性,因为后者在处理比提示示例更复杂的任务时表现不佳[2]。Least-to-Most Prompting 使模型能够泛化到更复杂的任务上,同时保持可解释性,且无需对神经网络进行额外训练[2]。该方法的名称借鉴自教育心理学,其中“least to most prompting”(由少到多提示)指的是为帮助学生掌握新技能而提供一系列辅助程度递增的提示[3]。
方法描述
Least-to-Most Prompting 方法分两个阶段实现[2],每个阶段都通过精心设计的提示(carefully-crafted prompts)向语言模型发出指令(无需对模型进行额外的微调):
- 任务分解。在第一阶段,模型会接收到一条指令和一些示例,这些示例展示了如何将一个复杂任务分解为一系列更简单的子任务。然后,模型会面对一个具体的复杂问题,并需要生成一个简化的中间问题列表[2]。例如,对于一个复杂的任务,模型可以自行提出一个针对原始问题一部分的 уточняющий子问题。
- 顺序解决子任务。在第二阶段,模型会按顺序解决生成的子任务——从最简单的到最复杂的。为此,每个子任务的提示都包含上下文信息:解决类似子问题的示例,以及(如果存在)先前已解决的子任务及其答案[4]。在解决第一个子任务后,模型会将其答案添加到提示文本中,然后接收下一个子任务,并将之前的解决方案作为上下文[4]。这个过程会一直持续,直到解决了最后一个、也是最复杂的子任务,从而直接回答了原始问题。
例如:一个原始的文字问题通过Least-to-Most方法被分解为两个步骤。首先,模型提出并解决一个中间问题(“How long does each trip take?”——“每次行程需要多长时间?”),得到答案“each trip takes 5 minutes”(“每次行程需要5分钟”)。这个答案被包含在一个新的提示中,连同下一个子任务——即原始问题(“How many times can she slide before it closes?”——“在设施关闭前她能滑多少次?”)。利用上一步的结果,模型计算出最终答案(在此例中为:3次)。
原则上,Least-to-Most Prompting与标准的“思维链”方法的不同之处在于,它将推理过程分解为多个独立的、知识累积的请求,而不是在单个回答中生成一个连续的“思想链”[3]。这种分阶段、递归的方法使模型能够逐步处理任务中越来越复杂的方面,从而有效解决“从易到难泛化”(easy-to-hard generalization)的问题(即模型遇到比训练示例更复杂的任务时出现的问题)[2][3]。值得注意的是,LtM方法的两个阶段都是通过小样本提示(few-shot prompting,即展示几个示例)实现的,不需要对模型进行额外的训练或在新数据上进行微调[2]。此外,该方法与其他提升LLM推理能力的技术兼容,例如,在生成答案时可以与“思维链”和“自洽性”(self-consistency,即对多个解决方案进行抽样选择)相结合,尽管这不是必需的[1]。
实验结果与应用
提出Least-to-Most Prompting的论文表明,该方法在一系列需要复杂多步推理的任务上优于标准的提示方法(包括“思维链”)[1]。它在三个关键任务类别中成功展示了其优势:
- 符号与算法任务。例如,在连接单词末尾字母的任务中(按顺序取列表中每个单词的最后一个字母组成一个新词),LtM方法显著提高了模型对更长单词序列的泛化能力。未经专门训练的GPT-3模型(code-davinci-002)在使用“思维链”提示时,当单词列表长度为12时,仅在约32%的情况下能正确解决这类任务,而使用Least-to-Most Prompting的准确率达到了约74%[1]。对于较短的列表(长度与示例中出现的相似),两种策略都表现良好,但随着序列长度的增加,“思维链”方法的性能急剧下降,而Least-to-Most方法则表现出更平缓的性能下降,并保持了较高的准确率[1]。这表明LtM方法能够将解决方案的逻辑泛化到更复杂(更长)的输入数据上。
- 组合泛化 (compositional generalization)。这类任务包括将文本指令翻译为一系列动作(如SCAN基准测试,要求执行“jump twice and run”等命令并泛化到更长的组合)[4]。LtM方法使LLM能够成功解决甚至是最复杂的此类任务变体。具体来说,使用LtM提示的GPT-3模型仅凭提示中的14个示例,在SCAN数据集的所有数据划分变体上(包括最困难的长度划分,即测试序列比训练序列更长)达到了99%的准确率[2]。相比之下,标准的“思维链”方法在类似条件下的准确率仅为约16%[2]。更重要的是,这一成果是在没有对模型进行训练数据训练的情况下实现的,而之前针对SCAN的最佳解决方案依赖于专门的神经符号架构或数据增强方法,这些方法需要使用包含超过15000个示例的整个训练集[2][2]。因此,Least-to-Most Prompting在未经微调的模型中展示了前所未有的组合泛化能力。
- 数学应用题。该方法在文本中的算术任务上进行了测试,例如来自GSM8K数据集(复杂的加减法和逻辑文字问题)[2],以及DROP数据集中的一系列问题(测试从文本中提取和计算数字信息的能力)[2]。在这些任务上,Least-to-Most Prompting同样显示出比“思维链”方法更高的准确率。例如,在使用code-davinci-002模型时,GSM8K任务的答案准确率从约60.9%提高到约62.4%[2]。在DROP的子任务上,提升更为显著:例如,在一部分关于“足球”事实的问题上,准确率从约59.6%(“思维链”)提高到约73.4%(LtM)[2]。尽管在数学任务上的性能提升不如在SCAN中那么显著,但作者指出了一个重要现象:如果模型能得到正确的问题分解,几乎所有的GSM8K任务都能被正确解决[2]。这表明成功解决问题的关键在于提出恰当的中间问题;而LtM方法正是旨在自动生成并顺序解决这些问题。
总而言之,实验证实,在许多需要多步推理的任务上,Least-to-Most Prompting显著优于简单的无推理小样本提示和“思维链”方法[1]。该方法使LLM能够解决比其最初通过示例接触到的问题更复杂的问题,从而扩展了上下文学习(in-context learning,即通过提示进行即时学习)的边界。
局限性与未来方向
尽管取得了成功,Least-to-Most Prompting方法仍存在一些局限性。首先,不同类型的任务需要不同的分解方法。一个能有效分解数学问题的提示模板,可能完全不适用于逻辑问题或常识性问题[2]。例如,教会模型将数学文字题分解为步骤的提示,对于“亚里士多德用过笔记本电脑吗?”这样的常识性问题毫无用处——这类任务需要完全不同的分解策略[2]。因此,对于每个新的领域或问题类型,都必须重新设计示例来展示如何将任务分解为子任务,并构建相应的提示来说明解决方案的结构[3]。换句话说,LLM本身并不能普遍地泛化如何正确分解任务的知识,这种知识需要通过针对特定任务类别的示例来提供。
此外,LtM的有效性在很大程度上取决于任务是否能够被成功地分解为独立的子目标。如果模型未能正确地构思出中间步骤,或者遗漏了某些必要的子任务,最终的解决方案也将是错误的。然而,开发者自己也指出,在许多情况下,如果由人类手动提供正确的分解,失败可以转化为成功——模型随后能够轻松地解决每个部分并成功地组合答案[2]。这突显了该方法未来发展的潜力:改进自动生成子任务的质量,并可能引入模型的交互式学习。在结论中,LtM的作者推测,未来提示方法的发展方向可能是与模型进行全面的双向对话,模型在对话中可以获得即时的反馈并修正其中间步骤[2]。Least-to-Most Prompting可以被视为朝这个方向迈出的一步,它表明通过分解任务并分阶段解决,与模型进行顺序互动,可以在不进行新数据训练的情况下,显著扩展其推理能力[1]。
外部链接
- arXiv上的原始论文《Least-to-Most Prompting Enables Complex Reasoning in Large Language Models》
- 原始论文的HTML版本
- 什么是Least-to-Most Prompting? — AI Safety Info文章
- Medium上的方法概述
- arXiv上关于提示工程方法的综述
参考文献
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Zhou, D. et al. (2023). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. ICLR 2023. OpenReview.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models Are Zero-Shot Reasoners. arXiv:2205.11916.
- Nye, M. et al. (2021). Show Your Work: Scratchpads for Intermediate Computation with Language Models. arXiv:2112.00114.
- Lake, B. M.; Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. arXiv:1711.00350.
- Cobbe, K. et al. (2021). Training Verifiers to Solve Math Word Problems. arXiv:2110.14168.
- Dua, D. et al. (2019). DROP: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs. arXiv:1903.00161.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
注释
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». ar5iv.org. [1]
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». arXiv. [2]
- ↑ 3.0 3.1 3.2 3.3 «What is least-to-most prompting?». AI Safety Info. [3]
- ↑ 4.0 4.1 4.2 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]