为什么 CoT 能提升大模型的推理能力?

近期我一直在思考:为什么 Chain of Thought(CoT,思维链)能够显著提升大模型的推理效果?主流观点通常认为,CoT 让模型能够逐步推理,将复杂问题拆解为若干子问题并逐步求解。这个解释在宏观层面上是成立的,但从更细致的机制层面来看,CoT 为什么真的有效?为此,我查阅了相关文献,发现了斯坦福大学的一篇论文《Why think step by step? Reasoning emerges from the locality of experience》,对这一问题给出了深入的分析。

本质原因

这篇论文指出,CoT 之所以能够增强大模型的生成与推理能力,归根结底在于它通过引入中间推理步骤,将训练数据中共现概率较低的变量建立起联系,从而提升了模型的泛化能力

举个例子,假设训练数据中 A 与 C 的共现概率极低,那么模型在没有 CoT 的情况下,面对需要同时推断出 A 和 C 的情境时,表现往往不佳。但如果存在一个中间变量 B,且训练数据中 A 与 B、B 与 C 的共现概率都较高,CoT 就能引导模型先推理到 B,再由 B 推理到 C,从而成功实现 A 与 C 的关联。这正是 CoT 能提升推理效果的根本原因。

论文精读

论文认为,逐步推理(step-by-step reasoning)在大语言模型中有效的根本原因,是训练数据本身具有局部统计结构。当训练数据由强相关变量形成的局部重叠集群时,模型可以通过串联这些局部推断,间接学习到那些在训练中很少直接共现的变量之间的关系,从而弥补“推理缺口”(reasoning gap)。

具体而言:

理论分析
  • 推理缺口(Reasoning Gap):如果训练数据只包含变量的局部组合(例如链式结构),模型直接预测远距离变量的关系时偏差较大;但如果通过引入中间变量进行分步推理,偏差显著降低。
  • 局部结构定义:变量以局部集群的形式频繁共现(如时空邻近的概念),强依赖变量常常一起出现,而弱依赖变量则很少共现。
  • 理论证明:在链式贝叶斯网络中,自回归模型对相邻变量的条件概率估计更准确;对非相邻变量,直接预测偏差大,而串联中间变量推理可以有效降低这种偏差。
实验设计
  • 训练数据生成:基于贝叶斯网络,包含 100 个变量和 100 条随机边,变量条件概率服从 Beta(1/5, 1/5) 分布(表示强依赖)。
  • 数据结构类型
    • 局部结构(如几何分布或 Zipf 分布采样的邻域,距离≤6)
    • 全观测结构(几乎包含所有变量)
    • 错误局部结构(邻域基于无关贝叶斯网络)
  • 评估指标:均方误差(MSE),即模型估计的条件概率与真实值的差异,所有结果均为 10 次蒙特卡洛采样平均以降低方差。
  • 推理方式
    • 直接预测:直接输出目标变量概率
    • 支架生成:预设中间变量(d-分离观测与目标变量)
    • 自由生成:模型自主选择中间变量
    • 负支架生成:使用无关中间变量(对照组)
  • 模型配置:GPT-2 变体,512 维嵌入,10 层,8 头注意力,训练 30 万步(共 9.216 亿 token),Adam 优化器,初始学习率 1e-3

在这里插入图片描述

关键实验结果
  • 推理有效性的前提:只有当训练数据具有正确的局部结构时,支架生成和自由生成的 MSE 显著低于直接预测。例如,在局部(几何)结构下,自由生成 MSE≈0.02,直接预测为≈0.08。
  • 数据效率优势:局部结构训练+自由生成在约 1.2 亿 token 时达到的性能,全观测训练则需要 3 倍以上的数据量才能达到相似效果。
  • 推理失效情形:错误局部结构下,模型估计接近边际概率(MSE≈0.03),无法通过推理降低偏差;全观测数据下,推理无显著优势。
  • 中间变量作用:局部结构训练时,70% 的自由生成轨迹包含 d-分离中间变量,而错误局部结构下仅为 34%。
结论与意义
  • 核心结论:逐步推理的有效性源自训练数据的局部统计结构。模型通过串联局部依赖关系,弥补了未观测变量对的关联估计偏差。
  • 应用价值
    • 语言模型训练:构建局部强依赖集群的数据可显著提升推理能力并减少所需数据量。
    • 认知科学启示:人类推理效率可能正是源于经验世界的局部结构特性。
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐