研究综述
大模型对自己的推理“知道”多少?来自模型内部的证据
思维链给了我们一段看起来像推理的文字。我的三篇论文看的是文字底下的隐藏状态:模型对自己的推理表示了什么?这些表示可信吗、能用吗?
模型常常知道自己的推理在出错
在隐藏状态上训练的线性探针,预测一条思维链是否正确的 AUROC 达到 0.95,在第一步推理时就已有 0.79。模型口头报告的置信度几乎不变:错误的推理是 4.55/5,正确的是 4.87/5;只看生成文字的分类器只有 0.59。这个现象在 1.5B 到 72B 的 Qwen、Llama、Phi 模型上都成立,在 DeepSeek-R1 这类强化学习训练的推理模型上也成立(0.852 AUROC)。阅读:大模型知道自己的思维链错了吗?。
但“知道”不等于“能修好”
很自然的下一步是用这个信号去纠正模型。论文测试了四种干预:激活引导、探针引导的 best-of-N、自我纠错和激活修补。四种都失败了,激活修补还让输出完全失去连贯。这个信号反映的是计算质量,而不是能改变计算方向的杠杆。它实际的用处是报警,例如把很可能出错的答案交给校验器或人工复核。
一个概念,三种写法
在 5 个大模型(1.6B–8B)里,同一个推理概念写成英文散文、Python 代码或数学符号,都会落到中间层一个共享的格式无关推理子空间(FARS)。一个 10 维的基底把概念结构放大约 3 倍、同时压低形式信息;在不同写法之间只替换这 10 个维度,就能保留 90–96% 的模型输出,而替换全部激活只保留 44–56%。最大的分歧不在自然语言和形式符号之间,而在陈述式和过程式之间:散文和数学彼此兼容得多,与代码则差得远。阅读:大模型用英语、代码和数学推理的方式一样吗?。
这会不会只是 logit lens 的伪装?
一个能改变行为的子空间,也可能只是对齐了模型输出 token 时用的方向。一种只用模型权重的双向检验,测量子空间与 unembedding 矩阵主导方向的重合程度,并用面向读出的对照来校准。在 26 个模型上,从激活中提取的概念子空间在前十个读出方向上的平均能量只有 0.38–0.80%,而下一个 token 的对照约是 FARS 的 13 倍。这个表示位于读出之前。阅读:概念子空间只是 logit lens 的“伪装”吗?。
实际意味着什么
- 不要把思维链当成忠实的汇报。写出来的推理可以很自信,而隐藏状态已经在报错。
- 把内部信号当监控,而不是当控制。便宜的探针可以标出可能的失败,但没能修复它们。
- 区分“它在哪里”和“它起什么作用”。几何分析定位表示,干预实验检验行为效果;单靠任何一种都不能证明因果充分性。
常见问题
思维链能忠实反映大模型的推理过程吗?
不可靠。研究中,隐藏状态以 0.95 AUROC 预测推理出错,而模型口头置信度依然很高(错误时 4.55/5,正确时 4.87/5),只看文字的分类器只有 0.59。
能从隐藏状态检测出大模型的推理错误吗?
能。隐藏状态上的线性探针预测思维链正确性的 AUROC 为 0.95,第一步推理时已有 0.79,在 Qwen、Llama、Phi 和 DeepSeek-R1 上都成立。
能通过调整隐藏状态来修正大模型的推理错误吗?
这项研究里不能。激活引导、探针引导的 best-of-N、自我纠错和激活修补都失败了;这个错误信号只能诊断,不能用来纠错。
大模型对代码、数学和自然语言的表示一样吗?
对推理概念来说大体一样:它们共享中间层一个 10 维的格式无关推理子空间。散文和数学之间的兼容性远高于它们与代码之间。
本文涉及的论文
- Hidden Error Awareness in Chain-of-Thought Reasoning: The Signal Is Diagnostic, Not Causal
- Beyond Language: Format-Agnostic Reasoning Subspaces in Large Language Models
- Concept Subspaces Compute Beyond the Logit Lens: A Weights-Only Test for Locating Representations Upstream of Readout
本文由袁傲杰(Aojie Justin Yuan,USC Fortis Lab)撰写,内容均来自上面列出的论文;每节末尾链接到对应论文的详细解读。