问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

自我一致性提升大模型中的思维链推理能力

创作时间:
作者:
@小白创作中心

自我一致性提升大模型中的思维链推理能力

引用
51CTO
1.
https://www.51cto.com/aigc/1296.html

大语言模型在推理任务中常常面临挑战,尤其是在需要多步推理的情况下。近期,Google Research提出了一种名为"自我一致性"的新型解码策略,通过采样多样化推理路径并选择最一致的答案,显著提升了模型在多个推理任务上的性能。

1、引言

尽管语言模型在众多自然语言处理任务中展现出卓越的成功,但它们展现推理能力的能力常被视为局限,这一局限性不能仅通过增加模型规模来克服(Rae等人,2021;BIG-bench合作项目,2021等)。为了应对这一不足,Wei等人(2022)提出了链式思考提示方法,即促使语言模型生成一系列简短句子,模拟个人在解决问题时可能采用的推理过程。例如,面对问题“停车场有3辆车,又有2辆车到达,现在停车场有多少辆车?”时,语言模型不是直接回答“5”,而是被提示输出整个思考链:“停车场已有3辆车。又有2辆到达。现在是3+2=5辆车。答案是5。”。人们观察到,链式思考提示显著提高了模型在多种多步推理任务上的表现(Wei等人,2022)。

在本文中,我们引入一种新颖的解码策略——自我一致性,用以替代链式思考提示(Wei等人,2022)中使用的贪婪解码策略,进一步显著提升语言模型的推理性能。自我一致性利用了这样一个直觉:复杂的推理任务通常允许多条推理路径达到正确答案(Stanovich & West, 2000)。一个问题越是需要深思熟虑和分析(Evans, 2010),能恢复答案的推理路径多样性就越大。图1通过示例说明了自我一致性方法。我们首先使用链式思考提示激发语言模型,然后不是贪心地解码最优推理路径,而是提出一个“采样-边缘化”解码过程:我们首先从语言模型的解码器中采样生成多样化的推理路径集合;每条路径可能导致不同的最终答案,因此我们通过对采样的推理路径进行边缘化,从最终答案集中找出最一致的答案。这种方法类似于人类的经验,如果多种不同的思考方式都能得出相同的答案,人们对最终答案的正确性会有更大的信心。与其他解码方法相比,自我一致性避免了贪婪解码的重复性和局部最优性,同时减轻了单次采样生成的随机性。


图 1:自一致性方法包含三个步骤:(1)使用链式思维(CoT)提示来提示语言模型;(2)将 CoT 提示中的“贪婪解码”替换为从语言模型的解码器中采样,以生成多样化的推理路径集合;(3)对推理路径进行边际化处理,并通过选择最终答案集中最一致的答案进行汇总。

自我一致性远比那些需要训练额外验证器(Cobbe等人,2021)或给定额外人工注释以改进生成质量的重排序训练方法(Thoppilan等人,2022)更为简单。相反,自我一致性完全是无监督的,可即插即用与预训练语言模型配合,无需额外的人工注释,也不需要任何额外训练、辅助模型或微调。自我一致性也不同于典型的集成方法,后者需要训练多个模型并将每个模型的输出汇总,自我一致性更像是在单一语言模型之上的“自集成”。

我们在四种不同规模的语言模型上,包括公开的UL2-20B(Tay等人,2022)和GPT-3-175B(Brown等人,2020),以及两个密集激活的解码器型语言模型LaMDA-137B(Thoppilan等人,2022)和PaLM-540B(Chowdhery等人,2022),评估了自我一致性在广泛的算术和常识推理任务上的表现。在所有四个语言模型上,自我一致性在所有任务上都显著超越了链式思考提示。特别是,当与PaLM-540B或GPT-3结合使用时,自我一致性在算术推理任务上达到了新的最佳水平,包括GSM8K(Cobbe等人,2021)(绝对准确率提高17.9%)、SVAMP(Patel等人,2021)(+11.0%)、AQuA(Ling等人,2017)(+12.2%),以及在诸如StrategyQA(Geva等人,2021)(+6.4%)和ARC挑战(Clark等人,2018)(+3.9%)等常识推理任务上。在额外的实验中,我们展示自我一致性能在添加链式思考可能损害性能的标准提示相比时,稳健地提升NLP任务的性能(Ye & Durrett, 2022)。我们也证明自我一致性显著优于采样排序、波束搜索、基于集成的方法,并且对采样策略和不完美提示具有鲁棒性。

2、自一致性在多样化推理路径中的应用

人类思考问题的方式各不相同,这一点非常明显。在需要深思熟虑的任务中,往往会有多种解决问题的方法。我们提出,通过从语言模型的解码器中进行采样,可以模拟这种过程。例如,如图1所示,模型可以对一个数学问题生成多个合理的回答,并且都得出正确的答案(输出1和输出3)。由于语言模型不是完美的推理工具,模型可能会产生错误的推理路径或在某个推理步骤中犯错(如输出2),但这样的解决方案较少能得出相同的答案。我们假设,正确的推理过程,即使是多样化的,最终答案的一致性往往高于错误的过程。

我们利用这一直觉,提出了以下自一致性方法。首先,用一组手动编写的链式思维示例(Wei等,2022)对语言模型进行提示。接下来,从语言模型的解码器中采样,生成一组多样化的候选推理路径。自一致性方法兼容大多数现有的采样算法,包括温度采样(Ackley等,1985;Ficler & Goldberg,2017)、top-k采样(Fan等,2018;Holtzman等,2018;Radford等,2019)和核采样(Holtzman等,2020)。最后,通过边际化采样的推理路径,选择生成答案中最一致的作为最终答案。

更详细地说,假设生成的答案ai 来自固定答案集ai∈ A,其中 i = 1, . . . , m 标识从解码器中采样的m 个候选输出。给定一个提示和一个问题,自一致性方法引入一个额外的潜在变量 ri,它是表示第i个输出中推理路径的一系列标记,然后结合生成 (ri, ai),其中 ri→ai,即生成推理路径ri 是可选的,仅用于得出最终答案ai。例如,考虑图1中的输出3:前几句话“她吃了3个蛋做早餐……所以她有9个蛋*2美元=18美元。”构成了 ri,而最后一句话中的答案18,即“答案是18美元”,则解析为 ai。

在从模型的解码器中采样多个(ri, ai)后,自一致性方法通过对ri进行边际化,采取多数投票来选择答案,即 maxaΣmi=11(ai = a),或我们定义为最终答案集中最“一致”的答案。

在表1中,我们展示了在一组推理任务上使用不同答案聚合策略的测试准确率。除了多数投票外,在聚合答案时,也可以通过 P(ri, ai| 提示, 问题) 对每个(ri, ai)进行加权。注意,为计算P(ri, ai| 提示, 问题),我们可以采取模型生成 (ri, ai) 给定 (提示, 问题) 的非归一化概率,或者我们可以通过输出长度进行归一化的条件概率(Brown等,2020),即

其中 log P(tk | 提示, 问题, t1, ..., tk-1)是在先前标记的条件下生成第k 个标记 tk的对数概率,K 是 (ri, ai)中标记的总数。

在表1中,我们展示了直接对ai进行多数投票的“未加权总和”方法与使用“归一化加权总和”进行聚合的准确率非常相似。我们仔细观察了模型的输出概率,发现这是因为对于每个 (ri, ai),归一化的条件概率 P(ri, ai| 提示, 问题)非常接近,即语言模型认为这些生成是“同样可能的”。此外,当聚合答案时,表1中的结果显示“归一化”加权总和(即公式1)的准确率远高于未归一化的对应方法。为了完整性,表1中还报告了“加权平均”方法的结果,即每个答案 a 得到的分数为其加权总和除以Σmi=11(ai = a),这导致了更差的性能。

自一致性探索了开放式文本生成和具有固定答案的最佳文本生成之间的有趣空间。推理任务通常有固定答案,这就是为什么研究人员通常考虑贪心解码方法(Radford等,2019;Wei等,2022;Chowdhery等,2022)。然而,我们发现即使期望的答案是固定的,引入推理过程中的多样性也非常有益;因此我们利用采样,作为常用于开放式文本生成的方法(Radford等,2019;Brown等,2020;Thoppilan等,2022),来实现这一目标。需要注意的是,自一致性只能应用于最终答案来自固定答案集的问题,但原则上,如果能够定义多个生成之间一致性的良好度量,这种方法可以扩展到开放文本生成问题,例如两个答案是否一致或矛盾。

3、实验(略)

4、相关工作

语言模型中的推理。众所周知,语言模型在第2类任务上存在困难,例如算术、逻辑和常识推理(Evans,2010)。以前的工作主要集中在改进推理的专业方法上(Andor等人,2019;Ran等人,2019;Geva等人,2020;Pi˛ekos等人,2021)。与以往的工作相比,自我一致性适用于广泛的推理任务,无需额外的监督或微调,同时仍然显著提高了Wei等人(2022)提出的思维链提示方法的性能。

语言模型中的采样和重新排序。在文献中提出了多种语言模型的解码策略,例如温度采样(Ackley等人,1985;Ficler和Goldberg,2017)、top-k采样(Fan等人,2018;Holtzman等人,2018;Radford等人,2019)、核心采样(Holtzman等人,2020)、最小贝叶斯风险解码(Eikema和Aziz,2020;Shi等人,2022)和典型解码(Meister等人,2022)。其他工作试图在解码过程中明确促进多样性(Batra等人,2012;Li等人,2016;Vijayakumar等人,2018)。重新排序是提高语言模型生成质量的另一种常用方法(Adiwardana等人,2020;Shen等人,2021)。Thoppilan等人(2022)收集额外的人类注释来训练一个重新排序器进行响应过滤。Cobbe等人(2021)训练一个“验证器”对生成的解决方案进行重新排序,与仅仅微调语言模型相比,这在数学任务上的解决率有了显著提高。Elazar等人(2021)通过扩展预训练增加额外的一致性损失来提高事实知识提取的一致性。所有这些方法都需要额外训练一个重新排序器或收集额外的人类注释,而自我一致性不需要额外的训练、微调或额外的数据收集。

提取推理路径。一些以前的工作考虑了识别推理路径的任务特定方法,例如构建语义图(Xu等人,2021a)、学习一个RNN在Wikipedia图上检索推理路径(Asai等人,2020)、在数学问题上用人类注释的推理路径进行微调(Cobbe等人,2021)或用基于启发式的伪推理路径训练提取器(Chen等人,2019)。最近,推理过程中的多样性的重要性已经被注意到,但只通过任务特定的训练来利用,要么通过额外的QA模型在提取的推理路径上(Chen等人,2019),要么通过在常识知识图中引入潜在变量(Yu等人,2022)。与这些方法相比,自我一致性要简单得多,不需要额外的训练。我们提出的方法是简单地通过从解码器中采样将生成推理路径和最终答案结合起来,使用聚合来恢复最一致的答案,而不需要额外的模块。

语言模型中的一致性。一些以前的工作表明,语言模型在对话(Adiwardana等人,2020)、解释生成(Camburu等人,2020)和事实知识提取(Elazar等人,2021)中可能会有不一致性。Welleck等人(2020)使用“一致性”来指代在递归语言模型中生成无限长度序列。Nye等人(2021)通过添加一个受System 2启发的逻辑推理模块来提高System 1模型样本的逻辑一致性。在本文中,我们关注一个稍微不同概念的“一致性”,即利用多样化推理路径中的答案一致性来提高准确性。

5、结论与讨论

我们介绍了一种称为自我一致性的简单而有效的方法,并观察到它显著提高了在一系列算术和常识推理任务中的准确性,涵盖了四种不同规模的大型语言模型。除了准确性的提升,自我一致性在执行推理任务时收集理由、提供不确定性估计以及改善语言模型输出的校准时也具有用处。

自我一致性的一个限制是它会增加计算成本。在实践中,人们可以尝试少量路径(例如,5或10条)作为一个起点,在不增加太多成本的情况下实现大部分收益,因为在大多数情况下性能会迅速饱和(见图2)。作为未来工作的一部分,可以使用自我一致性生成更好的监督数据来微调模型,以便模型在微调后的单次推理运行中给出更准确的预测。此外,我们观察到语言模型有时可能会生成不正确或无意义的推理路径(例如,表4中的StrategyQA示例,两个人口数字并不完全正确),需要进一步的工作来更好地基础化模型的理由生成。

本文原文来自Google Research,Brain Team

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号