1、背景:
在传统的prompt工程中,对于单个问题的推理,一般可以采用CoT方法,或者Few-shot的方法来解决特定的任务,对于复杂多问题的推理,通常一般使用ToT的方法,然而以上两种方法都具有一点的缺陷:1、单个问题的推理通常假设给定的few-shot是与问题相关的,这样缺少泛化性;2、对于复杂问题的循环推理,要想完成一个完整的链路推理是很耗资源的;3、而且以上两种推理方法都忽视了从历史任务中积累高层次的指导和思考,这样可能导致低效和低准确率问题。
2、方法:
为了解决这些局限性,本文提出了“思维缓冲区”(Buffer of Thoughts, BoT),这是一个新颖且多功能的思维增强推理框架,旨在提高大型语言模型(LLMs)在各种任务中的推理准确性、效率和稳健性。具体而言,我们设计了“元缓冲区”(meta-buffer),这是一个轻量级库,存储了一系列通用的高级思维(思维模板),这些思维模板是从不同问题解决过程的提炼结果,可以在各任务之间共享。然后,对于每个问题,我们检索一个相关的思维模板,并用具体的推理结构对其进行实例化,以实现高效的思维增强推理。为了保证我们的BoT的可扩展性和稳定性,我们进一步提出了“缓冲区管理器”(buffer-manager),以动态更新元缓冲区,这有效地增强了元缓冲区的容量,随着更多任务的解决,元缓冲区的容量也会不断增加。
3、优点:
1)可以提高准确率,因为通过对历史步骤的思考、反思可以积累正确的高层次的解决步骤,这样可以在遇到新的问题进行推理的时候可以直接引用,提高推理准确率
2)可以提高推理效率,因为利用到了历史已有的解决思路,在解决复杂问题的时候可以直接应用到某一个步骤中,提高了推理效率。
3)模型更具有鲁棒性,因为每次在历史的已有思路中进行检索,可以使得模型在回答相同或相似问题的时候都能统一,不会过于发散。
4、结果:
1、准确率:在Game of24 数据集上提高了23%,在Geometric Shapes数据集上提高了20%,在Checkmate-in-One上提高了51%
2、效率:在复杂物体推理上可以介绍12%的时间
3、鲁棒性:在实验中通过10实验的平均结果,成功率稳定超过第二名10%
5、思考和未来优化:
虽然本文介绍的方法在提高准确率、效率、和鲁棒性的时候有了显著的提升,但是这样事先确定好模版的方法对于新的、不可预见的问题不太友好;而且文章中并没有提到如何对已有思路更新进行校验确认,这可能导致可能更新的过程会有误差。