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:自洽性提升语言模型中的链式思维推理能力

相关推荐
麻雀无能为力1 小时前
CAU数据挖掘实验 表分析数据插件
人工智能·数据挖掘·中国农业大学
时序之心1 小时前
时空数据挖掘五大革新方向详解篇!
人工智能·数据挖掘·论文·时间序列
.30-06Springfield2 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
说私域3 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的超级文化符号构建路径研究
人工智能·小程序·开源
永洪科技3 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
shangyingying_13 小时前
关于小波降噪、小波增强、小波去雾的原理区分
人工智能·深度学习·计算机视觉
书玮嘎4 小时前
【WIP】【VLA&VLM——InternVL系列】
人工智能·深度学习
猫头虎4 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
要努力啊啊啊4 小时前
YOLOv2 正负样本分配机制详解
人工智能·深度学习·yolo·计算机视觉·目标跟踪