概述
论文地址:https://arxiv.org/pdf/2403.20046.pdf
在最近的研究中,大规模语言模型因其推理能力而备受关注。这些模型在各种任务和应用中取得了令人瞩目的成果,尤其是使用思维链(CoT)提示方法的有效性已得到证实。这种方法以人类逻辑思维为模型,采用循序渐进的方式解决问题。
正如人类从过去的错误中学习一样,大规模语言模型也必须回顾过去并从错误中学习。然而,迄今为止,关于大规模语言模型如何从错误中学习的研究还很少。因此,本文将重点关注这一方面,并研究新的学习方法。
该研究建立了一个大型数据集 COTERRORSET,其中包含来自 1,060 个不同任务的 609,432 个问题。每个问题都建立在从 PaLM2 回答中收集到的人工策划的正确参考和错误理由之上。此外,用正确的参考答案和错误的答案来提示大规模语言模型,可以反映出犯错误的原因。这为分析大规模语言模型如何犯错提供了依据。此外,它还引入了两种新方法–"错误调整 "和 “自我反思”–来利用这些错误,提高大规模语言模型的能力。为了促进大规模语言模型的学习过程,它在相应的理由前加上了[CORRECTRATIONALE] 和 [INCORRECT RATIONALE] 前缀。这超越了传统的监督学习,提出了更好地利用错误的方法。
本文提出的方法有助于大规模语言模型区分正确和错误的证据,并通过对比样本的实验进一步深化其学习过程。这样,模型就能在初步回答后重新考虑并修正自己的答案。该方法还对模型"自我反思 "和"调整 "的次数设置了阈值,以管理计算资源并防止潜在的循环。
下图为管道概览。
此外,为了更深入地了解这些模型如何从错误中学习以及它们的学习能力,我们使用各种推理任务和不同规模的大型语言模型进行了实验,结果表明这些模型的性能得到了持续改善。该方法能在大规模语言模型的调整和推理阶段有效利用错误,表明其具有广泛的适用性和有效性。这进一步扩展了大规模语言模型的可用性和有效性,值得进一步研究。
COTERRORSET 概览
本文构建了一个名为 "COTERRORSET "的新基准,以研究虚假理由对大规模语言模型推理性能的影响。该数据集以 COTCOLLECTION(Kim 等人,2023 年)为基础,涵盖了多种问题领域(多选问答、提取问答、闭卷问答、形式逻辑、自然语言推理和算术推理)。
本数据集中的问题和参考资料来自多个现有数据集,包括
- QASC(Khot 等人,2020 年)。
- AQuA(Ling 等人,2017 年)。
- GSM8K (Cobbe 等人,2021 年)
- QED(Lamm 等人,2021 年)。
- StrategyQA(Geva 等人,2021 年)。
- SenseMaking (Wang et al., 2019)。
- CREAK(Onoe 等人,2021 年)。
- eSNLI(Camburu 等人,2018 年)。
- ECQA(Aggarwal 等人,2021 年)。
这些数据经过系统整理,每个任务都包含一个演示,显示正确答案和错误答案,以及错误发生的原因。这些错误和演示都是使用 PaLM2 生成的。
与传统的 CoT 数据集不同,COTERRORSET 利用 PaLM2 收集错误及其背后的原因。对于数据集中的每个问题,PaLM2 都用来收集特别错误的证据,并将其与正确答案一起提供,以详细反映模型是如何犯错的。下图概述了这一过程。
系统地收集错误证据有可能为今后从新的角度改进工作铺平道路。具体例子见下表。
此外,对 COTERRORSET 数据集的详细分析显示,其中包含的误差类型非常复杂多样。这种复杂性给改进模型带来了挑战。为了解决这个问题,我们引入了一种无监督聚类方法,利用大规模语言模型,如下图所示。
通过这种方法,可以将不同的错误类型划分为更多的类别。首先,识别并提取造成错误的关键词。然后将这些关键词输入大规模语言模型,促使其形成涵盖整个错误的一般类别。自动聚类过程结束后,每个聚类都要经过人工检查,并根据需要进行调整,以完善匹配结果。最终,错误类型被合并为若干抽象类别,如算术推理中的 “计算错误”、"数字错误 "和 “逻辑错误”,以及常识推理中的 “逻辑错误”、“常识错误”、"语言错误 "和 “语境错误”。下表对此进行了概述。
实验结果
与标准的"思维链"(CoT)方法相比,"自我反思"在提高 GPT-4 和 PaLM2 模型的成绩方面效果显著。下表显示了使用这种方法时 PaLM2 的成绩。
下表还将其与 GPT4 的成绩进行了比较。其中,使用"自我反思"时的改进尤为突出,表明这是提高 GPT-4 性能的有效方法。
与 "自洽 "不同的是,这种方法在实现高准确度的同时,将推理次数降至最低。具体来说,它对一个问题进行两到三次推理,如果发现错误,则利用错误推导出最终答案。与 "自我一致性 "相比,这种方法能以更少的计算资源更有效地解决问题。
尤其是 GSM8K、AQuA、MathQA 和 LogiQA 这几个数据集,在计算成本相同的情况下,显示出比"自洽"更优越的结果。然而,专门针对基于运算的算术问题的 MathQA 数据集的结果并没有超过 “自我推导”,但却优于 CoT。这表明"自洽"对于某些问题类型,尤其是复杂的数学问题是有效的。
为了说明 "自我反思 "的有效性,下表显示了使用 PaLM2 模型对四项任务(GSM8K、AQuA、MathQA 和 LogiQA)进行 8 次实验的结果。
这一过程包括收集 PaLM2 生成的错误证据,并将这些证据用作学习和反思的示范。结果证实,"自我反思 "与标准的 8 发 CoT 相比具有明显优势。这种方法对于提高需要解决复杂问题的少量学习场景的准确性尤为有效。
本研究也使用了 “自我反思”,但与 "自我反思 "不同的是,它没有使用以前的错误样本。尽管如此,在大多数数据集上,"自我反思 "的效果明显优于 “自我提炼”。特别是在算术推理(MathQA)数据集上,"自我反思"的性能有所提高,但在常识推理(LogiQA)数据集上,"自我反思 "的性能则有所下降。与此相反,"自我反思 "在一系列领域中的表现始终优于 “8-shot CoT”,这表明将以前的错误纳入反思和阐述过程具有稳定作用。
一般来说,"自我反思 "使模型能够识别固定的逻辑模式,并从错误中学习,尤其是在要求逻辑严谨的情况下。这在需要较强逻辑性且容易出现小错误的任务中尤其有用。此外,该方法还有助于识别和纠正低级错误和误解,这些错误和误解属于模型的潜能范围,但往往被忽视。这种能力已被证明是提高大规模语言模型答案准确性和可靠性的重要工具,尤其是在解决复杂问题时。
下表列出了 "错误调整 "的进一步结果。该表强调了 Flan-T5 模型结合错误和正确证据的影响,并显示了不同模型规模下的性能。
其中,Flan-T5-large(780M)在 MathQA 领域的准确率为 48.95%,超过了 PaLM2 的 41.37%,证明了这种方法的有效性。这一结果提供了一个重要指示,即大规模语言模型可以通过利用不正确的推理来提高问题解决和推理性能。此外,该方法不仅增强了对正确 CoTs 的理解,还扩展了识别和学习错误证据的能力。
研究结果为推理过程的进一步发展提出了一个新方向,即不仅要加强对正确 CoTs 的理解和学习,还要提高识别错误证据并从中学习的能力。这种方法可以成为提高大规模语言模型准确性和可靠性的重要工具,尤其是在解决复杂问题时。
总结
本文研究了大规模语言模型是否能从自己的错误中学习。为了解大规模语言模型如何识别错误并从错误中学习,我们开发了一个新的基准 COTERRORSET,其中包括正确和错误的证据。该基准是通过演示错误创建过程和收集不同领域的数据而设计的。
此外,还提出了"自我反思 "和"调整 "两种方法,从不同角度评估错误的影响。这些方法都显示出明显的改进,并突出了从推理错误中学习的潜在好处。特别是,本文详细分析了大规模语言模型在算术和常识推理领域所犯的常见错误,为今后的研究方向提供了明确的指导。