
























思维生成包含一系列技术,可促使 LLM 在解决问题时阐明其推理过程。常见的方式包括思维链(Chain-of-Thought,CoT)
近期,OpenAI推出了新模型o1-preview和o1-mini。我觉得本质上就是一个提示词前置的过程,将思维链内置到模型内。这本身应该是模型工程化的一个发展方向。通过思维链分解大模型的思考行为,从而可以使用强化学习进行路径优化。
当然,新模型目前也带来了巨大的额外token消耗。
适用场景:数学、符号推理
不适用场景:文本处理、普通对话回答问题
思维链(CoT)提示(Wei, Jason, et al., 2022))是指利用提示词鼓励 LLM 在给出最终答案前表达其思考过程。研究表明CoT 能帮助 LLM 解决涉及数学和符号推理的任务,至于其它任务,CoT 的效果并不显著甚至可能有损模型性能(Sprague, et al., 2024)。
这种“思考”并不是真的思考,只是一种辅助它增强回答效果的手段。模型也并不是真的具有智能,本质上依然是给予更多信息来增加模型回答成功的概率。
最常见的CoT形式,通过给予大模型一个诱导性短语。如“让我们一步步思考”,“以循序渐进的方式解决这个问题”,“让我们一步步来判断答案是否正确”这类提示词通常与具体使用场景无关,是一句“万能咒语”。
类似于第一性原理,后退提示是让大模型先提取高层次的概念,然后再利用这些概念来指导推理路径。通常分为两步
Here is a question or task: {{Question}}
Let's think step-by-step to answer this:
Step 1) Abstract the key concepts and principles relevant to this question:
Step 2) Use the abstractions to reason through the question:
Final Answer:
整个操作等价于把所需知识+问题一并给大模型,让它来进行回答,我不觉得这属于什么推理能力,只是通过第一阶段诱导激活大模型的部分知识,并尽量排除不相关细节干扰,试图增加答案回答的准确度。原论文对于error cases的分析也证明了这一点,错误与提示词和前一阶段的原理通常无关,问题仍出现在大模型的推理阶段。
自动生成CoT示例,适用场景:数学推理、代码生成
与SG-ICL类似,在零样本场景下希望能够自动生成示例变成少样本场景。这种自动生成的示例的稳定性并不能保证。该方法在数学推理以及代码生成任务中已被证明有效。模板如下:
# Problem: [x]
## Instructions
## Relevant problems: Recall three relevant and distinct problems. For each problem, describe it and explain the solution.
## Solve the initial problem:

适用场景:问题回答、配合RAG的答案检索、尤其是在大型复杂语境
思维线索(ThoT)以思维链提示为基础,改进了诱导方式,这种方法尤其适用于较长的问答设置,以及使用检索增强(RAG)生成大语境时。与 "让我们一步一步地思考 "相比,"思维导线 "的提示词是"Walk me through this context in manageable parts step by step, summarizing and analyzing as we go."( 让我一步一步地了解这个上下文,边总结和分析)。
说白了就是让模型总结上下文,排除无关干扰(总结),然后提高准确率。模板如下
{{Task}}
"Walk me through this context in manageable parts step by step, summarizing and analyzing as we go."表格式思维链Tabular Chain-of-Thought (Tab-CoT)与ThoT类似,只是在推理步骤中使用了不同的格式。具体来说,它指示模型以结构化的格式(通常使用 markdown 表格)提供推理。这种结构化方法有助于提高模型输出的清晰度和条理性,使推理过程更容易理解。模板如下
Problem:[x]
|step|event|result|
适用场景:数学推理、事实问答
将正确示例以及错误示例同时放置于提示词中给到大模型,尝试向大模型表明应该如何推理/不要怎样推理。

不确定性导向思维链提示
适用场景:选择题
投票机制,采样多个思维链推理路径进行推理,并设置一个投票阈值。统计每个选项的投票数,如果多数票比例低于阈值则重新生成答案,反之则是最终答案。
将传统的投票算法应用到大模型推理中,有点类似于agent的reflection机制。但是相当于n倍的token消耗,目前没有实际工程意义。
提出了一个复杂度(Complexity)的概念,简单的理解为推理步骤越多往往意味着更高的答案质量。同时在两个方面得以应用:
参考文献
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。