思维链与推理编排:从 CoT、自我一致性到 ToT 与 GoT

梳理生产落地中常用的提示编排策略:通过少样本或零样本思维链引导模型逐步推理、用自我一致性做多路投票降低幻觉,再到支持搜索与回溯的树状思维 ToT 和图状思维 GoT。

在实际生产落地中,会循序渐进的采用如下策略来提高准确性,降低幻觉:

策略难度数据要求准确性提升
Prompt engineering26%
Self-reflection26-40%
Few-shot learning (with RAG)少量50%
Instruction Fine-tuning中等40-60%

Prompt engineering中有哪些方法可以提高准确性。

COT: Chain of Thought

COT通过提供一系列推理步骤来帮助模型更好地解决问题。CoT的核心思想是引导模型逐步展示其思考过程,从而提高模型在复杂任务上的表现,如数学推理、逻辑推理等。CoT可以是Few-shot CoT,其中包含几个逐步推理的示例,也可以是Zero-shot CoT,只包含引导模型进行逐步推理的文本指令。

Auto COT

let’s think not just step by step, but also one by one

可以通过利用带有“let’s think step by step”提示的 LLM 来逐一生成演示的推理链,即:let’s think not just step by step, but also one by one,从而消除Few-shot CoT的手动工作。

Auto-CoT 主要由两个阶段组成:

  • 阶段1:问题聚类:将给定问题划分为几个聚类;
  • 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链.

    Self-Consistency: 自我一致性

人类的一个显著特点是人们的思维方式不同。在需要深思熟虑的任务中,可能有几种方法可以解决问题。自我一致性可以通过从语言模型的解码器中采样,在语言模型中模拟这样的过程。

例如,如上图所示,一个模型可以对一个数学问题生成几个合理的答案,这些答案都得出相同的正确答案(输出 1 和 3)。由于语言模型不是完美的推理器,该模型也可能产生错误的推理路径或在推理步骤之一中犯错(例如,在输出 2 中),但这样的解决方案不太可能得出相同的答案。也就是说,我们假设正确的推理过程,即使它们是多种多样的,其最终答案往往比不正确的过程具有更大的一致性。

自我一致指的是大模型的输出自我一致,即多次采样得到的输出结果一致。

TOT: Tree of Thoughts

ToT 维护着一棵思维树,思维由连贯的语言序列表示,这个序列就是解决问题的中间步骤。使用这种方法,LM 能够自己对严谨推理过程的中间思维进行评估。LM 将生成及评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,在系统性探索思维的时候可以向前验证和回溯。

上图展示了一个简单的例子。

给定输入,LM 会抽样 5 个不同的方案,然后投票 5 次来决定哪个方案最好。然后使用多数选择,通过相同的抽样投票程序编写输出段落。

GOT: Graph of Thoughts

GoT 的核心思想和主要优势在于能够将 LLM 生成的信息建模为任意图,其中信息单元(“LLM Thoughts”)是顶点,而边对应于这些顶点之间的依赖关系。这种方法可以将任意的 LLM Thoughts组合成协同结果,提炼整个思想网络的精髓,或使用反馈循环增强思想。

本文结束 感谢您的阅读