以后的研究者如何设计思维链技术才能让大模型推理性能更好的提升?本文带你一探究竟。
思想链(CoT)对于提高大型语言模型(LLM)的推理能力具有重要意义。 然而,CoT 的有效性与提示中推理步骤的长度之间的相关性仍然很大程度上未知。 为了阐明这一点,多家研究机构(西北大学、罗格斯大学、利物浦大学、新泽西理工学院)联合进行了研究并进行了几次实证实验来探索其中的关系。我们设计了扩展和压缩 CoT 的例子中的基本原理推理步骤的实验,同时保持所有其他因素不变,然后得到了一些很有趣的结论。
论文链接:https://arxiv.org/pdf/2401.04925
作者金明宇将于1月31日下周三在智源社区上进行分享,欢迎大家报名🙋
报名地址:https://event.baai.ac.cn/activities/758
大模型的推理性能的关键在什么地方?
大语言模型在自然语言处理任务上的惊艳表现引起了社会广泛的关注,特别是在经典 NLP 任务中。 其中的一个关键创新是思想链(CoT)技术,以其在多步骤问题解决中的功效而闻名。 这种反映人类顺序推理的技术在各种挑战中表现出了显着的有效性,包括跨领域、长度泛化和跨语言任务。 CoT 方法以其逻辑性、循序渐进的方法论,在复杂的问题解决场景中提供了至关重要的可解释性。
尽管Cot的方法发展的非常快并且取得了令人鼓舞的成果,但研究界尚未就 CoT 及其变体如何以及为何有效发挥作用的精确机制达成共识。 这种知识差距意味着提高 CoT 性能仍然是一个探索领域,很大程度上依赖于试错方法。 目前仍缺乏既定的系统方法来提高 CoT 的有效性,使得研究人员只能依赖猜想和实验。 这种情况凸显了该领域的一个重大机遇:对 CoT 的内部运作有更深入、更结构化的理解。 这样的进步不仅可以揭开当前过程的神秘面纱,还可以为该技术在各种复杂的 NLP 任务中更可靠、更高效的应用铺平道路。
我们的研究结果表明,在一定限度内,推理链的长度与大模型推理能力之间存在显着相关性。 有趣的是,当我们将误导性信息引入推理链时,性能仍然表现出改善。 这突显了一个关键的见解:关键因素似乎是思维链的长度,而不是其准确性。
我们有以下主要发现,希望能够帮助学术界更好地提高 CoT 性能。
对于few-shotCOT,步数和准确性之间存在直接的线性相关:这为优化复杂推理中的 CoT 提示提供了一种可量化的方法。 具体来说,延长提示中的推理步骤可以显着增强LLM跨多个数据集的推理能力。 即使在保留关键信息的情况下,缩短推理步骤也会显着降低模型的推理能力。
如果保持必要的推理长度,即使是不正确的基本原理也可以产生有利的结果:例如,在数学问题等任务中,由于其面向过程的性质,中间数字的错误影响较小。
增加推理步骤的优点是依赖于任务的:更简单的任务需要更少的步骤,而更复杂的任务可以从更长的推理序列中获得显着的收益。
增加零样本 CoT 中的推理步骤也可以显着提高 LLM 准确性:为了验证这种方法,我们将最初的提示从“Let’s think step by step”更改为“Let’s think step by step, but you must think more step.” 这种修改导致大型模型的推理能力显着增强,在涉及数学问题的数据集中尤其明显。
我们进行了定量分析,以确定模型大小和增强模型推理能力所需的额外推理步骤数量之间的最佳平衡。
我们丰富推理步骤的方法
我们方法的关键就是不引入新信息,控制变量,只丰富步骤,并不带入额外知识。
基于Zero-Shot-CoT和Auto-CoT的启发,我们期望CoT的流程能够成为一种标准化的模式,并通过在提示部分限制CoT的思维方向来得出正确的结果。我们方法的核心是模拟人类思维过程并重塑思维链条。
- Think About The Word:该策略是要求模型解释单词并重建知识库。 通常,一个单词有多种不同的含义,其效果是让模型跳出框框思考,并根据生成的解释重新解释问题中的单词。 此过程不会引入新信息。 在提示中,我们给出了模型正在考虑的单词的示例,模型会根据新问题自动为该过程选择单词。
- Read the question again:反复读题,减少其他文字对思路链条的干扰。 简而言之,我们让模型记住这个问题。
- Repeat State:与重复阅读类似,我们在经过一长串推理后对当前状态进行了小总结,旨在帮助模型简化其记忆并减少 CoT 中其他文本的干扰。
- Self-Verification:人类在回答问题时会检查他们的答案是否正确。 因此,在模型得到答案之前,我们添加了一个自我验证的过程,根据一些基本信息来判断答案是否合理。
- Make Equation:对于数学问题,Make Equation 可以帮助人类总结和简化记忆。 而对于一些需要假设未知数x的问题,建立方程是一个必不可少的过程。 我们模拟了这个过程,让模型尝试在数学问题中建立方程。
实验
我们使用 GPT-3.5-turbo-1106 比较了来自三类推理任务的八个数据集的准确性。 所有结果均是三次随机运行的平均值。 我们的 SOTA 结果基于每个数据集最佳性能步骤的实验结果。
得益于我们标准化了思想链流程,可以量化由于 CoT 演示原理步骤的增加而带来的准确性的提高。 我们发现,在有效的 CoT 过程中,即添加最多六个步骤的额外思维过程,所有数据集中的大型语言模型推理能力都会得到提高。 换句话说,我们发现准确率和 CoT 复杂度之间存在一定的线性关系。
我们做了以下尝试。 将提示中的某个步骤改为错误答案,看看是否影响思路。 因此,对于这个实验,我们将所有提示更改为携带一个错误。 对于算数类题,即使其中一个提示结果出现偏差,对推理过程中的思维链的影响也是微乎其微的,所以我们认为大语言模型更多地了解了思维链 解决算术类问题时,提示中的模式比单一计算要多。 对于类似Coin数据集中的逻辑问题,其中一个提示结果的偏差往往会带来整个思路的支离破碎。 我们使用 GPT-3.5-turbo-1106 完成了这个实验,并根据之前实验得出的每个数据集的最佳步数保证了性能。
我们进行了推理步骤压缩实验,并采用实验设置中概述的技术来压缩来自基线自动思想链(Auto-CoT)和少样本思想链的示例中的推理过程 (Few-Shot-CoT),旨在减少推理步骤的数量。 结果如图所示。 结果显示,它们的性能显着下降,回归到与零样本方法所达到的水平基本相当的水平。 它进一步表明增加 COT 基本推理步骤可以提高 COT 性能,反之亦然。
结论和未来的工作
在这项工作中,我们为理解和优化大语言模型的 CoT 做出了关键贡献,特别是在复杂推理任务领域。 我们对自然语言处理中的 CoT 技术(特别是 GPT-3、GPT-3.5 和 GPT-4 等大型语言模型)进行了广泛的研究,得出了重要的见解。 我们发现推理链的长度与这些模型的性能之间存在显着的相关性。 有趣的是,较长的推理链可以提高模型性能,即使它们包含误导性信息。 这表明,对于有效解决问题而言,链条的长度比其事实准确性更为重要。 这些发现为完善 CoT 策略提供了宝贵的指导,强调了推理长度在复杂 NLP 任务中的重要性。
我们的下一步是通过分析LLM推理的长推理步骤和短推理步骤以及大模型内部的神经元过程。我们的目标是确定较长的推理步骤是否与更广泛的神经元参与相关。 为了说明这一点,我们打算使用可视化技术来分析长推理步骤和短推理步骤之间的激活模式。