这篇文章探讨了大型语言模型(LLMs)在隐式推理中的表现,发现尽管隐式推理理论上更为高效,但实际上并不等同于显式推理链(CoT)。研究表明,LLMs在进行隐式推理时并未真正进行逐步计算,而是依赖于经验和直觉,这使得其推理过程不稳定且不可靠。文章通过实验验证了这一点,并强调了显式CoT方法在处理复杂任务时的必要性。
论文: LLMs Do Not Think Step-by-step In Implicit Reasoning
链接: https://arxiv.org/pdf/2411.15862
研究背景
研究问题:探讨了大型语言模型(LLMs)在隐式链式思维(implicit CoT)推理中的表现,特别是与显式链式思维(explicit CoT)方法的比较。尽管隐式 CoT 在理论上更具效率,但实验表明其性能仍然落后于显式 CoT。
研究难点:如何有效探测和分析模型在隐式 CoT 中的中间步骤信息,以及如何验证隐式 CoT 是否真正等同于显式 CoT。
相关工作:包括 OpenAI 的 o1(Qin et al., 2024)等,这些工作展示了 CoT 训练的强大能力。然而,现有研究大多集中在基于知识的问题上,较少涉及基本的多步问题,如算术。
研究方法
这篇论文提出了通过实验探测模型在隐式 CoT 中的中间步骤信息,以验证其是否真正进行逐步推理。具体来说,
实验设计:使用简单的多步算术问题,通过提示强制模型在不使用 CoT 的情况下直接给出答案。例如,一个5步问题的提示如下:
问题:A 的值是多少?你必须直接回答 A=xxx。
数据收集:随机改变问题中的值,生成2000个不同样本,记录每个样本的中间结果。例如,上述示例的中间结果为 [8,3,5,10,9]。
线性探测方法:采用典型的线性探测方法,使用一层 MLP 从隐藏状态中预测每个中间结果。控制所有中间值在 -10 到 10 之间,使探测成为一个21类分类器(每个值对应一类)。
模型选择:选择大型模型 Qwen2.5-72B-Instruct 进行隐式推理,因为较小的7B级模型难以在没有 CoT 的情况下正确解决多步问题,而70B级模型的准确率超过50%。由于72B模型有80层,为了减少计算成本,将每4个连续层的隐藏状态平均。
实验设计
数据收集:生成2000个不同样本,每个样本包含5步算术问题的中间结果。
样本选择:每个样本的最后一个token作为主要研究对象,记录其每一层的隐藏状态。
参数配置:使用1600个样本训练分类器10个epoch,400个样本测试其准确率。每个隐藏状态组作为输入特征训练一个单独的分类器,最终得到 20∗num_steps 个分类器。
结果与分析
中间步骤探测结果:在3步和5步问题中,第一层和最后一层的结果总是可以成功探测,表明模型确实记住了输入值并构思了最终答案。然而,第二层的结果探测准确率较低,中间步骤的结果几乎无法检测。这表明模型可能具有2跳推理能力,但在涉及更多步骤时则不行。
提示微调结果:通过反转方程顺序和将所有值除以10的方法稍微修改问题,发现使用隐式推理时,模型的性能显著下降,而显式推理的性能始终完美。这进一步表明,隐式推理实际上是依靠经验和直觉直接得出答案,而不是逐步推理。
总体结论
这项研究表明,尽管大型语言模型在许多情况下可以直接给出多步问题的正确答案,特别是在模型较大时,但它们并没有真正进行逐步推理。隐式推理可能只是模型强大记忆和丰富经验的幻觉,与传统的逐步推理机制完全不同。当前技术条件下,没有完美的解决方案可以在保持解决复杂问题准确性的同时让LLMs输出很少的token。因此,使用显式 CoT 方法来扩展测试时间可能是目前最为可行的方法。
扫描二维码添加小助手微信