【Chain-of-Thought 专题】Self-consistency Improves Chain Of Thought Reasoning in Language Models

文章探讨了如何利用Self-consistency改进大语言模型的推理能力,通过生成多条推理路径并选择一致性高的答案,以增强模型的Chain-of-Thought推理。实验在多个大规模语言模型和数据集上进行,证明了这种方法的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Chain-of-Thought 专题】Self-consistency Improves Chain Of Thought Reasoning in Language Models

简要信息:

序号属性
1名称Self-consistency
2发表位置ARXIV
3所属领域自然语言处理、语言模型推理
4研究内容Chain-of-thought
5核心内容Large Language Model Reasoning
6GitHub源码-
7论文PDFhttps://arxiv.org/pdf/2203.11171.pdf

一、动机

  • 虽然大模型在很多NLP任务上表现惊艳,但是他们在推理能力上依然有限。因此最近 Chain-of-Thougth(CoT) 被提出来解决此问题,其通过生成一系列推理路径 Relationales(短文本)来模拟人类一样思考如何解决问题的的过程。

Wei et al. (2022) have proposed chain-of-thought prompting, where a language model is prompted to generate a series of short sentences that mimic the reasoning process a person might employ in solving a task.

例如:
在这里插入图片描述

蓝色部分为人工设计的文本,其来模拟解题思考的过程

  • Self-consistency(自我一致性)建立在一个直觉基础上:一个复杂的推理任务,其可以有多种推理路径(即解题思路),最终都能够得到正确的答案。即所谓条条大路通罗马。一个问题越需要深思熟虑的思考和分析,那么七可以得出答案的推理路径就越多样化。

Self-consistency leverages the intuition that complex reasoning tasks typically admit multiple reasoning paths that reach a correct answer (Stanovich & West, 2000). The more that deliberate thinking and analysis is required for a problem (Evans, 2010), the greater the diversity of reasoning paths that can recover the answer.

  • 具体方法:先从大模型的decoder中采样出一系列个reasoning path,每一个path都能够对应一个最终的答案,我们可以挑选那些能够得到一致答案的较多的path,作为我们的采样得到的reasoning path。基于这个方法,比较符合人类的直觉,即如果很多reasoning path都能得到对应的一个答案,那么这个答案的置信度会比较大。

Such an approach is analogous to the human experience that if multiple different ways of thinking lead to the same answer, one has greater confidence that the final answer is correct.

提炼: 传统的方法是基于greedy decode,即只挑选一个reasoning path。本文的方法是self-consistency,挑选多个reasoning path,并进行类似投票机制选择最佳答案。下面介绍一下具体的方法。

二、方法

本文提出Self-consistency,具体流程如下图所示:
在这里插入图片描述

人类的特点是,每个人都有不同的想法。

A salient aspect of humanity is that people think differently

因为大模型并不能很完美地进行推理,所以每次生成答案以及推理路径时,会出现错误。但是我们基于一个假设,即正确的推理过程尽管都不相同,但是都会到达最后正确的答案,且答案是一致的。基于这个想法,本文提出Self-consistency。

具体方法包括如下几个步骤:

  • 首先,随机挑选一些样本,并人工标注chain of thought;
  • 喂入大模型后,生成多个推理路径 r i \mathbf{r}_i ri,并作为candidate reasoning path集合;
  • 最后,对所有的candidate reasoning path进行汇总,得到那些更多一致的答案,即一个投票规则: arg ⁡ max ⁡ a ∑ i = 1 m I ( a i = a ) \arg\max_a\sum_{i=1}^{m}\mathbb{I}(\mathbf{a}_i=a) argmaxai=1mI(ai=a)

除了投票规则外,也可以采用归一化后加权求和的方式,此时需要获得每个token k k k生成的概率,并得到某一个reasoning path对应的概率值:
在这里插入图片描述
其中 K K K为token的总数。

各种方式获得最终答案的对比情况如下所示:
在这里插入图片描述
可以发现,直接进行投票表决和归一化后的加权求和两种方式效果较好。

Self-consistency的优势与劣势:

  • 优势:探索了一个新的研究领域来寻找较好的答案;
  • 劣势:只能适用于固定的答案,即fixed answer。对于开放式的生成,理论上如果能够定义一个评价机制,来衡量两个生成的文本是否一致,则可以拓展到开放生成任务上。

三、实验

数据集

在这里插入图片描述

在四个主要的大规模语言模型上进行验证:
● 开源的UL2-20B:https://github.com/google-research/google-research/tree/master/ul2
在这里插入图片描述

● GPT3-175B:code-davinci-001 and code-davinci-002
● LaMDA-137B;
● PaLM-540B;

数据集:
● GSM8K;
● SVAMP;
● AQuA;
● StrategyQA
● ARC-challenge

实验结果

在这里插入图片描述
在这里插入图片描述

四、未来工作

  • 可以采用Self-consistency来生成监督数据,提供fine-tuning的数据;
  • 思考如何自动生成或构建更靠谱的Rationale。
<think>好的,我现在需要解释“思维链(Chain-of-Thought)”和“自我一致性(Self-Consistency)”这两个高级提示技巧。用户之前已经问过如何学习提示词,现在想深入了解这些高级技巧。首先,我应该确保自己准确理解这两个概念,然后以清晰的结构进行解释,同时遵循之前的格式要求,比如使用中文、分点说明、包含示例和公式,并且正确应用LaTeX格式。 首先,思维链(Chain-of-Thought,CoT)。我记得这是让AI展示其推理过程的方法,通过分步骤引导模型思考,从而提高复杂问题的解答准确率。需要说明它的定义、作用、使用场景和示例。例如,在数学题中,让模型一步步推导,而不是直接给出答案。可能需要对比有无CoT的示例,以及如何通过提示词触发CoT,比如“请逐步解释你的思考过程”。 然后是自我一致性(Self-Consistency)。这个概念可能涉及生成多个答案并选择最一致的作为最终结果。需要解释其原理,比如通过多数投票或平均概率来提升可靠性。同样需要示例,比如解决同一个问题的不同思路,然后整合结果。此外,可能需要提到如何结合CoT和Self-Consistency,例如生成多个思维链后选取最佳路径。 接下来,检查是否需要其他相关技巧,比如Few-shot learning,但用户特别提到这两个,所以重点放在它们上面。要确保结构清晰,分点展开,每个技巧下有子点,如定义、作用、使用方法、示例等。同时,注意使用LaTeX公式,例如在解释数学问题时用$$包围的公式,以及行内公式如$P(x)$。 需要避免信息过载,所以每个部分保持简洁,但足够详细。比如在CoT部分,可以举一个数学问题的例子,展示没有CoT和有的区别。例如,直接问“解方程3x + 5 = 20”和“请分步骤解方程3x + 5 = 20”,然后模型展示每一步。 对于自我一致性,可能需要更复杂的例子,比如逻辑推理题,让模型生成多个解答路径,然后选择最一致的。例如,一个概率问题,模型给出不同解法,然后综合这些解法得出最终答案。 还要注意用户的背景,他们可能已经了解基础提示词技巧,现在需要进阶内容,所以解释需要深入但易懂。可能需要提到这些技巧的研究背景,比如来自哪些论文,但保持简洁,除非用户需要学术引用。 最后,总结部分要对比两者的异同,以及如何结合使用。可能给出一个综合示例,展示同时应用CoT和Self-Consistency的效果,比如生成多个思维链,评估每个的合理性,然后选择最佳答案。 检查LaTeX是否符合要求:独立公式用$$,行内用$,比如数学步骤中的方程,或者概率公式。例如,在自我一致性中,多数投票可能用公式表示,如$\text{最终答案} = \text{majority}(a_1, a_2, ..., a_n)$。 确保没有使用Markdown格式,但用户之前的回答使用了表格、代码块等,所以可能需要类似的结构,但当前回复可能不需要表格,而是分点列表和示例代码块。例如,在给出示例时,用代码块展示提示词和回答。 需要验证所有信息准确,比如自我一致性是否确实通过多路径采样和聚合,以及思维链是否被证实提升复杂任务表现。如果有不确定的地方,可能需要查阅相关资料确保正确性,但根据已有知识,这些描述是正确的。 总结结构: 1. 思维链(CoT) - 定义与作用 - 使用方法(提示词示例) - 案例对比(有/无CoT) - 数学公式示例(如分步方程) 2. 自我一致性 - 定义与原理 - 实现步骤(生成多个答案,聚合) - 案例(逻辑题,概率问题) - 公式表示(多数投票或概率平均) 3. 综合应用 - CoT + Self-Consistency的结合示例 - 优势总结 4. 对比与总结 - 两者区别与适用场景 - 如何选择使用 最后确保语言口语化,但结构清晰,符合用户之前回答的风格,比如分节、加粗标题、示例代码块等。避免使用专业术语过多,必要时进行解释。例如,解释“多数投票”为选择出现次数最多的答案。</think>#### 一、思维链(Chain-of-Thought,CoT) **定义与作用**: 通过引导AI分步骤展示推理过程,提升复杂问题的解决能力。 **核心原理**:模仿人类逐步思考,减少“跳跃性错误”,尤其适用于数学、逻辑推理等任务。 --- ##### 使用方法与示例 1. **基础指令**: 在提示词中明确要求分步思考,例如: ``` “请逐步解释:如果3个苹果和5个橘子共花费38元,2个苹果比1个橘子贵4元,苹果单价是多少?” ``` 2. **对比效果**: - **无CoT**: 输入:“解方程 $3x + 5 = 20$” → 输出:“x=5” - **有CoT**: 输入:“请分步骤解方程 $3x + 5 = 20$” 输出: ``` 步骤1:移项得 $3x = 20 - 5$ 步骤2:计算右侧 $3x = 15$ 步骤3:两边除以3 → $x = 5$ ``` 3. **数学公式扩展**: 对于复杂问题,模型可能展示更详细的推导,例如: $$ \begin{aligned} \text{总成本} &= 3a + 5o = 38 \quad (1) \\ a &= 2o + 4 \quad \quad \quad \quad (2) \\ \text{将(2)代入(1)} &→ 3(2o+4) + 5o = 38 \\ &→ 6o + 12 + 5o = 38 \\ &→ 11o = 26 → o = \frac{26}{11} ≈ 2.36 \end{aligned} $$ --- #### 二、自我一致性(Self-Consistency) **定义与原理**: 通过生成多个候选答案,选择出现频率最高或逻辑一致的答案,提升结果可靠性。 **适用场景**:开放性问题、存在多种解法的题目(如逻辑推理、概率计算)。 --- ##### 实现步骤与案例 1. **生成多路径答案**: 例如输入: ``` “有3个盒子,1个有奖品。你选A盒后,主持人打开空盒B,问是否换到C盒?用两种不同方法分析。” ``` 输出可能包含: - **方法1**:概率计算 → 换盒后中奖概率 $\frac{2}{3}$ - **方法2**:模拟实验 → 换盒胜率更高 2. **聚合结果**: - **多数投票**:若70%的生成结果支持“换盒”,则采纳此结论。 - **公式表示**: $$ \text{最终答案} = \arg\max_{a} \sum_{i=1}^{n} \mathbb{I}(a_i = a) $$ 其中 $n$ 为生成答案总数,$\mathbb{I}$ 为指示函数。 3. **实际应用示例**: - **输入**: “用3种不同方法证明:所有大于2的偶数可以表示为两个质数之和(哥德巴赫猜想)。” - **输出**: 生成枚举法、概率统计、数论推导等不同路径,最终选择被多路径支持的结论。 --- #### 三、综合应用:CoT + Self-Consistency **协同优势**: 1. 先用CoT生成多条推理链 2. 再用Self-Consistency筛选最优解 **案例:解决几何问题** - **输入**: “用两种不同方法证明勾股定理,并选择更简洁的证明。” - **输出流程**: 1. **方法1**(面积法): $$ a^2 + b^2 = c^2 \text{(通过拼接三角形推导)} $$ 2. **方法2**(代数法): $$ (a+b)^2 = c^2 + 4 \times \frac{1}{2}ab → a^2 + b^2 = c^2 $$ 3. **一致性判断**:两种方法均得证 → 结果可信度更高。 --- #### 四、对比与总结 | 技巧 | 核心目标 | 适用场景 | |---------------------|----------------------------|----------------------------| | 思维链(CoT) | 展示推理过程,减少错误 | 数学、逻辑、多步问题 | | 自我一致性 | 提升答案可靠性 | 开放性问题、多解法任务 | **如何选择**: - **单一复杂问题** → 优先使用CoT - **答案模糊的任务** → 结合Self-Consistency - **学术研究/高精度需求** → 同时应用两种方法 **进阶提示词设计**: ``` "请分步骤分析以下问题,并给出3种不同解法,最后选择最合理的答案: 问题:{你的问题}" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华师数据学院·王嘉宁

$感谢支持$

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值