你真的了解CoT?普林斯顿大学解密影响CoT效率的因素,引用5875次的CoT讲了啥
发布日期:2024-07-25 20:34:29
浏览次数: 2073
2022年,Google研究团队发表了名为《思路链提示引发大型语言模型的推理》的开创性论文,引入了思维链(Chain of Thought, CoT)prompting技术。短短两年内,该论文已被引用5875次,彰显了CoT在AI领域的重要地位。CoT prompting不仅显著提升了大语言模型(LLMs)在复杂推理任务上的表现,还为我们理解和改进AI系统的推理能力开辟了新的研究方向。然而,尽管CoT
prompting的效果令人瞩目,其背后的工作原理却一直存在争议。一些研究者认为CoT展现了语言模型的真正推理能力,而另一些人则怀疑这只是一种巧妙的记忆技巧。最近,来自北京大学和普林斯顿大学的研究团队分别从理论和实验角度对CoT进行了深入分析,为我们揭开了CoT的神秘面纱。本文将详细介绍CoT的核心原理、理论基础,以及影响其效率的关键因素,帮助正在开发AI产品的工程师和正在使用网页界面与LLM交互的朋友们更好地理解和应用这一强大技术。CoT prompting的灵感来源于人类解决复杂问题的思维过程。当我们面对一个多步骤的数学题时,通常会将问题分解为若干个中间步骤,逐步推导出最终答案。例如:
"珍妮最初有10朵花。她给妈妈2朵后还剩8朵...然后她又给爸爸3朵,所以现在还剩5朵...因此最终答案是5朵。"
Google的研究团队意识到,如果能让语言模型生成类似的中间推理步骤,可能会显著提升其解决复杂问题的能力。
Google团队认为:
1. 首先,思想链原则上允许模型将多步骤问题分解为中间步骤,这意味着额外的计算可以分配给需要更多推理步骤的问题。
2. 其次,思想链提供了模型行为的可解释窗口,表明模型如何得出特定答案,并提供调试推理路径出错位置的机会(尽管仍然需要充分表征支持答案的模型计算)。
3. 第三,思想链推理可用于数学应用题、常识推理和符号操作等任务,并且可能适用于(至少原则上)人类可以通过语言解决的任何任务。
4. 最后,只需将思维链序列的示例包含到少样本提示的示例中,就可以在足够大的现成语言模型中轻松引发思维链推理。
CoT prompting的核心思想是在few-shot示例中加入中间推理步骤。具体来说,prompt中的每个示例都包含三个部分:
通过这种方式,模型不仅学习了输入和输出之间的映射关系,还学会了如何进行步骤分解和中间推理。在推理时,模型会先生成一系列中间步骤,然后基于这些步骤得出最终答案。
Google团队的实验结果令人振奋。在GSM8K数学词问题基准测试中,仅使用8个CoT示例的PaLM 540B模型就达到了57%的准确率,超越了之前经过微调的GPT-3(55%)。这一结果不仅证明了CoT的有效性,还展示了大型语言模型的惊人潜力。
尽管CoT在实践中取得了显著成功,但其理论基础一直不够清晰。北京大学的研究团队在论文《揭示思想链背后的奥秘》中,从电路复杂理论角度对CoT进行了深入分析,为我们理解CoT提供了全新的视角。
研究团队首先证明了CoT显著提高了Transformer模型的表达能力。他们发现,对于某些基本的数学任务(如算术表达式求值和线性方程求解),如果不使用CoT,要解决这些问题,模型的参数量需要随着输入长度呈超多项式增长。而使用CoT后,即使是固定大小的自回归Transformer也能解决这些问题。
定理3.1和定理3.2都无法解决提出的问题,他们提出了以下定理:
定理3.3: 对于任意素数p和整数n>0,存在一个自回归Transformer(如第2节所定义),其隐藏大小d=O(poly(p))(与n无关),深度L=5,每层有5个注意力头,可以为Arithmetic(n,p)中的所有输入生成CoT解决方案。此外,Transformer中所有参数值都被限制在O(poly(n))范围内。
定理3.4: 对于任意素数p和整数m>0,存在一个自回归Transformer(如第2节所定义),其隐藏大小d=O(poly(p))(与m无关),深度L=4,每层有5个注意力头,可以为Equation(m,p)中的所有输入生成CoT解决方案。此外,Transformer中所有参数值都被限制在O(poly(m))范围内。
这些理论结果表明,CoT不仅仅是一种简单的提示技巧,它实际上从根本上扩展了模型的计算能力。通过生成中间步骤,模型能够将复杂问题分解为一系列简单操作,从而突破了原有的计算瓶颈。实验表明,虽然Transformer总是无法直接预测答案,但在充分的CoT演示的情况下,它们可以始终如一地学习逐步生成正确的解决方案。更令人惊讶的是,研究者们证明CoT使得语言模型能够模拟动态规划(Dynamic Programming, DP)算法。DP是一种强大的问题求解框架,广泛应用于序列决策问题。研究团队提出了以下定理:
定理4.7: 考虑任何满足假设4.2至4.5的DP问题。对于任何整数n∈N,存在一个自回归Transformer,其深度L、隐藏维度d和注意力头数H都是常数(与n无关),使得Transformer生成的答案对于所有长度不超过n的输入序列都是正确的。此外,所有参数值都被限制在O(poly(n))范围内。
这一定理表明,CoT使得模型能够将复杂问题分解为子问题,并利用之前子问题的解来解决当前问题,这与DP的核心思想高度一致。这不仅解释了CoT为何能显著提升模型的推理能力,还为设计更高效的prompting策略提供了理论依据。
尽管CoT表现出色,研究者们也指出了它的一些局限性。例如,他们证明了在某些需要精确符号推理的任务中,如上下文无关文法成员资格测试问题,即使使用CoT,有限深度的Transformer模型也无法完全解决。这提醒我们,尽管CoT大大增强了语言模型的推理能力,但它并不等同于真正的符号推理。在北京大学团队建立CoT理论基础的基础上,普林斯顿大学的研究团队通过一系列精心设计的实验,进一步揭示了影响CoT效率的三个关键因素:概率、记忆和噪声推理。他们的研究不仅验证了理论分析的结果,还为我们提供了更深入的洞察。
研究团队选择了一个相对简单但又富有洞察力的任务:解密移位密码。在这个任务中,每个字母都被向前移动固定数量的位置(称为shift_level)。例如,使用ROT-3加密时,"CAT"会变成"FDW"。
这个任务之所以被选中,是因为它允许研究者独立操控多个可能影响CoT性能的因素:
1. 任务难度:可以通过改变shift_level来调整
2. 频率:不同的shift_level在互联网文本中出现的频率不同
3. 答案概率:可以通过选择不同概率的单词作为答案来调整
实验发现,CoT的效果与正确输出的概率密切相关。当正确答案是高概率单词时,CoT的性能显著提升。这一发现揭示了语言模型在进行CoT推理时,仍然受到其预训练阶段学到的概率分布的强烈影响。
1. 当中间推理步骤指向一个低概率的最终输出时,模型可能会"自我纠正",生成一个概率更高的答案。
2. 在高概率设置中,即使中间推理步骤有错误,模型也更容易得出正确的最终答案。
3. 相反,在低概率设置中,即使中间推理步骤正确,模型也更容易产生错误的最终答案。
这些观察结果表明,CoT并不是纯粹的符号推理,而是一种受概率影响的推理过程。这与北京大学团队提出的理论模型相一致,说明了CoT虽然增强了模型的推理能力,但这种能力仍然部分依赖于统计学习。
研究还发现,模型在预训练阶段接触过的任务频率对CoT的效果有显著影响。例如,ROT-13(shift_level=13)在互联网论坛中被广泛用于隐藏文本,因此模型在这个特定的shift_level上表现出色。
1. 在ROT-13任务上,即使中间推理步骤有错误,模型也能更频繁地得出正确的最终答案。
2. 相比其他shift_level,ROT-13任务中从错误的中间步骤到正确最终答案的"纠错"能力更强。
这些发现表明,CoT性能部分依赖于模型对特定任务的"记忆",而不仅仅是通用的推理能力。这一结果与北京大学团队的理论分析相呼应,说明CoT虽然提高了模型的表达能力,但这种能力的发挥仍然受到预训练数据分布的影响。
实验还揭示了CoT推理过程中存在"噪声"。随着shift_level的增加(从1到12),模型的准确率呈下降趋势,这与理想的符号推理不符。研究者们将这种现象解释为"噪声推理":每个推理步骤都有一定概率出错,步骤越多,累积误差就越大。
有趣的是,当shift_level超过13时,准确率又开始回升。这被解释为模型采用了"双向"策略:它可以选择向前或向后移动字母,以最小化所需的步骤数。
这些发现与北京大学团队的理论分析相一致。尽管CoT显著提高了模型的表达能力,但这种能力的发挥仍然受到噪声的影响。这解释了为什么在某些复杂任务上,即使使用CoT,模型的性能也无法达到完美。
结合北京大学的理论分析和普林斯顿大学的实证研究,我们可以提出一个统一的理论框架来解释CoT的工作原理:概率影响下的记忆辅助噪声推理。
CoT通过允许模型生成中间推理步骤,显著提高了Transformer的表达能力。这使得固定大小的模型能够解决原本需要超多项式参数量才能解决的问题。这一能力提升的机制可以理解为:
1. 问题分解:CoT使模型能够将复杂问题分解为一系列简单子问题。
2. 递归计算:通过反复生成和条件化中间步骤,模型实现了一种类似递归的计算过程。
3. 动态规划模拟:CoT使模型能够模拟动态规划算法,有效处理具有重叠子问题的复杂任务。
尽管CoT提高了模型的表达能力,但推理过程仍然受到概率分布的强烈影响。这表现在:
1. 答案偏好:模型倾向于生成高概率的答案,即使中间推理步骤可能指向低概率答案。
2. 错误纠正:在高概率设置中,模型更容易纠正中间步骤的错误。
3. 推理不稳定性:在低概率设置中,即使中间推理正确,最终答案也可能出错。
这种概率影响反映了语言模型的统计学习本质,说明CoT并非纯粹的符号推理。
模型在预训练阶段接触过的任务模式会被"记忆"下来,并在后续的CoT推理中发挥作用。这表现为:
1. 频繁任务优势:对于常见的任务模式(如ROT-13),模型表现感谢您的提醒。我将继续完成上述内容,并提出一个基于统一理论框架的改进型CoT
Prompt框架。
2. 任务特异性:模型对特定任务类型可能形成"快捷方式",快速给出详细的推理步骤。
3. 知识迁移:模型可能将预训练中学到的解题模式应用到新任务中,即使这些模式并不总是适用。这种记忆效应解释了为什么CoT在某些任务上表现出色,而在其他任务上效果有限。它也说明了为什么增加预训练数据量可能会提升CoT的效果。
4.4 噪声推理:CoT推理过程并非完美无误,而是存在一定的"噪声"。这种噪声表现为:
2. 策略混淆:如在移位密码任务中观察到的"双向"策略混淆。
3. 不一致性:相同输入可能产生不同的推理路径和结果。
这种噪声特性解释了为什么CoT在某些复杂任务上无法达到完美性能,也说明了为什么降低推理温度可能会提高CoT的准确性。(很多朋友喜欢把温度设置很高,这可以增加内容输出的丰富程度,但同时一起增加的还有幻觉)
1. 任务识别:模型能够根据输入特征选择合适的推理策略。
2. 步骤调整:根据任务复杂度动态调整推理步骤的数量和复杂度。
3. 错误恢复:在某些情况下,模型能够从错误的中间步骤中恢复,得出正确结果。
这种自适应能力是CoT强大性能的关键,也为进一步改进CoT提供了方向。
基于上述统一的理论框架,我们可以提出一个改进型的CoT
Prompt框架,能减轻概率、记忆和噪声三个因素的负面影响,从而提升推理效率。
改进型CoT
Prompt框架包括以下关键组成部分:
这个综合框架旨在通过减少对预训练记忆的依赖、增强真实推理能力、降低噪声影响和提高自我监控能力来提升CoT的效率。它鼓励模型进行更深入、更可靠的推理,同时也为研究人员提供了更多关于模型推理过程的洞察。
一个简单的提示,用改进了影响因素的CoT Prompt框架在GPT 4o和Claude运行的结果,如上图所示。通过综合北京大学的理论突破和普林斯顿大学的实证研究,我们对CoT的工作原理有了更深入的理解。CoT不仅是一个简单的提示技巧,而是一种能够显著提升语言模型表达能力和推理能力的方法。然而,这种能力的提升仍然受到概率、记忆和噪声等因素的影响。基于这些影响我提出了这个改进型的CoT
Prompt框架。这个框架通过任务描述增强、多样化示例池、动态推理路径、自校验机制等方法,减轻了各种限制因素的影响,进一步提升CoT的推理效率。对于AI研究者和工程师来说,深入理解CoT的工作原理及其局限性至关重要。如果您也需要这个框架可以到群里来向我索要。
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业