![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
作者:
(1)加州大学圣地亚哥分校詹玲,同等贡献;
(2)加州大学圣地亚哥分校方云浩,同等贡献;
(3)李轩林(加州大学圣地亚哥分校)
(4) 黄志傲(加州大学圣地亚哥分校)
(5)Mingu Lee,高通人工智能研究院和高通人工智能研究院
(6)高通人工智能研究部门的罗兰·梅米塞维奇(Roland Memisevic)
(7)苏浩,加州大学圣地亚哥分校。
B 更多关于演绎验证准确度的提高与最终答案正确度的提高的讨论
使用大型语言模型进行推理。最近的大型语言模型 (LLM) [3、8、57、47、38、18、9、37] 在解决复杂推理任务方面表现出了令人难以置信的能力。先前的研究表明,通过适当的提示(如思维链 (CoT) 提示 [50] 和许多其他提示 [21、59、58、44、48、60、25、54]),鼓励逐步推理,LLM 在各种推理任务中表现出明显更好的性能,而不是让 LLM 直接生成最终答案作为输出。为了进一步改进逐步推理过程,一些最近的研究调查了利用外部求解器(如程序解释器 [39、5、27])、训练和调用外部推理模块 [11] 或执行显式搜索以生成演绎步骤 [2、46]。与这些工作并行的是,我们不依赖外部模块和算法,而是直接利用 LLM 的上下文学习能力来生成更精确、更严谨的演绎推理。
大型语言模型作为验证器。使用语言模型来评估模型生成是一个长期存在的想法 [22, 36, 40, 4]。由于 LLM 在不同任务中表现出令人印象深刻的能力,因此使用 LLM 作为评估和验证工具成为一种自然而然的想法。例如,[10, 11, 33] 微调 LLM 以验证解决方案和中间步骤。与 RLHF [32, 31, 48] 一致的 LLM 也被用于比较不同的模型生成。此外,最近的研究如 [43, 52, 28, 6] 利用提示设计允许 LLM 进行自我验证、自我改进和自我调试,而无需微调。然而,这些研究并没有关注每个推理步骤中演绎推理过程的严谨性和可信度。在这项工作中,我们提出了一种基于自然语言的演绎推理格式,允许 LLM 自我验证演绎推理过程的每个中间步骤,从而提高推理的严谨性和可信度。
此外,虽然最近的一些研究 [12, 53, 15, 34] 提出了验证推理过程中各个步骤的方法,但我们的方法在以下方面与这些研究有区别: (1)我们的方法利用上下文学习来实现推理验证,而无需语言模型微调。 (2)我们基于自然程序的 LLM 验证方法不仅可以识别无效的推理步骤,还可以明确解释它们无效的原因,详细说明所涉及的具体推理错误。 (3)我们基于自然程序的推理和验证方法与上下文抽象推理任务兼容,其中推理步骤不具备类似证明的蕴涵结构。例如,我们的方法与“最后一个字母”任务兼容,其中 LLM 被指示输出序列中所有单词的最后一个字母的连接作为最终答案。 (4)我们的自然程序方法允许使用前提中未明确列出的常识性知识。例如,考虑这个问题:“Marin 每天吃 4 个苹果。他在十一月吃了多少个苹果?”尽管“十一月有 30 天”没有在前提中明确列出,但 Natural Program 允许在推理步骤中使用此类常识。我们的上下文验证过程也能够处理这些隐含的前提(例如,如果 LLM 在推理步骤中输出“十一月有 29 天”,它将被标记为无效)。