self-consistency:自洽性提升语言模型中的链式思维推理能力

摘要

结合预训练大规模语言模型的链式思维提示(chain-of-thought prompting)在复杂推理任务上取得了令人鼓舞的成果。本文提出了一种新的解码策略------自洽性(self-consistency),用于替代链式思维提示中使用的朴素贪婪解码。该策略首先采样一组多样化的推理路径,而不是只采用贪婪路径,然后通过对采样的推理路径进行边缘化,选择最一致的答案。自洽性利用了这样一个直觉:复杂的推理问题通常存在多种不同的思维方式可以通向唯一正确的答案。我们的大量实证评估表明,自洽性策略在多个主流的算术与常识推理基准任务上显著提升了链式思维提示的性能,包括 GSM8K(+17.9%)、SVAMP(+11.0%)、AQuA(+12.2%)、StrategyQA(+6.4%)和 ARC-challenge(+3.9%)。

1 引言

尽管语言模型在众多 NLP 任务中取得了显著成功,但其推理能力仍被视为一个局限性,仅靠扩大模型规模并不足以克服这一限制(Rae et al., 2021;BIG-bench collaboration, 2021 等)。为了解决这一问题,Wei 等人(2022)提出了链式思维提示(chain-of-thought prompting)方法,该方法促使语言模型生成一系列简短句子,模仿人类在解决任务时可能采用的推理过程。例如,面对问题 "如果停车场里有 3 辆车,又来了 2 辆车,现在停车场里有多少辆车?",语言模型不会直接回答 "5",而是会生成完整的链式思维过程:"停车场里已有 3 辆车,又来了 2 辆车。现在是 3 + 2 = 5 辆车。答案是 5。"已有研究表明,链式思维提示在多步推理任务中显著提升了模型表现(Wei et al., 2022)。

在本文中,我们提出了一种新颖的解码策略------自洽性(self-consistency),用于替代链式思维提示中使用的贪婪解码策略(Wei et al., 2022),该策略在显著程度上进一步提升了语言模型的推理能力。自洽性基于这样一种直觉:复杂的推理任务通常存在多条可以通向正确答案的推理路径(Stanovich & West, 2000)。一个问题所需的深思熟虑与分析越多(Evans, 2010),可恢复答案的推理路径的多样性也就越高。

图 1 以一个示例说明了自洽性方法。我们首先对语言模型使用链式思维提示,然后不再使用贪婪方式解码最优推理路径,而是提出了一种"采样与边缘化"的解码过程:我们首先从语言模型的解码器中进行采样,以生成一组多样化的推理路径;每条推理路径可能会导出不同的最终答案,因此我们通过对这些采样推理路径进行边缘化,从最终答案集中选出最一致的答案作为最优解。这种方法类比于人类经验:当多种不同的思维方式导出相同的答案时,人们往往对该答案更有信心。与其他解码方法相比,自洽性避免了贪婪解码中常见的重复性和局部最优问题,同时缓解了单次采样生成所带来的随机性。

自洽性比以往的方法简单得多。先前的方法通常需要训练一个额外的验证器(Cobbe et al., 2021),或在额外的人类标注基础上训练一个重新排序器以提升生成质量(Thoppilan et al., 2022)。相比之下,自洽性完全是无监督的,能够直接作用于预训练语言模型,无需任何额外的人类标注,也不需要额外的训练、辅助模型或微调。自洽性还不同于典型的集成方法,后者通常训练多个模型并聚合各个模型的输出;它更像是在单个语言模型之上的"自集成"(self-ensemble)。

我们在多个算术与常识推理任务上评估了自洽性,涵盖了四个不同规模的语言模型:公开的 UL2-20B(Tay et al., 2022)和 GPT-3-175B(Brown et al., 2020),以及两个密集激活的 decoder-only 语言模型:LaMDA-137B(Thoppilan et al., 2022)和 PaLM-540B(Chowdhery et al., 2022)。在这四个语言模型上,自洽性在所有任务中均显著优于链式思维提示。

特别是,当与 PaLM-540B 或 GPT-3 结合使用时,自洽性在算术推理任务中达到了新的 state-of-the-art 性能水平,包括 GSM8K(Cobbe et al., 2021)(+17.9% 绝对准确率提升)、SVAMP(Patel et al., 2021)(+11.0%)、AQuA(Ling et al., 2017)(+12.2%);在常识推理任务中也表现优异,如 StrategyQA(Geva et al., 2021)(+6.4%)和 ARC-challenge(Clark et al., 2018)(+3.9%)。

在额外的实验中,我们还展示了自洽性在某些 NLP 任务上同样具有稳健的性能提升能力------即便在加入链式思维提示反而会损害性能、相较于标准提示更差的情况下(Ye & Durrett, 2022),自洽性仍能带来提升。我们还展示了自洽性显著优于 sample-and-rank、beam search、基于集成的方法,且对采样策略和不完美提示具有良好的鲁棒性。

2 自洽性:基于多样推理路径的思想

人类的一大显著特征在于每个人的思维方式都不同。在需要深思熟虑的任务中,存在多种解题路径是很自然的现象。我们提出,这一过程可以通过从语言模型的解码器中进行采样来在语言模型中模拟。例如,如图 1 所示,模型可以针对一道数学题生成多个看似合理的答案路径,其中一些(如输出 1 和输出 3)都得出了相同的正确答案。由于语言模型并不是完美的推理者,模型也可能生成一条错误的推理路径,或者在某个推理步骤中出错(例如输出 2),但这样的推理路径最终得出相同答案的概率较低。也就是说,我们的假设是:即便推理路径各异,正确的推理过程在最终答案上更容易达成一致,而错误的过程则更难。

我们基于这一直觉提出了自洽性方法,其流程如下:

  1. 首先,用一组手工编写的链式思维示例(Wei et al., 2022)对语言模型进行提示。
  2. 接着,从语言模型的解码器中采样多个候选输出,生成一组多样的推理路径。
  3. 自洽性方法兼容多数现有采样算法,包括:
    • 温度采样(temperature sampling)(Ackley et al., 1985;Ficler & Goldberg, 2017)
    • top-k 采样(Fan et al., 2018;Holtzman et al., 2018;Radford et al., 2019)
    • nucleus 采样(Holtzman et al., 2020)
  4. 最后,对生成的推理路径进行边缘化处理,仅保留其最终答案,并选取出现频率最高的答案作为最终输出。

这种方式通过"在思维路径上进行多样采样,在答案层面达成自洽共识",有效地利用了正确路径之间的收敛性,显著提升了语言模型的推理准确性和稳健性。

更详细地解释:自洽性如何建模多样推理路径并聚合答案

假设生成的答案 a i \mathbf{a}_i ai 来自一个固定的答案集合 A \mathbb{A} A,即 a i ∈ A \mathbf{a}_i \in \mathbb{A} ai∈A,其中 i = 1 , ... , m i = 1, \ldots, m i=1,...,m 表示从解码器中采样的 m m m 个候选输出。给定一个 prompt 和一个问题,自洽性方法引入了一个额外的潜变量 r i \mathbf{r}_i ri,它表示第 i i i 个输出中的推理路径,是一个 token 序列。我们将生成过程耦合为 ( r i , a i ) \left(\mathbf{r}_i, \mathbf{a}_i\right) (ri,ai),其中 r i → a i \mathbf{r}_i \rightarrow \mathbf{a}_i ri→ai,即推理路径 r i \mathbf{r}_i ri 的作用是引导模型生成最终答案 a i \mathbf{a}_i ai。注意,推理路径是可选的,它本身不一定要完整或准确,但其目的是支持答案的生成。

举例来说,考虑图 1 中的 Output 3:前几句如 "She eats 3 for breakfast ... So she has 9 \\text{ eggs} \* 2 = 189 , e g g s \* 2 = 18 " 构成了 r i \mathbf{r}_i ri,而最后一句中得出的答案 $$18$ 即为 a i \mathbf{a}_i ai。我们从所有 ( r i , a i ) (\mathbf{r}_i, \mathbf{a}_i) (ri,ai) 对中进行汇总,根据答案 a i \mathbf{a}_i ai 出现的频率来选出最"自洽"的答案: arg ⁡ max ⁡ a ∑ i = 1 m 1 ( a i = a ) , \begin{array} { r } { \arg \operatorname* { m a x } _ { a } \sum _ { i = 1 } ^ { m } \mathbb { 1 } ( \mathbf { a } _ { i } = a ) , } \end{array} argmaxa∑i=1m1(ai=a), 也就是说,选择在所有样本中出现频率最高的答案。

在 表 1 中,作者展示了在多个推理任务上使用不同答案聚合策略的测试准确率。除了简单的多数票方式,还可以为每个 ( r i , a i ) (\mathbf{r}_i, \mathbf{a}_i) (ri,ai) 对根据其生成概率 P ( r i , a i ∣ prompt, question ) P(\mathbf{r}_i, \mathbf{a}_i \mid \text{prompt, question}) P(ri,ai∣prompt, question) 分配权重。

为计算该概率,可以使用以下两种方式之一:

  1. 非归一化概率 :直接使用模型生成 ( r i , a i ) (\mathbf{r}_i, \mathbf{a}_i) (ri,ai) 的原始(未标准化)概率。
  2. 归一化概率 :按输出长度 K K K 进行归一化,如下所示(Brown et al., 2020):
    P ( r i , a i ∣ p r o m p t , q u e s t i o n ) = exp ⁡ 1 K ∑ k = 1 K log ⁡ P ( t k ∣ p r o m p t , q u e s t i o n , t 1 , ... , t k − 1 ) ( 1 ) \begin{array} { r } { P ( \mathbf { r } _ { i } , \mathbf { a } _ { i } \mid \mathrm { p r o m p t } , \mathfrak { q u e s t i o n } ) = \exp ^ { \frac { 1 } { K } \sum _ { k = 1 } ^ { K } \log P ( t _ { k } | \mathrm { p r o m p t } , \mathfrak { q u e s t i o n } , t _ { 1 } , \dots , t _ { k - 1 } ) } } \end{array} \quad(1) P(ri,ai∣prompt,question)=expK1∑k=1KlogP(tk∣prompt,question,t1,...,tk−1)(1)

其中, log ⁡ P ( t k ∣ prompt , question , t 1 , ... , t k − 1 ) \log P(t_k \mid \text{prompt}, \text{question}, t_1, \ldots, t_{k-1}) logP(tk∣prompt,question,t1,...,tk−1) 表示在给定 prompt、question 和之前的 token t 1 , ... , t k − 1 t_1, \ldots, t_{k-1} t1,...,tk−1 的条件下,生成第 k k k 个 token t k t_k tk 的对数概率;而 K K K 是 ( r i , a i ) \left( \mathbf{r}_i, \mathbf{a}_i \right) (ri,ai) 中 token 的总数。

表 1 的结果表明:

  • 简单的 多数票(unweighted sum) 与使用式 (1) 所计算的归一化加权求和(normalized weighted sum) 在准确率上非常接近。
  • 进一步分析发现,这是因为对于每个 ( r i , a i ) (\mathbf{r}_i, \mathbf{a}_i) (ri,ai),模型给出的归一化概率值都非常接近,即模型认为它们"同样可能"。
  • 然而,归一化版本相比非归一化版本在准确率上表现更好。
  • 另外,作者还报告了一种称为 "加权平均"的聚合方式,即将每个答案的加权值除以该答案出现的次数 ∑ i = 1 m 1 ( a i = a ) , \begin{array} { r } { \sum _ { i = 1 } ^ { m } \mathbb { 1 } ( \mathbf { a } _ { i } = a ) , } \end{array} ∑i=1m1(ai=a), 结果显示这种方式效果最差。

方法意义与适用范围

自洽性方法处在 开放式生成(open-ended generation) 与 确定性生成(greedy decoding for fixed answer) 之间的一个有趣空间。

虽然推理任务往往有唯一正确答案,因此过去大多采用贪婪解码(Radford et al., 2019;Wei et al., 2022;Chowdhery et al., 2022),但本文表明:即便目标答案是固定的,引入推理多样性仍能显著提升表现。因此,作者借用了开放式文本生成中的采样策略(Radford et al., 2019;Brown et al., 2020;Thoppilan et al., 2022)来增强推理多样性。

需要注意的是,自洽性目前只适用于那些 有固定答案集合的问题。不过,如果能定义出一套良好的多输出一致性度量方法(例如判断两个答案是否矛盾或一致),这种方法理论上也可以推广到开放式文本生成场景中。

温馨提示:

阅读全文请访问"AI深语解构 " self-consistency:自洽性提升语言模型中的链式思维推理能力

相关推荐
云烟成雨TD17 小时前
Spring AI Alibaba 1.x 系列【51】Graph 整体运行全流程
java·人工智能·spring
墨神谕17 小时前
Agent Skill从使用到原理
人工智能·ai
财经资讯数据_灵砚智能17 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月13日
大数据·人工智能·python·信息可视化·自然语言处理
零壹AI实验室17 小时前
用AI 10分钟搭建一个监控系统:Prometheus + Grafana 实战
人工智能·grafana·prometheus
志栋智能17 小时前
超自动化巡检:量化运维成效的标尺
运维·网络·人工智能·自动化
AI科技星17 小时前
紫金山天文台与6G 超导太赫兹实验对比【乖乖数学】
人工智能·线性代数·机器学习·量子计算·agi
摩尔线程17 小时前
摩尔线程携手紫光计算机发布《语音识别全栈国产化技术实践白皮书》
人工智能·语音识别·摩尔线程
字节跳动开源17 小时前
局中局!给 Agent 装上 OpenViking,它们竟然学会了“记仇”和“伪装”?
人工智能·开源·llm
Exploring17 小时前
通过 Vibe Coding,我开发的第一款鸿蒙 App 上架了,欢迎大家下载体验
人工智能
杀生丸学AI17 小时前
【VALSE 2026】AI领域年度重要进展
人工智能