- 简介算法推理是指理解问题背后的复杂模式,并将其分解为解决问题的推理步骤的能力。尽管大型语言模型在其他推理任务中表现出了良好的性能,但这种算法推理的本质使其成为一个挑战。在这种情况下,一些最近的研究使用编程语言(例如Python)来表达解决给定实例/问题所需的逻辑(例如,思维程序),受到其严格和精确的语法的启发。然而,在单个推理调用中编写表达正确逻辑的可执行代码并不是易事。而且,专门为一个实例生成的代码不能被重用于其他实例,即使它们来自同一个任务并且可能需要相同的逻辑来解决。本文提出了一种新颖的框架Think-and-Execute,将语言模型的推理过程分解为两个步骤:(1)在Think阶段,我们发现了一个在解决给定任务时所有实例之间共享的任务级逻辑,然后用伪代码表达逻辑;(2)在Execute阶段,我们进一步为每个实例量身定制生成的伪代码,并模拟代码的执行。通过对七个算法推理任务的广泛实验,我们展示了Think-and-Execute的有效性。相比于执行实例特定推理的几个强基线(例如CoT和PoT),我们的方法更好地改进了语言模型的推理能力,这表明发现任务级逻辑的有用性。此外,我们还表明,相比于自然语言,伪代码可以更好地指导语言模型的推理,即使它们被训练遵循自然语言指令。
-
- 图表
- 解决问题论文试图解决在大语言模型中实现算法推理的问题,尤其是如何将任务级别的逻辑应用于解决相同任务的不同实例。
- 关键思路该论文提出了Think-and-Execute框架,将推理过程分为两个步骤:发现适用于解决给定任务的所有实例的任务级别逻辑,并用伪代码表示;然后在执行步骤中,将生成的伪代码进一步适应每个实例并模拟代码的执行。
- 其它亮点论文在七个算法推理任务上进行了广泛实验,证明了Think-and-Execute框架的有效性。相对于执行特定实例的强基准(如CoT和PoT),该方法更好地提高了LM的推理能力,表明发现任务级别逻辑的有用性。此外,论文还表明,相比自然语言,伪代码可以更好地指导LM的推理,即使它们被训练遵循自然语言指令。
- 最近的相关研究包括使用编程语言(如Python)表达算法推理逻辑的工作,例如Program-of-Thought。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流