论文状态:已完成

Self-Consistency Improves Chain of Thought Reasoning in Language Models

发表:2022/03/22
原文链接PDF 下载
价格:0.100000
价格:0.100000
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种新的解码策略——自一致性,以改善大语言模型的链式思维推理能力。该方法通过采样多样化的推理路径,选取最一致的答案,显著提升了模型在数学和常识推理任务上的表现,如GSM8K提高17.9%。

摘要

Chain-of-thought prompting combined with pre-trained large language models has achieved encouraging results on complex reasoning tasks. In this paper, we propose a new decoding strategy, self-consistency, to replace the naive greedy decoding used in chain-of-thought prompting. It first samples a diverse set of reasoning paths instead of only taking the greedy one, and then selects the most consistent answer by marginalizing out the sampled reasoning paths. Self-consistency leverages the intuition that a complex reasoning problem typically admits multiple different ways of thinking leading to its unique correct answer. Our extensive empirical evaluation shows that self-consistency boosts the performance of chain-of-thought prompting with a striking margin on a range of popular arithmetic and commonsense reasoning benchmarks, including GSM8K (+17.9%), SVAMP (+11.0%), AQuA (+12.2%), StrategyQA (+6.4%) and ARC-challenge (+3.9%).

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

Self-Consistency Improves Chain of Thought Reasoning in Language Models (自一致性改进语言模型中的链式思维推理)

1.2. 作者

Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc Le, Ed H. Chi, Sharan Narang, Aakanksha Chowdhery, Denny Zhou。 他们均隶属于 Google Research, Brain Team

1.3. 发表期刊/会议

预印本,发表于 arXiv。

1.4. 发表年份

2022年3月21日(UTC时间)

1.5. 摘要

链式思维 (Chain-of-thought, CoT) 提示结合预训练大语言模型 (Large Language Models, LLMs) 在复杂推理任务上取得了令人鼓舞的成果。本文提出了一种新的解码策略——自一致性 (self-consistency),以替代链式思维提示中使用的朴素贪婪解码 (greedy decoding)。该策略首先采样一组多样化的推理路径,而不是仅选择贪婪路径,然后通过边缘化 (marginalizing out) 采样的推理路径来选择最一致的答案。自一致性利用的直觉是,一个复杂的推理问题通常允许多种不同的思考方式,最终导向其独特的正确答案。我们广泛的实证评估表明,自一致性显著提升了链式思维提示在各种流行的算术和常识推理基准上的性能,包括 GSM8K (+17.9%)、SVAMP (+11.0%)、AQuA (+12.2%)、StrategyQA (+6.4%) 和 ARC-challenge (+3.9%)。

1.6. 原文链接

原文链接: https://arxiv.org/abs/2203.11171v4 PDF 链接: https://arxiv.org/pdf/2203.11171v4.pdf 发布状态:预印本

2. 整体概括

2.1. 研究背景与动机

大语言模型 (LLMs) 在各种自然语言处理 (Natural Language Processing, NLP) 任务中展现出卓越的成功,但在需要复杂推理的任务中,其表现往往受到限制,并非简单地扩大模型规模就能克服。为了解决这一局限性,Wei 等人 (2022) 提出了链式思维 (Chain-of-Thought, CoT) 提示,它引导语言模型生成一系列模仿人类解决任务时可能采用的推理过程的短句。例如,对于数学问题,模型会生成逐步的计算过程,而非直接给出最终答案。这种方法显著提升了模型在多步推理任务上的性能。

然而,传统的链式思维提示通常采用贪婪解码 (greedy decoding) 策略,即在每一步生成时都选择概率最高的词元 (token)。这种方法可能导致模型陷入局部最优,产生重复性或缺乏多样性的推理路径,从而限制了其在复杂推理任务上的潜力。

本文的动机在于,复杂的推理问题通常允许多种不同的、但都能导向正确答案的思考方式。如果模型能探索并利用这些多样化的推理路径,并从中找到最“一致”的答案,那么它对最终答案的置信度将更高,准确性也将得到提升。这类似于人类经验:如果多种不同的思维方式都指向同一个答案,人们会更加确信最终答案是正确的。

2.2. 核心贡献/主要发现

本文提出了一个名为自一致性 (self-consistency) 的新型解码策略,用于替代链式思维提示中的贪婪解码,从而显著提升了语言模型的推理性能。其核心贡献和主要发现包括:

  • 提出新的解码策略 self-consistency (自一致性): 该方法首先从语言模型的解码器中采样生成一组多样化的推理路径,然后通过边缘化这些采样的推理路径,选择最终答案集中最“一致”的答案。
  • 显著提升推理准确率: 在一系列算术推理 (如 GSM8K (+17.9%)、SVAMP (+11.0%)、AQuA (+12.2%)) 和常识推理 (如 StrategyQA (+6.4%)、ARC-challenge (+3.9%)) 基准上,自一致性方法相对于链式思维提示取得了显著的绝对准确率提升。
  • 实现新的 state-of-the-art (最先进的) 性能: 结合 PaLM-540B 或 GPT-3 模型,自一致性在几乎所有算术推理任务上都达到了新的 state-of-the-art (最先进的) 性能水平,并在常识推理任务上也取得了优异表现。
  • 无需额外训练或标注: 自一致性是一种完全无监督 (unsupervised) 的方法,可以直接应用于预训练语言模型,不需要额外的训练、辅助模型、微调 (fine-tuning) 或人类标注。这使其比需要训练验证器或重排序器的现有方法更简单高效。
  • 强大的鲁棒性 (robustness):
    • 即使在链式思维提示可能损害性能的 NLP 任务上,自一致性也能有效提高性能。
    • 自一致性优于其他生成改进方法,如 sample-and-rank (采样与排序)、beam search (集束搜索) 和基于集成的 (ensemble-based) 方法。
    • 该方法对采样策略和参数以及不完美的提示 (imperfect prompts) 具有鲁棒性。
    • 它也适用于非自然语言推理路径(如方程)和 zero-shot chain-of-thought (零样本链式思维) 场景。
  • 提供不确定性估计 (uncertainty estimate): 答案之间的一致性程度与模型的准确性高度相关,这表明自一致性可以作为模型对其生成解决方案不确定性的一个指标。

3. 预备知识与相关工作

3.1. 基础概念

理解本文需要掌握以下基础概念:

  • 语言模型 (Language Model, LM): 语言模型是一种概率模型,它计算一个给定词序列的概率。大语言模型 (Large Language Models, LLMs) 通常指拥有数亿甚至数千亿参数的深度神经网络,它们通过在海量文本数据上进行预训练 (pre-training) 来学习语言的统计规律、语义和世界知识。它们能够执行文本生成、摘要、翻译等多种任务。
  • 预训练 (Pre-training): 大语言模型通常首先在一个大规模的文本语料库上进行无监督学习,学习预测下一个词元 (token) 或填充缺失的词元,从而捕捉语言的深层模式。
  • 词元 (Token): 在自然语言处理中,token 指的是文本的最小有意义单元,可以是单词、子词或字符。语言模型在处理文本时,会将文本分解成一系列词元。
  • 提示 (Prompting): 是一种与语言模型交互的方式,通过给模型提供一个文本输入(即“提示”),引导模型生成期望的输出。在 few-shot learning (少样本学习) 中,提示通常包含一些示例来指导模型的行为。
  • 少样本学习 (Few-shot Learning): 语言模型的一种能力,指模型在只见过少量示例的情况下,就能泛化并解决新任务。与传统的监督学习需要大量标注数据不同,few-shot learning 依赖于模型强大的预训练能力来理解任务。
  • 链式思维提示 (Chain-of-Thought Prompting, CoT): 由 Wei 等人 (2022) 提出的一种提示技术。它通过在提示中包含一系列中间推理步骤(即“思维链”),来引导语言模型生成更复杂的、多步的推理过程,而非直接给出最终答案。例如,解决一个数学应用题时,CoT 会让模型像人类一样一步步列出计算过程。
  • 贪婪解码 (Greedy Decoding): 语言模型最简单的解码策略之一。在生成每个词元时,模型总是选择在当前步具有最高概率的词元。虽然简单高效,但它可能导致模型陷入局部最优,无法探索到更优的全局序列。
  • 采样 (Sampling): 与贪婪解码相对,采样解码策略在生成每个词元时,会根据模型的概率分布随机选择一个词元(而非总是选择概率最高的)。这引入了随机性,使模型能够生成多样化的、不同的输出序列。常见的采样方法包括 temperature sampling (温度采样)、top-k sampling (Top-k 采样) 和 nucleus sampling (核采样)。
    • Temperature Sampling (温度采样): 通过调整 temperature (温度) 参数 TT 来控制采样过程的随机性。TT 越高,概率分布越平坦,采样结果越随机;TT 越低,概率分布越尖锐,采样结果越接近贪婪解码。
    • Top-k Sampling (Top-k 采样): 在采样时,只考虑词元概率分布中概率最高的 kk 个词元,然后从这 kk 个词元中进行采样。
    • Nucleus Sampling (核采样): 动态地选择一个最小的词元集,使其累积概率超过一个阈值 pp,然后从这个集合中进行采样。

3.2. 前人工作

本文所处的背景是语言模型在推理任务上的研究,其主要改进是基于 Wei 等人 (2022) 提出的 chain-of-thought prompting。相关工作主要围绕以下几个方面:

  • 语言模型推理的局限性: Rae 等人 (2021) 和 BIG-bench collaboration (2021) 等工作指出,即使增加模型规模,语言模型在推理能力上仍存在局限性。许多工作致力于通过专门的方法来提高模型的推理能力,例如 Andor et al. (2019)Ranetal.(2019)Ran et al. (2019)Geva et al. (2020)Pikos et al. (2021)
  • 链式思维提示 (CoT): Weietal.(2022)Wei et al. (2022) 首次提出了 chain-of-thought prompting,通过引导模型生成中间推理步骤,显著提升了模型在多步推理任务上的表现。本文的 self-consistency 正是在此基础上进行改进的解码策略。
  • 采样与重排序 (Sampling and Re-ranking): 提高语言模型生成质量的常用方法。
    • Adiwardana et al. (2020) 提出了 sample-and-rank (采样与排序) 的方法,即采样多个序列并根据其对数概率进行排名。
    • Thoppilan et al. (2022) 通过收集额外的人工标注来训练一个重排序器 (re-ranker) 以过滤响应。
    • Cobbe et al. (2021) 训练了一个“验证器” (verifier) 来重排序生成的解决方案,显著提高了数学任务的解决率。
    • Elazar et al. (2021) 通过额外的 consistency loss (一致性损失) 扩展预训练,以提高事实知识提取的一致性。这些方法通常需要额外的训练、微调或数据收集。
  • 多样性解码策略 (Diverse Decoding Strategies): 文献中提出了多种解码策略来促进生成的多样性。
    • 除了 temperature samplingtop-k samplingnucleus sampling (Ackley et al., 1985; Ficler & Goldberg, 2017; Fan et al., 2018; Holtzman et al., 2018, 2020; Radford et al., 2019) 外,还有 minimum Bayes risk decoding (Eikema & Aziz, 2020; Shi et al., 2022) 和 typical decoding (Meister et al., 2022)。
    • 也有工作明确旨在促进解码过程中的多样性 (Batra et al., 2012; Li et al., 2016; Vijayakumar et al., 2018)。
  • 推理路径提取 (Extracting Reasoning Paths): 一些研究关注特定任务的推理路径识别。
    • Xuetal.(2021a)Xu et al. (2021a) 构建语义图。
    • Asai et al. (2020) 学习 RNN 来检索维基百科图上的推理路径。
    • Cobbe et al. (2021) 通过人工标注的数学问题推理路径进行微调。
    • Chen et al. (2019) 训练提取器,使用基于启发式的伪推理路径。
    • Yuetal.(2022)Yu et al. (2022) 引入潜在变量,利用知识图谱的多样性进行常识推理。这些方法通常是任务特定的,或需要额外训练。
  • 语言模型中的一致性 (Consistency in Language Models): 先前工作指出语言模型在对话 (Adiwardana et al., 2020)、解释生成 (Camburu et al., 2020) 和事实知识提取 (Elazar et al., 2021) 中可能存在不一致性。Welleck 等人 (2020) 将“一致性”用于指循环语言模型中生成无限长度序列。Nye 等人 (2021) 通过增加受 System 2 启发的逻辑推理模块,提高了 System 1 模型样本的逻辑一致性。本文关注的是利用不同推理路径间答案的一致性来提高准确性。

3.3. 技术演进

LLMs 解决推理任务的能力经历了从最初的直接回答(通常效果不佳)到引入中间步骤辅助推理的演变。

  1. 直接回答 (Direct Answering): 早期的 LLMs 主要通过 standard prompting (标准提示) 进行少样本学习,直接给出最终答案。这种方法在复杂多步推理任务上表现不佳,因为它难以模拟人类的逐步思考过程。
  2. 链式思维提示 (CoT Prompting): Weietal.(2022)Wei et al. (2022) 提出的 CoT 是一个重要的里程碑,它通过在提示中加入人工编写的推理示例,引导 LLM 生成中间推理步骤。这些推理步骤被称为“思维链”,显著提升了模型在算术、常识和符号推理等任务上的性能,揭示了 LLM 潜在的推理能力。
  3. 零样本链式思维 (Zero-shot CoT): Kojima et al. (2022) 发现,即使不提供任何推理示例,仅仅在提示中加入“让我们一步步思考 (Let's think step by step)”这样的短语,也能激发 LLM 生成思维链并提高性能,进一步简化了 CoT 的应用。
  4. 自一致性 (Self-Consistency): 本文提出的 self-consistency 是在 CoT 基础上对解码策略的改进。CoT 虽好,但其通常使用的贪婪解码可能限制了其潜力。self-consistency 的核心思想是,通过采样生成多条推理路径,并从这些路径导出的答案中选择最一致的那个。这模拟了人类在解决复杂问题时,会尝试多种方法并验证结果一致性的过程,从而弥补了贪婪解码可能导致的局部最优问题,并进一步提升了推理准确性。

3.4. 差异化分析

本文提出的 self-consistency 方法与相关工作的核心区别和创新点如下:

  • 与贪婪解码 CoT 的区别: self-consistency 直接替换了 chain-of-thought prompting 中的贪婪解码,通过引入多样性采样来生成多条推理路径,而贪婪解码只生成一条路径。这是最直接的改进点,实验结果也显示了巨大的性能提升。
  • verifier (验证器) 或 re-ranker (重排序器) 的区别: 传统的 verifierre-ranker 方法(如 Cobbe et al., 2021Thoppilan et al., 2022)通常需要额外的训练、辅助模型或人类标注来评估和选择最佳的生成结果。self-consistency 则完全是无监督的 (unsupervised),无需任何额外训练或标注,直接利用单一语言模型自身生成的多样性来提升性能,这使其更简单、更通用。
  • sample-and-rank (采样与排序) 的区别: sample-and-rank 通常根据生成序列的对数概率 (log probability) 进行排名,然后选择排名最高的序列。self-consistency 则关注最终答案的一致性,通过多数投票等方式聚合答案,而非仅仅依赖单个序列的概率得分。实验表明 self-consistency 的性能远优于 sample-and-rank
  • beam search (集束搜索) 的区别: beam search 旨在找到概率最高的几个序列,但它倾向于生成相似度高的序列,多样性不足。self-consistency 强调通过采样生成多样化的推理路径,这种多样性是其性能提升的关键。实验也证明 self-consistency 在多样性生成方面优于 beam search
  • 与传统 ensemble (集成) 方法的区别: 传统的 ensemble 方法通常涉及训练多个模型并将它们的输出聚合,或者通过改变提示顺序、使用不同提示集来生成多个输出。self-consistency 更像是一种“自集成” (self-ensemble) 机制,它在单个语言模型的基础上工作,通过采样生成多个推理路径进行聚合。实验表明,self-consistency 的效果显著优于基于提示顺序排列或多提示集的 ensemble 方法。
  • 通用性与任务无关性: 许多提高推理能力的方法是任务特定的,或需要对推理路径进行专门的训练或提取。self-consistency 是一种通用的解码策略,不依赖于任务的特定结构,也无需额外模块来提取推理路径,只需简单地耦合推理路径和最终答案的生成。

4. 方法论

4.1. 方法原理

self-consistency 方法的核心思想基于一个直觉:对于一个复杂的推理问题,通常存在多种不同的、但都能导向唯一正确答案的思考方式。语言模型作为“不完美”的推理者,在生成推理过程时可能会产生多种路径,其中一些是正确的,另一些可能是错误的。本文假设,正确的推理过程,即使它们形式各异,在最终答案上往往会表现出更高的一致性,而错误的推理过程则更可能导致不一致的答案。

因此,self-consistency 通过多样化采样来模拟这种“多视角思考”的过程,生成一组候选的推理路径和对应的答案。然后,它不依赖于任何单一路径的概率或质量评估,而是通过聚合这些答案,选择那些在最终结果上表现出最高一致性的答案。这类似于人类在解决问题时,如果多种不同的解法都得到相同的结果,则会对该结果有更高的信心。这种方法旨在避免贪婪解码的局部最优和重复性问题,同时减轻单个采样生成结果的随机性。

4.2. 核心方法详解 (逐层深入)

self-consistency 方法包含三个主要步骤,如下图(原文 Figure 1)所示:

Figure 1: The self-consistency method contains three steps: (1) prompt a language model using chai-of-thought (CoT) promptng; (2) replace the greedy decode" in CoT prompting by sampling from the language model's decoder to generate a diverse set of reasoning paths; and (3) marginalize out the reasoning paths and aggregate by choosing the most consistent answer in the final answer set.
Figure 1: self-consistency 方法包含三个步骤:(1) 使用链式思维 (CoT) 提示语言模型;(2) 通过从语言模型的解码器中采样生成多样化的推理路径,替代 CoT 提示中的贪婪解码;(3) 边缘化推理路径,并通过选择最终答案集中最一致的答案进行聚合。

4.2.1. 步骤一:使用链式思维提示语言模型 (Prompt a Language Model Using CoT Prompting)

首先,语言模型通过 chain-of-thought (CoT) 提示 (Wei et al., 2022) 进行提示。这意味着模型接收一个输入问题以及少量人工编写的 CoT 示例 (exemplars)。这些示例展示了如何一步步解决问题,从而引导模型在生成答案时也产生类似的中间推理步骤。

4.2.2. 步骤二:多样推理路径采样 (Sample Diverse Reasoning Paths)

这一步是 self-consistency 的核心创新。它取代了 CoT 提示中使用的朴素贪婪解码。具体来说,不是只生成一个“最优”的推理路径,而是从语言模型的解码器中采样生成一组多样化的候选输出。每个候选输出都包含一个推理路径和对应的最终答案。

假设从解码器中采样了 mm 个候选输出。每个输出可以表示为 (ri,ai)(\mathbf{r}_i, \mathbf{a}_i),其中 i=1,,mi = 1, \ldots, m

  • ri\mathbf{r}_i: 代表第 ii 个输出中的推理路径,即一系列词元 (tokens) 组成的序列。

  • ai\mathbf{a}_i: 代表第 ii 个输出中推导出的最终答案,它属于一个固定的答案集合 A\mathbb{A}

    这种采样过程可以兼容大多数现有的采样算法,例如 temperature sampling (温度采样)、top-k sampling (Top-k 采样) 和 nucleus sampling (核采样)。通过引入随机性,可以确保生成的推理路径具有足够的多样性。

4.2.3. 步骤三:答案聚合 (Aggregate Answers)

在生成了 mm 个多样化的推理路径和对应的最终答案后,最后一步是聚合这些答案,以找到最“一致”的答案。最直接和有效的方法是未加权求和(多数投票)(unweighted sum (majority vote))

未加权求和(多数投票) 该方法通过计算每个候选答案在所有采样输出中出现的次数,然后选择出现次数最多的答案作为最终预测。数学上表示为: a^=argmaxaAi=1m1(ai=a) \hat{a} = \underset{a \in \mathbb{A}}{\mathrm{argmax}} \sum_{i=1}^{m} \mathbb{1}(\mathbf{a}_i = a)

  • a^\hat{a}: 经过聚合后选择的最一致的最终答案。
  • A\mathbb{A}: 所有可能的最终答案构成的集合。
  • mm: 从语言模型解码器中采样的候选输出的总数量。
  • ai\mathbf{a}_i: 第 ii 个采样输出所产生的最终答案。
  • 1(ai=a)\mathbb{1}(\mathbf{a}_i = a): 指示函数 (indicator function),如果第 ii 个采样输出的答案 ai\mathbf{a}_i 等于候选答案 aa,则其值为 1;否则为 0。

加权聚合策略 (Weighted Aggregation Strategies) 除了多数投票,还可以根据每个采样输出 (ri,ai)(\mathbf{r}_i, \mathbf{a}_i) 的概率来加权聚合答案。计算 P(ri,aiprompt,question)P(\mathbf{r}_i, \mathbf{a}_i \mid \mathrm{prompt}, \mathrm{question}) 的方法有两种:

  1. 未归一化概率 (Unnormalized Probability): 直接使用模型生成 (ri,ai)(\mathbf{r}_i, \mathbf{a}_i) 的未归一化概率。
  2. 归一化条件概率 (Normalized Conditional Probability): 通过输出序列的长度进行归一化。公式如下: P(ri,aiprompt,question)=exp1Kk=1KlogP(tkprompt,question,t1,,tk1) P(\mathbf{r}_i, \mathbf{a}_i \mid \mathrm{prompt}, \mathrm{question}) = \exp^{\frac{1}{K} \sum_{k=1}^{K} \log P(t_k \mid \mathrm{prompt}, \mathrm{question}, t_1, \dots, t_{k-1})}
    • P(ri,aiprompt,question)P(\mathbf{r}_i, \mathbf{a}_i \mid \mathrm{prompt}, \mathrm{question}): 给定提示和问题时,生成推理路径 ri\mathbf{r}_i 和答案 ai\mathbf{a}_i 的条件概率。

    • KK: 序列 (ri,ai)(\mathbf{r}_i, \mathbf{a}_i) 中词元的总数量。

    • tkt_k: 序列中的第 kk 个词元。

    • logP(tkprompt,question,t1,,tk1)\log P(t_k \mid \mathrm{prompt}, \mathrm{question}, t_1, \dots, t_{k-1}): 在给定提示、问题和之前所有词元 t1,,tk1t_1, \dots, t_{k-1} 的条件下,生成第 kk 个词元 tkt_k 的对数概率。

      论文实验结果(Table 1)表明,未加权求和(多数投票)和归一化加权求和 (normalized weighted sum) 取得了非常相似的准确率,且远高于未归一化加权求和。这是因为模型倾向于将这些不同的生成结果视为“同样可能”。

self-consistency 这种“采样-聚合”的方法,弥补了 greedy decoding 的局限性,同时利用了语言模型在复杂推理任务中生成多样化但可能收敛到同一正确答案的能力。

5. 实验设置

5.1. 数据集

本文在广泛的推理基准上评估了 self-consistency 方法,涵盖了算术推理、常识推理和符号推理任务。所有实验都在 few-shot setting (少样本设置) 下进行,不进行训练或微调 (fine-tuning) 语言模型。

  • 算术推理 (Arithmetic Reasoning):

    • AddSub (Hosseini et al., 2014): 简单的加减法应用题。
    • MultiArith (Roy & Roth, 2015): 包含多步加减乘除运算的数学应用题。
    • ASDiv (Miao et al., 2020): 包含加减乘除的数学应用题。
    • AQuA-RAT (Ling et al., 2017): 一个需要复杂代数推理的数学应用题基准。
    • GSM8K (Cobbe et al., 2021): 包含小学数学单词问题,需要多步推理。
    • SVAMP (Patel et al., 2021): 一个挑战性的数学应用题数据集,旨在测试模型在数学推理中的鲁棒性。
    • 对于所有算术推理任务,使用相同的 8 个手动编写的 exemplars (示例)。
  • 常识推理 (Commonsense Reasoning):

    • CommonsenseQA (Talmor et al., 2019): 需要常识知识才能回答的多项选择问答任务。
    • StrategyQA (Geva et al., 2021): 问答任务,需要多步隐式推理策略来回答是非题。
    • AI2 Reasoning Challenge (ARC) (Clark et al., 2018): 科学问答任务,分为 ARC-EasyARC-Challenge,其中 ARC-Challenge 包含需要更复杂推理的问题。
    • 对于每个常识推理任务,从训练集中随机选择 4-7 个示例,并使用手动编写的链式思维提示。
  • 符号推理 (Symbolic Reasoning): (来自 Wei et al., 2022)

    • Last Letter Concatenation: 例如,输入是“Elon Musk”,输出应该是“nk”(取每个词的最后一个字母并连接)。
    • Coinflip: 例如,“硬币正面朝上,经过几次翻转后,硬币仍然正面朝上吗?”
    • 这些任务用于测试模型在抽象符号操作上的能力,尤其是在 out-of-distribution (OOD) 设置下(例如,训练时是 2 个字母/翻转的例子,测试时是 4 个字母/翻转)。

数据集中的具体样本示例 论文在附录 A.3 中提供了详细的 few-shot exemplars (少样本示例)。这里给出部分示例:

  • AQUA-RAT 示例 (Table 14):

    • Q: John found that the average of 15 numbers is 40. If 10 is added to each number then the mean of the numbers is? Answer Choices: (a) 50 (b) 45 (c) 65 (d) 78 (e) 64
    • A: If 10 is added to each number, then the mean of the numbers also increases by 10. So the new mean would be 50. The answer is (a).
  • ARC-Easy/Challenge 示例 (Table 15):

    • Q: George wants to warm his hands quickly by rubbing them. Which skin surface wil produce the most heat? (a) dry palms. (b) wet palms. (c) palms covered with oil. (d) palms covered with lotion.
    • A: Dry surfaces will more likely cause more friction via rubbing than other smoother surfaces, hence dry palms will produce the most heat. The answer is (a).
  • HotpotQA 示例 (Table 16): (闭卷设置)

    • Q: Which magazine was started first Arthur's Magazine or First for Women?
    • A: Arthur's Magazine started in 1844. First for Women started in 1989. So Arthur's Magazine was started first. The answer is Arthur's Magazine.

5.2. 评估指标

论文主要使用 Accuracy (准确率) 来评估模型性能。对于 HotpotQA,还使用了 EM (精确匹配) 和 F1 Score (F1分数)。

  1. 准确率 (Accuracy)

    • 概念定义: Accuracy 是衡量模型分类或预测正确程度的常用指标,表示正确预测的样本数占总样本数的比例。在推理任务中,它通常指模型给出正确最终答案的比例。
    • 数学公式: Accuracy=Number of correct predictionsTotal number of predictions \text{Accuracy} = \frac{\text{Number of correct predictions}}{\text{Total number of predictions}}
    • 符号解释:
      • Number of correct predictions: 模型做出正确预测的数量。
      • Total number of predictions: 模型做出总预测的数量(即测试集中的样本总数)。
  2. 精确匹配 (Exact Match, EM)

    • 概念定义: EM 是问答任务中一个严格的评估指标,要求模型的生成答案与 ground truth (真实标注数据) 答案完全一致(通常不区分大小写和标点符号)。常用于需要精确答案的任务,如事实性问答。
    • 数学公式: EM=i=1N1(predictioni=ground truthi)N \text{EM} = \frac{\sum_{i=1}^{N} \mathbb{1}(\text{prediction}_i = \text{ground truth}_i)}{N}
    • 符号解释:
      • NN: 测试集中的总样本数。
      • 1()\mathbb{1}(\cdot): 指示函数,如果括号内的条件为真,则返回 1;否则返回 0。
      • predictioni\text{prediction}_i: 模型对第 ii 个样本的预测答案。
      • ground truthi\text{ground truth}_i: 第 ii 个样本的 ground truth (真实标注数据) 答案。
  3. F1 分数 (F1 Score)

    • 概念定义: F1 Score 是精确率 (Precision) 和召回率 (Recall) 的调和平均数。它在分类任务中,尤其是当类别分布不平衡时,比单一的精确率或召回率更能全面地衡量模型的性能。在问答任务中,F1 Score 通常通过计算模型答案和 ground truth (真实标注数据) 答案之间的词语重叠来得出。
    • 数学公式: Precision=True PositivesTrue Positives+False Positives \text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}} Recall=True PositivesTrue Positives+False Negatives \text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}} F1 Score=2×Precision×RecallPrecision+Recall \text{F1 Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
    • 符号解释:
      • True Positives (TP): 模型正确地将正类别样本预测为正类别。
      • False Positives (FP): 模型错误地将负类别样本预测为正类别(误报)。
      • False Negatives (FN): 模型错误地将正类别样本预测为负类别(漏报)。
      • Precision (精确率): 预测为正类的样本中,真正为正类的比例。
      • Recall (召回率): 真正为正类的样本中,被模型正确预测为正类的比例。

5.3. 对比基线

本文将 self-consistency 方法与以下几种基线模型或解码策略进行了比较:

  • CoT-prompting (Wei et al., 2022) with Greedy Decoding: 这是主要对比的基线,代表了链式思维提示的原始实现方式,即在生成推理路径和答案时,每一步都选择概率最高的词元。
  • Previous SoTA (先前的最先进的): 在各个基准测试中,论文还引用了先前达到 state-of-the-art (最先进的) 性能的特定任务方法。这些方法可能涉及额外的训练、微调或复杂的模型架构。
  • Standard-prompting (标准提示): 在某些 NLP 任务中,与 CoT-prompting 进行了比较,standard-prompting 是指不包含任何推理步骤示例或指导,直接要求模型给出答案。
  • Sample-and-Rank (采样与排序): 一种常见的生成质量改进方法,即从解码器中采样多个序列,然后根据每个序列的对数概率进行排名,选择排名最高的序列的答案。
  • Beam Search Decoding (集束搜索解码): 另一种常用的解码策略,它在每一步保留 beam size (集束宽度) 个概率最高的序列,并在后续步骤中扩展这些序列,直到生成完整输出。它倾向于找到更优的序列,但生成的序列多样性通常较低。
  • Ensemble-based Approaches (基于集成的方法):
    • Prompt Order Permutation (提示顺序排列): 随机改变提示中 exemplars (示例) 的顺序,以减轻模型对提示顺序的敏感性,并对多个排列的答案进行多数投票。
    • Multiple Sets of Prompts (多套提示): 使用多套不同的人工编写的提示,对不同提示集的答案进行多数投票。
    • Model Ensembles (模型集成): 直接对来自多个不同语言模型(如 LaMDA-137B、PaLM-540B、GPT-3)的输出进行多数投票。
  • Zero-shot CoT (Kojima et al., 2022): 仅在提示中加入“让我们一步步思考 (Let's think step by step)”等短语,而不提供具体推理示例的链式思维提示方法。

5.4. 语言模型与采样方案

5.4.1. 语言模型 (Language Models)

实验评估了 self-consistency 在四种不同规模的 Transformer 架构语言模型上的表现:

  • UL2-20B (Tay et al., 2022): 一个拥有 200 亿参数的 encoder-decoder (编码器-解码器) 模型,在混合降噪器上训练。它是开源的,并在 zero-shot SuperGLUE 任务上表现与 GPT-3 相当或更优。
  • GPT-3-175B (Brown et al., 2020): 一个拥有 1750 亿参数的 decoder-only (仅解码器) 模型。实验使用了 Codex 系列的两个公共引擎:code-davinci-001code-davinci-002
  • LaMDA-137B (Thoppilan et al., 2022): 一个拥有 1370 亿参数的密集型从左到右 decoder-only 语言模型,在网络文档、对话数据和维基百科的混合数据集上预训练。
  • PaLM-540B (Chowdhery et al., 2022): 一个拥有 5400 亿参数的密集型从左到右 decoder-only 语言模型,在高质量语料库(7800 亿词元,包含过滤后的网页、书籍、维基百科、新闻文章、源代码和社交媒体对话)上预训练。

5.4.2. 采样方案 (Sampling Scheme)

为了采样多样化的推理路径,采用了类似于开放文本生成 (Radford et al., 2019; Holtzman et al., 2020) 的设置:

  • UL2-20B 和 LaMDA-137B: 采用 temperature sampling (温度采样) with T=0.5T = 0.5,并截断 top-k (Top-k) (k=40k = 40) 个概率最高的词元。

  • PaLM-540B: 采用 temperature sampling with T=0.7T = 0.7k=40k = 40

  • GPT-3: 采用 temperature sampling with T=0.7T = 0.7,不进行 top-k 截断。

    在所有实验中,每次运行独立采样 40 个输出序列,并平均 10 次运行的结果来报告性能。

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. 算术推理 (Arithmetic Reasoning)

以下是原文 Table 2 的结果,展示了 self-consistencychain-of-thought prompting 在算术推理任务上的准确率对比:

Method AddSub MultiArith ASDiv AQuA SVAMP GSM8K
Previous SoTA 94.9a 60.5a 75.3b 37.9c 57.4d 35e / 55g
UL2-20B CoT-prompting 18.2 10.7 16.9 23.6 12.6 4.1
Self-consistency 24.8 (+6.6) 15.0 (+4.3) 21.5 (+4.6) 26.9 (+3.3) 19.4 (+6.8) 7.3 (+3.2)
LaMDA-137B CoT-prompting 52.9 51.8 49.0 17.7 38.9 17.1
Self-consistency 63.5 (+10.6) 75.7 (+23.9) 58.2 (+9.2) 26.8 (+9.1) 53.3 (+14.4) 27.7 (+10.6)
PaLM-540B CoT-prompting 91.9 94.7 74.0 35.8 79.0 56.5
Self-consistency 93.7 (+1.8) 99.3 (+4.6) 81.9 (+7.9) 48.3 (+12.5) 86.6 (+7.6) 74.4 (+17.9)
GPT-3 Code-davinci-001 CoT-prompting 57.2 59.5 52.7 18.9 39.8 14.6
Self-consistency 67.8 (+10.6) 82.7 (+23.2) 61.9 (+9.2) 25.6 (+6.7) 54.5 (+14.7) 23.4 (+8.8)
GPT-3 Code-davinci-002 CoT-prompting 89.4 96.2 80.1 39.8 75.8 60.1
Self-consistency 91.6 (+2.2) 100.0 (+3.8) 87.8 (+7.6) 52.0 (+12.2) 86.8 (+11.0) 78.0 (+17.9)

Table 2: self-consistencychain-of-thought prompting (Wei et al., 2022) 的算术推理准确率对比。先前的 SoTA (最先进的) 基线数据来自:a: RelevanceLCA operation classifier (Roy & Roth, 2015),b: Lan et al. (2021),c: Amini et al. (2019),d: Pi et al. (2022),e: 经过 7.5k 示例微调的 GPT-3 175B (Cobbe et al., 2021),g: 经过微调的 GPT-3 175B 加上额外的 175B 验证器 (Cobbe et al., 2021)。每项任务的最佳性能以粗体显示。

分析:

  • 显著提升: self-consistency 在所有四个语言模型上都显著提高了算术推理性能,超过了 chain-of-thought prompting
  • 模型规模效应: 提升幅度随着语言模型规模的增大而更加显著。例如,UL2-20B 获得了 +3% 到 +6% 的绝对准确率提升,而 LaMDA-137B 和 GPT-3 则获得了 +9% 到 +23% 的提升。
  • 挑战性任务表现: 对于 AQuA 和 GSM8K 这类对大型模型也具有挑战性的任务,self-consistency 仍能带来显著的额外收益,分别达到了 +12% 到 +18% 的绝对准确率提升。在 SVAMP 和 ASDiv 上也有 +7% 到 +11% 的提升。
  • 新的 state-of-the-art (最先进的) 结果: self-consistency 结合 PaLM-540B 或 GPT-3,在几乎所有任务上都达到了新的 state-of-the-art (最先进的) 水平。值得注意的是,这些结果与需要任务特定训练或数千示例微调的现有方法(例如 GSM8K 上的表现)相比,毫不逊色,而 self-consistency 是一种无监督且与任务无关的方法。

6.1.2. 常识和符号推理 (Commonsense and Symbolic Reasoning)

以下是原文 Table 3 的结果,展示了 self-consistencychain-of-thought prompting 在常识和符号推理任务上的准确率对比:

Method CSQA StrategyQA ARC-e ARC-c Letter (4) Coinflip (4)
Previous SoTA 91.2a 73.9b 86.4c 75.0c N/A N/A
UL2-20B CoT-prompting 51.4 53.3 61.6 42.9 0.0 50.4
Self-consistency 55.7 (+4.3) 54.9 (+1.6) 69.8 (+8.2) 49.5 (+6.8) 0.0 (+0.0) 50.5 (+0.1)
LaMDA-137B CoT-prompting 57.9 65.4 75.3 55.1 8.2 72.4
Self-consistency 63.1 (+5.2) 67.8 (+2.4) 79.3 (+4.0) 59.8 (+4.7) 8.2 (+0.0) 73.5 (+1.1)
PaLM-540B CoT-prompting 79.0 75.3 95.3 85.2 65.8 88.2
Self-consistency 80.7 (+1.7) 81.6 (+6.3) 96.4 (+1.1) 88.7 (+3.5) 70.8 (+5.0) 91.2 (+3.0)
GPT-3 Code-davinci-001 CoT-prompting 46.6 56.7 63.1 43.1 7.8 71.4
Self-consistency 54.9 (+8.3) 61.7 (+5.0) 72.1 (+9.0) 53.7 (+10.6) 10.0 (+2.2) 75.9 (+4.5)
GPT-3 CoT-prompting 79.0 73.4 94.0 83.6 70.4 99.0

Table 3: self-consistencychain-of-thought prompting (Wei et al., 2022) 的常识和符号推理准确率对比。先前的 SoTA (最先进的) 基线数据来自:a: DeBERTaV3-large + KEAR (Xu et al., 2021b),b: Chowdhery et al. (2022),c: UnifiedQA-FT (Khashabi et al., 2020)。每项任务的最佳性能以粗体显示。

分析:

  • 普遍提升: self-consistency 在常识和符号推理任务上同样取得了显著提升,并在 6 个任务中的 5 个上获得了 SoTA (最先进的) 结果。
  • OOD 设置下的符号推理: 在挑战性的 out-of-distribution (OOD) 符号推理任务(Letter (4)Coinflip (4),即测试 4 个字母/翻转的例子,而提示中是 2 个字母/翻转的例子)中,self-consistency 仍能带来显著收益,尤其是在模型规模足够大的情况下。
  • 模型规模效应: 与算术推理类似,模型规模越大,self-consistency 带来的提升越明显。

6.1.3. 采样路径数量的影响 (Effect of Number of Sampled Paths)

下图(原文 Figure 2)展示了随着采样推理路径数量的增加,准确率(均值和标准差)的变化:

Figure 2: Self-consistency (blue) significantly improves accuracy over CoT-prompting with greedy decding (orange) across arithmetic and cmmonsese reasoning tasks, over LaMDA-137B. Sampln a higher number of diverse reasoning paths consistently improves reasoning accuracy.
Figure 2: self-consistency (蓝色) 在 LaMDA-137B 模型上,相对于 CoT-prompting 结合贪婪解码 (橙色),显著提高了算术和常识推理任务的准确率。采样更多样化的推理路径持续提高了推理准确率。

分析:

  • 持续提升: 采样更多的推理路径(例如 40 条)持续带来了更好的性能,这强调了引入推理路径多样性的重要性。这验证了 self-consistency 方法的核心假设,即多样性有助于找到更一致和正确的答案。
  • 性能饱和趋势: 尽管增加采样路径数量会提升性能,但从图中可以看出,性能提升的边际收益会逐渐减小,这意味着在实践中,选择一个适中的路径数量(例如 5 或 10)可以在计算成本和性能提升之间取得良好平衡。

6.1.4. self-consistency 纠正错误的示例 (Examples of Self-Consistency Correcting Errors)

以下是原文 Table 4 的示例,展示了 self-consistency 如何在 PaLM-540B 上纠正贪婪解码的错误:

GSM8K StrategyQA
Question Henry made two stops during his 60-mile bike trip. He first stopped after 20miles. His second stop was 15 miles before the end of the trip. How many milesdid he travel between his first and second stops? Yes or no: Is Albany, Georgia the most populousUS Albany?
GreedyDecode He traveled 60 miles in total. He stopped after 20 miles, so he traveled 60 - 20= 40 miles between the first and second stops. The answer is 40. Albany, Georgia is the most populous US Al-bany. Thus, the answer is yes.
SampledPath 1 Henry travelled a total of 60 miles. His first stop was 20 miles in, and hissecond stop was 15 miles before the end. So between his first and second stopshe travelled 60 - 20 -15 = 25 miles. The answer is 25. The most populous US Albany is Albany, NewYork. Thus, Albany, Georgia is not the mostpopulous US Albany. So the answer is no.
SampledPath 2 He made two stops during a 60-mile trip. The first was 20 miles into the trip.The second was 15 miles before the end of the trip. This means the second stopwas 60 - 15 = 45 miles into the trip. Since he made the stops in order, the secondstop must have been 45 - 20 = 25 miles after the first stop. The answer is 25. Albany, Georgia has a population of about88,00o. Albany, New York has a population ofabout 95,000. Thus, Albany, Georgia is not themost populous US Albany. So the answer is no.

Table 4: self-consistency 帮助纠正贪婪解码错误的示例,在 PaLM-540B 上。展示了两个与 ground truth (真实标注数据) 一致的采样推理路径。

分析:

  • 在 GSM8K 示例中,贪婪解码错误地计算了第一个和第二个停车点之间的距离(40 英里),而两个采样路径都通过不同的推理过程正确计算出 25 英里。
  • 在 StrategyQA 示例中,贪婪解码错误地认为奥尔巴尼 (佐治亚州) 是人口最多的美国奥尔巴尼,而两个采样路径都通过引入纽约州奥尔巴尼的人口信息,正确推断出答案为“否”。
  • 这些示例直观地展示了多样化的推理路径如何能够“纠正”单个贪婪路径可能出现的错误,通过多数投票(或一致性)机制最终得到正确答案。

6.1.5. self-consistency 在 CoT 可能损害性能时的帮助 (Self-Consistency Helps When CoT Hurts Performance)

以下是原文 Table 5 的结果,展示了 self-consistency 在某些 chain-of-thought prompting 可能损害性能的常见 NLP 任务上的表现:

ANLIR1/R2 / R3 e-SNLI RTE BoolQ HotpotQA (EM/F1)
Standard-prompting (no-rationale) 69.1 / 55.8 / 55.8 85.8 84.8 71.3 27.1 / 36.8
CoT-prompting (Wei et al., 2022) 68.8 / 58.9 / 60.6 81.0 79.1 74.2 28.9 / 39.8
Self-consistency 78.5 / 64.5 / 63.4 88.4 86.3 78.4 33.8 / 44.6

Table 5: 在常见 NLP 任务上比较 Standard/CoT prompting (标准/CoT 提示) 与 self-consistency

分析:

  • 弥补 CoT 缺陷: 对于一些任务(如 ANLI-R1、e-SNLI、RTE),CoT-prompting 的性能实际上比 standard-prompting 更差。这表明 chain-of-thought 并非对所有任务都有益。
  • self-consistency 的鲁棒性: 在这些 CoT-prompting 表现不佳的任务上,self-consistency 能够弥补差距,甚至显著超越 standard-prompting。例如,在 e-SNLI 上,CoT-prompting 从 85.8% 下降到 81.0%,而 self-consistency 提升至 88.4%。这表明 self-consistency 能够更可靠地将 rationales (基本原理) 添加到少样本 in-context learning (上下文学习) 中。

6.2. 数据呈现 (表格)

6.2.1. 答案聚合策略比较

以下是原文 Table 1 的结果,展示了 PaLM-540B 上不同答案聚合策略的准确率比较:

GSM8K MultiArith AQuA SVAMP CSQA ARC-c
Greedy decode 56.5 94.7 35.8 79.0 79.0 85.2
Weighted avg (unnormalized) 56.3 ± 0.0 90.5 ± 0.0 35.8 ± 0.0 73.0 ± 0.0 74.8 ± 0.0 82.3 ± 0.0
Weighted avg (normalized) 22.1 ± 0.0 59.7 ± 0.0 15.7 ± 0.0 40.5 ± 0.0 52.1 ± 0.0 51.7 ± 0.0
Weighted sum (unnormalized) 59.9 ± 0.0 92.2 ± 0.0 38.2 ± 0.0 76.2 ± 0.0 76.2 ± 0.0 83.5 ± 0.0
Weighted sum (normalized) 74.1 ± 0.0 99.3 ± 0.0 48.0 ± 0.0 86.8 ± 0.0 80.7 ± 0.0 88.7 ± 0.0
Unweighted sum (majority vote) 74.4 ± 0.1 99.3 ± 0.0 48.3 ± 0.5 86.6 ± 0.1 80.7 ± 0.1 88.7 ± 0.1

Table 1: PaLM-540B 上不同答案聚合策略的准确率比较。

分析:

  • 多数投票的有效性: Unweighted sum (majority vote) (未加权求和(多数投票)) 表现最佳,或与 Weighted sum (normalized) (加权求和(归一化)) 表现相当。这表明在 self-consistency 中,简单地统计答案出现次数已经非常有效。
  • 归一化重要性: Normalized weighted sum (归一化加权求和) 远优于 Unnormalized weighted sum (未归一化加权求和) 和 Weighted avg (normalized/unnormalized) (加权平均(归一化/未归一化)),这可能因为归一化能更好地处理不同生成序列长度的差异。
  • 贪婪解码的基线: Greedy decode (贪婪解码) 明显低于最佳的 self-consistency 聚合策略,再次突出了多样性采样的重要性。

6.2.2. 与 Beam Search (集束搜索) 的比较

以下是原文 Table 6 的结果,展示了 self-consistency 与 UL2-20B 模型上的 beam search 解码的比较:

Beam size / Self-consistency paths 1 5 10 20 40
AQuA Beam search decoding (top beam) 23.6 19.3 16.1 15.0 10.2
Self-consistency using beam search 23.6 19.8 ± 0.3 21.2 ± 0.7 24.6 ± 0.4 24.2 ± 0.5
Self-consistency using sampling 19.7 ± 2.5 24.9 ± 2.6 25.3 ± 1.8 26.7 ± 1.0 26.9 ± 0.5
MultiArith Beam search decoding (top beam) 10.7 12.0 11.3 11.0 10.5
Self-consistency using beam search 10.7 11.8 ± 0.0 11.4 ± 0.1 12.3 ± 0.1 10.8 ± 0.1
Self-consistency using sampling 9.5 ± 1.2 11.3 ± 1.2 12.3 ± 0.8 13.7 ± 0.9 14.7 ± 0.3

Table 6: 在 UL2-20B 模型上比较 self-consistencybeam search 解码。

分析:

  • self-consistency 优于 beam search: self-consistency (使用采样) 在两个任务上都显著优于 beam search decoding (top beam)。这支持了 self-consistency 的核心论点:推理路径的多样性比仅仅找到概率最高的几个路径更重要。
  • beam search 的局限性: 随着 beam size (集束宽度) 的增加,beam search decoding 的性能反而下降,这可能是因为它生成的序列多样性不足,难以探索到更广阔的正确推理空间。
  • self-consistency 结合 beam search: 即使 self-consistency 内部使用 beam search 来解码每条推理路径(“Self-consistency using beam search”),其性能也比 self-consistency 使用采样差。这再次证明了多样性是关键,而 beam search 在生成多样性方面不如采样。

6.2.3. 与基于集成的方法的比较 (Comparison to Ensemble-based Approaches)

以下是原文 Table 7 的结果,展示了 self-consistency 与 LaMDA-137B 模型上基于集成的方法的比较:

GSM8K MultiArith SVAMP ARC-e ARC-c
CoT (Wei et al., 2022) 17.1 51.8 38.9 75.3 55.1
Ensemble (3 sets of prompts) 18.6 ± 0.5 57.1 ± 0.7 42.1 ± 0.6 76.6 ± 0.1 57.0 ± 0.2
Ensemble (40 prompt permutations) 19.2 ± 0.1 60.9 ± 0.2 42.7 ± 0.1 76.9 ± 0.1 57.0 ± 0.1
Self-Consistency (40 sampled paths) 27.7 ± 0.2 75.7 ± 0.3 53.3 ± 0.2 79.3 ± 0.3 59.8 ± 0.2

Table 7: self-consistency 在 LaMDA-137B 上优于提示顺序和多提示集成。

分析:

  • self-consistency 的卓越性能: self-consistency 显著优于现有的基于集成的方法(包括 prompt order permutation (提示顺序排列) 和 multiple sets of prompts (多套提示))。例如,在 GSM8K 上,self-consistency 达到了 27.7%,而集成方法最高为 19.2%。
  • “自集成”优势: 这表明 self-consistency 作为一种“自集成”方法,能够比通过外部集成方式更好地利用单个语言模型的内在能力和多样性。

6.2.4. self-consistency 在不完美提示、方程提示和零样本 CoT 下的表现 (Self-Consistency Works Under Imperfect Prompts, Equation Prompts, and Zero-shot CoT)

以下是原文 Table 8 的结果,展示了 self-consistency 在 GSM8K 上对不完美提示、方程提示和零样本 chain-of-thought 的鲁棒性:

LaMDA-137B Prompt with correct chain-of-thought 17.1
Prompt with imperfect chain-of-thought + Self-consistency (40 paths) 14.9
Prompt with equations + Self-consistency (40 paths) 23.4
PaLM-540B Zero-shot CoT (Kojima et al., 2022) 5.0
+ Self-consistency (40 paths) 6.5

Table 8: self-consistency 在 GSM8K 上适用于不完美提示、方程提示和 zero-shot chain-of-thought (零样本链式思维)。

分析:

  • 不完美提示的鲁棒性: 即使使用“不完美”的 chain-of-thought 提示(例如,人工标注者可能犯小错误),greedy decoding 的准确率会下降(从 17.1% 降至 14.9%)。但 self-consistency 能够弥补这些差距,将性能提升至 23.4%,显著优于原始的正确 CoT 提示下的 greedy decoding (17.1%),这表明 self-consistency 提高了模型对提示质量的鲁棒性。
  • 非自然语言推理路径: self-consistency 也能通过生成中间方程来提高准确率(Prompt with equations),尽管增益小于自然语言推理路径。这表明该概念具有通用性,但由于方程更短,生成多样性的机会较少。
  • 零样本 CoT 的提升: self-consistencyzero-shot CoT (零样本链式思维) (Kojima et al., 2022) 结合后,也能显著提高性能(在 PaLM-540B 上从 43.0% 提升到 69.2%),这扩展了其适用范围。

6.2.5. 其他补充实验结果 (Additional Supplementary Results)

以下是附录中的其他表格结果:

不同提示集的鲁棒性 (Table 9):

Prompt set 1 (used in the main text) Prompt set 2 Prompt set 3
CoT (Wei et al., 2022) 56.5 54.6 54.0
Self-consistency 74.4 (+17.9) 72.1 (+17.5) 70.4 (+16.4)

Table 9: PaLM-540B 上 GSM8K 准确率。结果显示 self-consistency 对输入中不同提示的鲁棒性。 分析: self-consistency 在不同提示集下均能带来持续且显著的性能提升,证明了其对提示选择的鲁棒性。

模型集成比较 (Table 10):

Method GSM8K accuracy
Single model PaLM-540B, greedy / self-consistency 56.5 / 74.4
Ensemble of models LaMDA-137B + PaLM-540B 36.9 ± 0.5
PaLM-540B + GPT-3 (code-davinci-001, 175B) 36.6 ± 0.4
LaMDA-137B + GPT-3 (code-davinci-001, 175B) 16.0 ± 0.8
LaMDA-137B + PaLM-540B + GPT-3 (code-davinci-001, 175B) 33.3 ± 0.7

Table 10: GSM8K 准确率在多模型集成上的比较。 分析: 直接对多个语言模型进行集成(通过多数投票)表现显著差于 self-consistency (74.4%)。这是因为低容量模型会拖累高容量模型的性能。这再次强调了 self-consistency 作为“自集成”的优势。

结合其他集成策略 (Table 11):

GSM8K accuracy
Different sets of prompts (x40) 58.9
Prompt-permutation (x40) 59.6
Self-consistency (x40) 74.4
Self-consistency + different sets of prompts (x40) 75.4
Self-consistency + prompt-permutation (x40) 73.8

Table 11: 将 self-consistency 与其他集成策略相结合。 分析: self-consistency 的增益远高于其他集成策略,并且在结合其他集成策略时,其性能提升依然占据主导地位。这说明 self-consistency 可以与其他集成策略兼容,但其自身的强大效果已经足以覆盖大部分增益。

6.3. 消融实验/参数分析

6.3.1. 采样策略和参数的鲁棒性 (Robustness to Sampling Strategies and Parameters)

下图(原文 Figure 4,左侧)和 Figure 6 展示了 self-consistency 对各种采样策略和参数的鲁棒性。

Figure 4: GSM8K accuracy. (Left) Self-consistency is robust to various sampling strategies and parameters. (Right) Self-consistency improves performance across language model scales.
Figure 4: GSM8K 准确率。(左) self-consistency 对各种采样策略和参数具有鲁棒性。(右) self-consistency 改进了跨语言模型规模的性能。

Figure 6: GSM8K accuracy over LaMDA-137B. Self-consistency works under various sampling strategies and sampling parameters.
Figure 6: LaMDA-137B 上的 GSM8K 准确率。self-consistency 在各种采样策略和采样参数下均有效。

分析:

  • 普遍有效性: self-consistency 在不同 temperature (TT)、top-k (kk) 和 nucleus sampling (pp) 参数设置下均能持续提升性能。这表明其核心思想——利用推理路径多样性——是普适的,不依赖于特定的采样机制或参数调优。
  • 最佳实践: 尽管 self-consistency 具有鲁棒性,但在某些参数组合下(例如,LaMDA-137B 在 T=0.7,k=40T=0.7, k=40 时表现最好),性能可能达到最佳。

6.3.2. 跨语言模型规模的性能提升 (Performance Improvement Across Language Model Scales)

下图(原文 Figure 4,右侧)展示了 self-consistency 在 LaMDA-137B 模型系列中跨不同规模的性能提升。

Figure 4: GSM8K accuracy. (Left) Self-consistency is robust to various sampling strategies and parameters. (Right) Self-consistency improves performance across language model scales.
Figure 4: GSM8K 准确率。(左) self-consistency 对各种采样策略和参数具有鲁棒性。(右) self-consistency 改进了跨语言模型规模的性能。

分析:

  • 规模效应: self-consistency 能够鲁棒地提高所有模型规模的性能。对于较小的模型,由于其某些能力(如算术)只有在达到足够规模时才会显现 (Brown et al., 2020),增益相对较低。然而,对于大型模型,self-consistency 带来的绝对增益非常显著。这表明该方法能有效利用大模型的内在能力。

6.3.3. 一致性与准确率的相关性 (Correlation of Consistency with Accuracy)

下图(原文 Figure 5)展示了 consistency (一致性) 与模型 accuracy (准确率) 之间的相关性:

Figure 5: The consistency is correlated with model's accuracy.
Figure 5: consistency 与模型准确率相关。

分析:

  • 强相关性: consistency (指与最终聚合答案一致的解码百分比) 与 accuracy (准确率) 之间存在高度相关性。
  • 不确定性估计: 这一发现非常重要,因为它表明 self-consistency 不仅可以提高性能,还可以提供模型的不确定性估计。当一致性较低时,可以作为模型“不知道答案”的指示符,从而提高了模型的校准能力。

7. 总结与思考

7.1. 结论总结

本文引入了一种名为 self-consistency (自一致性) 的简单而有效的方法,用于改进大语言模型中的 chain-of-thought (链式思维) 推理。该方法的核心思想是利用复杂推理问题通常允许多种不同思考路径最终导向唯一正确答案的直觉。通过从语言模型的解码器中采样生成多样化的推理路径,然后通过多数投票等方式聚合这些路径所导出的答案,选择最一致的结果。

实验结果强有力地证明了 self-consistency 的有效性。它在多个流行的算术和常识推理基准测试(包括 GSM8K、SVAMP、AQuA、StrategyQA 和 ARC-challenge)上,对四种不同规模的大语言模型(UL2、GPT-3、LaMDA 和 PaLM)都取得了显著的准确率提升,并在许多任务上达到了新的 state-of-the-art (最先进的) 性能。该方法的优势在于其无监督性,无需额外训练、微调、辅助模型或人类标注,使其具有很高的通用性和实用性。此外,self-consistency 对采样策略、参数以及不完美提示表现出很强的鲁棒性,甚至在 chain-of-thought 可能损害性能的任务上也能带来收益。其提供的答案一致性还可以作为模型对其预测不确定性的可靠估计。

7.2. 局限性与未来工作

论文作者也指出了 self-consistency 的局限性并提出了未来研究方向:

  • 计算成本: self-consistency 的一个主要局限性是其计算成本较高,因为它需要采样和生成多条推理路径。然而,作者指出在实践中,少量路径(例如 5 或 10 条)通常就能实现大部分性能提升,且性能提升会很快达到饱和,可以在成本和收益之间取得平衡。
  • 生成更好的监督数据: 作为未来的工作,self-consistency 可以用于生成更优质的监督数据,以微调 (fine-tune) 模型。这样,经过微调的模型在单次推理运行时就能给出更准确的预测,从而降低推理阶段的计算成本。
  • rationales (基本原理) 的事实准确性: 作者观察到,语言模型有时会生成不合逻辑或不符合事实的推理路径(例如在 StrategyQA 的示例中,给出了不完全正确的人口数字)。未来的工作需要更好地ground (接地) 模型的 rationale (基本原理) 生成,确保其事实准确性和可靠性。

7.3. 个人启发与批判

7.3.1. 个人启发

这篇论文提供了一个非常深刻且实用的启发:

  • 多样性即力量 (Diversity as Strength): self-consistency 的成功在于它充分利用了语言模型生成多样化内容的能力,将这种多样性从一种“副作用”转化为解决复杂推理任务的核心优势。它模拟了人类在面对难题时会尝试多种思考路径的认知过程,这种“自集合”的思路非常优雅且高效。
  • 简单的力量 (Power of Simplicity): 该方法在技术上非常简洁,不需要复杂的架构修改、额外的训练或标注,只需改变解码策略。这再次证明了在深度学习领域,有时简单的、直觉性的方法也能带来巨大的性能提升,尤其是在大规模预训练模型的基础上。
  • 不确定性量化 (Uncertainty Quantification): self-consistency 提供的“一致性”指标与模型的准确率高度相关,这为其作为模型不确定性估计提供了一个有价值的工具。这对于高风险应用场景(如医疗、法律)尤其重要,模型不仅要给出答案,还要知道何时“不知道”。
  • CoT 的进一步增强: self-consistency 极大地增强了 chain-of-thought 的效果,使其在更多任务上更可靠,甚至弥补了 CoT 本身可能存在的局限性。这表明 CoT 作为一个提示范式,仍有巨大的潜力可以通过改进解码策略来挖掘。

7.3.2. 批判

尽管 self-consistency 取得了令人印象深刻的成果,但仍有一些潜在问题、未经验证的假设或可以改进的地方:

  • 计算成本的实际影响: 虽然作者提到少量路径也能获得大部分收益,但对于实时性要求高、资源受限的应用,生成 5-10 条推理路径的额外计算开销仍可能是一个瓶颈。未来可以探索更智能的采样策略,例如自适应地调整采样数量,或者结合剪枝 (pruning) 和早期退出 (early exit) 机制,在达到足够一致性时停止采样。

  • “一致性”的定义和泛化: 本文主要在固定答案集合的问题中通过多数投票来定义“一致性”。对于开放域文本生成或更复杂的结构化输出任务,如何定义和衡量“一致性”是一个挑战。例如,如果两个推理路径导向的答案在语义上等价但表述不同,如何判断它们的一致性?这需要更复杂的度量标准或共识机制。

  • Rationale (基本原理) 的质量而非仅仅答案: 论文主要关注最终答案的准确性。然而,一个高质量的推理过程不仅要得到正确答案,其推理步骤本身也应是逻辑严谨、事实准确的。如作者所指出的,模型有时会生成不合逻辑或不符事实的 rationales (基本原理)。这可能导致“正确的答案,错误的理由”问题。未来的工作应探索如何惩罚或纠正 rationales (基本原理) 中的不准确性,而不仅仅是依靠最终答案的一致性。

  • exemplars (示例) 的依赖: self-consistency 仍然依赖于人工编写的 chain-of-thought exemplars (链式思维示例)。高质量的 exemplars (示例) 对于 few-shot 性能至关重要。如何减少对这些 exemplars (示例) 的依赖,或者自动生成高质量的 exemplars (示例),是进一步提升泛化性的方向。

  • “多样性”的有效性来源: 论文假设多样性是关键,但没有深入探讨是哪种类型或程度的多样性最有效。是表面词汇的多样性,还是深层逻辑结构的多样性?过度或不足的多样性可能都会影响效果。理解和量化这种有效多样性可以进一步优化采样过程。

    总的来说,self-consistency 是一项重要的工作,它以一种简洁而强大的方式提升了语言模型在复杂推理任务上的能力,并为未来的 LLM 解码和推理研究开辟了新的视角。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。