你有没有想过这样一个问题:当一个大语言模型在做数学题的时候,它写下"设x为..."这几个字的那一刻,它的神经网络内部到底发生了什么?
![]()
这听起来像是个哲学问题,但其实这是一个可以被测量的科学问题。2024年之后,DeepSeek-R1这类推理模型火遍全网,它们能一步步把复杂的数学题拆解、推导、算出答案,看起来就像人类做题一样有条理。可所有人盯着的都是它们写出来的那些文字,那些"首先"、"然后"、"因此"。几乎没人问过一个更底层的问题:这些看起来不同的思考步骤,在模型的神经网络内部,是不是真的对应着不一样的东西?
来自KAIST和NAVER AI Lab的研究者们决定去查一查这件事。他们的结论有点出人意料:大语言模型的隐藏层里,确实存在着与"提取信息"、"回忆公式"、"分解问题"这些不同推理动作一一对应的几何结构。换句话说,AI不只是在嘴上说"我现在要回忆一个公式了",它的神经网络内部真的切换到了一种可以被识别出来的、专属于"回忆"这个动作的状态。
这件事乍一听可能觉得"废话,AI当然要按不同方式处理不同任务",但仔细想想会发现完全不是那么回事。语言模型的每一层,本质上都是同一套参数在处理同一串token,没有人明确告诉它"现在请你切换到回忆模式"。它写"回忆一下面积公式"和写"我们把这个七边形拆成三角形",用的是完全相同的网络结构,走的是同一条计算路径。如果模型内部真的能自发地为不同的推理功能生成不同的几何表示,那说明模型学到的不只是"预测下一个词"这件事本身,它似乎自己整理出了一套关于"思考方式"的内部分类体系。
这就是这篇论文想讲的故事。
**问题到底难在哪**
在这项研究之前,学术界已经在推理链(chain-of-thought,简称CoT)这个方向上做了大量工作。
思维链(CoT):指大语言模型在给出最终答案前,先生成一段中间的、类似人类思考步骤的文字过程,比如"首先...然后...所以..."。
有人研究CoT里哪些句子对最终答案影响最大,比如"思维锚点"(Thought Anchors)这类工作试图找出推理链里的关键转折句。也有人研究模型会表现出哪些"认知行为",比如验证、回溯、设定子目标。还有人把推理过程画成一张话语关系图,分析步骤之间是怎么相互连接的。
这些工作有一个共同点:它们研究的都是文本层面或轨迹层面的结构,也就是说的这句话跟那句话之间是什么关系,这个行为跟那个行为之间是什么先后顺序。这些当然很有价值,但它们回答不了一个更根本的问题:这些在文本里被区分开的功能,在模型的隐藏表示空间里,到底有没有对应的几何形状?
另一条研究线路是做表示几何的。有研究发现语义概念在模型的隐藏层里会呈现出线性的结构,比如"国王减去男人加上女人约等于女王"这种经典的词向量运算,在大模型里也有类似的现象存在于更抽象的概念上。还有研究用隐藏状态去预测模型的答案是不是对的,或者去刻画整条推理轨迹在表示空间里画出的曲线。
但这些研究关注的都是全局轨迹、语义概念,或者答案对错这种"结果导向"的信号,没有人去问:局部的、可能在整个推理过程中反复出现的那些具体的"操作",比如"从题目里摘取信息"这个动作,或者"套用一个已知公式"这个动作,它们本身有没有独立的几何身份?
研究团队把这两条线路连了起来。他们不看整条轨迹,也不看笼统的语义,而是死死盯住一件事:如果我把推理过程切成一个个具体的功能片段,比如"这一段在提取信息"、"这一段在做代数变形"、"这一段在回忆公式",这些片段在模型内部,是不是真的能被区分开?
**先给推理动作分个类**
要回答这个问题,第一步得先有一套靠谱的分类标准,不然没法测量。
研究者借用了一个上世纪的经典框架,George Pólya在1945年出版的《怎样解题》。这本书把数学解题过程分成四个阶段:理解问题、制定计划、执行计划、回顾检验。这个框架已经流传了将近八十年,是数学教育里最经典的解题方法论之一。
基于这个四阶段框架,研究者细化出了一套完整的推理操作分类体系,涵盖了从理解阶段的"提取信息"、"直接映射成公式",到计划阶段的"问题分解",再到执行阶段的"回忆知识"、"逻辑推导"、"代数变形"、"算术计算",最后到回顾阶段的"给出最终答案",一共整理出了将近30种细分的推理操作类型。
在正式实验中,为了保证统计上有足够的样本量,他们聚焦在8种出现频率最高、覆盖四个阶段的核心操作类型上:提取(Extraction)、直接映射(Direct mapping)、分解(Decomposition)、回忆(Recall)、推导(Deduction)、代数变形(Algebraic manipulation)、算术计算(Arithmetic computation)、最终答案(Final answer)。
有了分类标准,接下来是怎么给海量生成的推理文本打标签的问题。他们用GPT-5给每一段生成的推理文字自动标注属于哪种操作,然后专门找了7名人类标注员(其中3名是论文作者本人)来验证GPT-5标注的可靠性。
结果显示,人类标注员之间达成多数一致的比例高达96.4%,用Fleiss' κ这个统计指标衡量是0.666,属于相当不错的一致性水平。而GPT-5的标注和人类多数意见吻合的比例是76.2%,Cohen's κ为0.715。作为对比,如果完全随机猜八个类别,命中率只有12.5%。这说明虽然AI标注不是完美无缺,但确实抓住了大部分人类也能认同的功能区分。
**推理操作在隐藏层里能不能分开**
准备好了标注数据,研究团队的第一个核心实验是:把不同推理操作对应的隐藏层表示拿出来,看看它们能不能被区分开。
具体的做法是这样的。他们选了三个不同的推理模型来做实验,Qwen2.5-7B、Qwen3-8B和Gemma4-31B,覆盖了不同规模和不同家族的模型,避免结论只是某一个模型的特例。数据集用的是DAPO-Math-17K(一套数学推理题库)和TheoremQA(需要套用定理知识的题库),这样既能看纯计算型推理,也能看理论驱动型推理。
对每一个标注好的推理片段,他们从模型每一层都提取出对应的隐藏向量,然后用一种叫做LDA的统计方法(线性判别分析)在训练集上学出一个"操作方向",也就是说,为每种操作找出一个向量方向,这个方向能最大程度地把"这种操作"和"其他所有操作"区分开来。
线性判别分析(LDA):一种统计方法,用来找出一个投影方向,使得不同类别的数据点在这个方向上尽量分开,同类数据点尽量聚在一起。
学出这些方向之后,他们拿从未见过的测试集数据去验证,看看这些方向能不能准确预测一段隐藏表示对应的是哪种推理操作。评价指标用的是AUROC,这是机器学习里常用来衡量分类器区分能力的指标,0.5代表完全瞎猜,1.0代表完美区分。
实验结果相当清楚:三个模型在所有八种操作类型上,AUROC普遍能达到0.85到0.99之间,远远高于随机猜测的0.5。而且这种区分能力在模型的中间层达到峰值,浅层和深层都相对较弱。
这个"中间层最强"的现象值得多说两句。你可以把一个大模型的层级结构想象成一条从原料到成品的生产流水线。最靠近输入的浅层,处理的还是相对原始的词汇信息,就像流水线刚开始的时候,工人手里拿到的还是没经过任何加工的零件,你很难从这堆零件里看出这台机器最终是要造成汽车还是造成洗衣机。而到了流水线最末端,也就是模型的最后几层,网络已经在全力聚焦于"生成下一个最合适的词"这个具体任务,就像流水线快结束时所有人都在为最后的组装和喷漆忙活,之前那些区分"这是发动机部件还是车身部件"的中间过程反而被压缩掉了。只有在流水线的中段,各个部件的功能分类才最清晰可辨。这恰好解释了为什么操作类型的区分能力会在中间层达到高峰。
**这会不会只是词汇在作怪**
看到这个结果,很自然会冒出一个质疑:会不会这种区分能力根本不是模型学到了什么"操作"的概念,而只是因为不同操作用的词汇天然就不一样?
比如说,"回忆"这个操作里大概率会出现"公式"、"定理"这类词,而"算术计算"里大概率会出现大量数字。如果隐藏层的区分能力只是在间接反映这些表面词汇的差异,那这个发现就没什么新意了,无非是说模型能区分含有不同关键词的句子,这不是什么了不起的能力。
研究团队对此做了极其扎实的四重检验。
第一重是直接训练一个纯文本分类器,用词袋模型和TF-IDF这两种经典的文本特征提取方法,跟隐藏层探针做对比。
TF-IDF:一种衡量词语在文本中重要性的统计方法,简单说就是一个词在这段文字里出现得越多、但在所有文字里出现得越少,这个词就越重要越有代表性。
结果显示,纯文本分类器确实能达到不错的效果,AUROC能到0.80到0.85左右,说明词汇确实携带了大量信息。但隐藏层探针的表现依然全面超越了纯文本方法,AUROC能达到0.90左右,AUPRC(另一个衡量精确率和召回率平衡的指标)的提升幅度更是达到8到19个百分点。这说明隐藏层里编码的信息比表面词汇更丰富,不是简单的词汇统计能完全解释的。
第二重检验更狠一些,叫做词汇匹配对照实验。他们专门找一对句子,一句和目标句子词汇上很像但操作标签不同,另一句词汇上差异很大但操作标签相同,然后看训练好的探针到底更倾向于按词汇相似度分类,还是按真实的操作功能分类。结果是,在八种操作里有五种,探针明显是按照操作功能而不是表面词汇在做判断,置信区间完全排除了"探针只是在按词汇相似度分类"这种可能性。
第三重检验专门针对一种更刁钻的情况:如果一段文字里恰好混入了本该属于"竞争对手"操作的高频词汇会怎样。比如一段本来应该被标为"推导"的文字,里面偶然出现了几个通常和"回忆"操作强相关的词,探针会不会因此被带偏。测试结果显示,即使在这种蓄意制造的对抗性子集上,探针的准确率依然维持在很高水平,Qwen3-8B达到0.919的AUROC。这说明少量误导性词汇不足以推翻探针基于整体语境形成的判断。
第四重检验专门针对"算术计算"这个最容易被质疑的类别,因为它大概率会包含大量数字。研究者专门筛选出数字和数学符号密度在50%到75%之间的片段,看在这种高度数字化的场景下,各类操作是否依然能被区分。结果是所有类别依然显著高于随机水平,算术计算本身的AUPRC是0.510,虽然是五个类别里表现最弱的,但也远高于0.204的随机基线。
这四重检验叠加起来,基本能排除"这只是词汇统计的把戏"这个质疑。研究者还额外测试了去掉LDA监督投影只用无监督PCA的效果,以及控制推理步骤在整条轨迹中所处的相对位置,甚至把整套方法迁移到完全没见过的Llama-3-8B模型和GPQA-Diamond、MATH-500这两个全新数据集上,结果都保持稳定。这说明这个操作分离的现象不是某种特定实验设置下的巧合,而是一个相当鲁棒的普遍现象。
**同一个词,在不同的思考场景里长得不一样**
如果说前面的实验证明了"不同的推理操作有不同的几何身份",那接下来这个实验要问的问题更尖锐:这个几何身份,是不是完全由词汇本身决定的?也就是说,同样一个"的"字或者一个逗号,如果分别出现在"回忆"和"推导"这两种不同的语境里,它的隐藏表示会不会依然长得不一样?
研究者专门挑出一些在多种操作片段里都反复出现的高频虚词,比如"是"、"的"、"所以"、"这个"这类几乎不携带具体语义的功能词,然后追踪同一个词在不同操作语境下,它的隐藏表示在探针空间里的位置变化。
结果相当震撼:在浅层,这些相同的词几乎完全混杂在一起,分不出所在的操作类别。但随着层数加深到中间层,同样的词开始按照它所处的操作语境明显分离开来,出现在"回忆"语境里的"的"字,会和出现在"推导"语境里的"的"字,在几何空间里跑到明显不同的位置去。到了最后几层,这种分离又开始有所模糊。
这个发现的意义在于,它证明了操作的几何身份不是简单地由句子里出现了哪些"关键词"决定的,而是模型在处理这个词的时候,把周围的整体语境信息也编码进了这个词的表示里。
打个比方,这就像同一个演员在不同的电影角色里,虽然长的还是那张脸,但一旦进入角色,眼神、姿态、语气全都会随着角色的性格发生微妙的变化。如果一个演员演什么角色都是一个表情一种腔调,那他压根不算真正进入了角色,只是在念台词而已。这里的模型也是同理,如果同一个词无论出现在哪种推理语境里表示都长得一模一样,那说明模型压根没有真正区分不同的推理动作,只是在机械地照搬词汇的固定表示。而实验观察到的现象恰恰相反,说明模型确实把"当前正在做哪种推理操作"这个信息,渗透进了具体每一个词的表示当中。
**再往深挖一层:这种信号是集中在几个关键词上,还是弥散在整段话里**
上面的发现引出了另一个问题。既然中间层能区分不同操作,那这种区分能力,是靠着一两个特别关键的词撑起来的,还是均匀地分布在整个片段的每一个词上?
研究者做了一个巧妙的方差分析。对每一个推理片段里的每一个token,都计算它和该片段所属操作方向的对齐分数,然后看这些分数在片段内部的方差大小。方差大,说明信号集中在少数几个特别突出的词上;方差小,说明整段话里的每个词都或多或少地贡献了这个操作信号。
结果显示了一个清晰的规律:在浅层,方差比较高,说明浅层的区分主要靠零星的、局部的线索词撑起来;但随着层数加深到中间层,方差明显下降,说明操作信号变得越来越弥散,分布到了整个片段的所有token上;到了最后几层,方差又略有回升。
这个模式在三个不同的模型上都能观察到,说明它不是某个模型的特例,而是一种在大语言模型里相当普遍的信息加工规律。
这就好比读一段侦探小说的推理过程。刚翻开书页的时候,你可能只能凭借几个孤立的线索词,比如"凶器"、"血迹",猜个大概方向。但当你真正把整段推理读完,理解了侦探是怎么把线索一步步串联起来得出结论的时候,这种"推理感"已经渗透在整段文字的语气和逻辑连接词里,不再是靠某几个特殊名词撑起来的。模型内部信号从浅层的"关键词依赖"演化到中间层的"整体语境依赖",反映的正是这样一种从局部线索到整体理解的加工过程。
**如果把前面的信息挡住,思考会不会中断**
前面的分析都是"观察型"的,只是在被动地看模型内部发生了什么。研究团队接下来做了一个更主动的实验,属于因果推断的范畴:他们想知道,一个新推理操作片段刚开始的那个表示,是不是真的依赖于前面的推理语境,还是说它其实是独立生成的,跟前面写了什么无关。
具体的操作手法叫做注意力遮蔽干预。他们让模型重新处理同一段已经生成好的文字,但人为地阻断某个目标推理片段的第一个token去关注前面若干个token的注意力路径,也就是让模型在处理这个词的时候,故意"看不见"它前面紧邻的那段文字。然后对比遮蔽前后,这个token和它所属操作方向的对齐分数发生了什么变化。
注意力遮蔽:一种在Transformer模型中人为切断某些token之间信息流动的技术手段,通过修改注意力权重矩阵,让模型在计算某个位置的表示时,无法"看到"被遮蔽的那些位置的信息。
实验结果很明确:遮蔽掉紧邻的前30个token之后,目标推理操作的对齐分数出现了明显下降,这个现象在几乎所有八种操作类型上都能观察到。研究者还做了两个对照实验,一个是遮蔽掉整个前一个标注好的推理片段,一个是随机遮蔽掉一段位置相当但内容无关的文字块。结果显示,效果强弱排序是随机遮蔽最弱、遮蔽整个前置片段次之、直接遮蔽紧邻前置文字最强。
这个排序本身就很说明问题。它意味着一个新推理动作的开始,并不是凭空从当前这几个字里长出来的,而是真真切切地依赖前面那段推理留下的语境痕迹,越靠近的语境影响越大,随机挡住无关内容的干扰反而最小。
不妨想象一下同声传译员的工作场景。译员在翻译当前这句话的时候,脑子里其实一直挂着前面几句话建立起来的语境框架,比如说话人刚才提到的是财经话题还是法律话题,这决定了译员在遇到一个多义词的时候该选哪个译法。如果你突然把译员前面听到的内容全部抹掉,只给他孤零零的这一句话让他翻译,翻译质量会明显下降,即便这一句话本身语法结构完全正常。模型内部推理片段开头的这个表示,也是同样的道理,它不是孤立生成的,而是嵌入在前文积累的推理脉络里被塑造出来的。
不过有一个操作类型值得特别提一句,就是"回忆"。在随机遮蔽的对照组里,"回忆"操作反而出现了相对更大的分数下降,这可能暗示"回忆"这类操作往往需要调用更早、更分散的上下文信息,比如题目最初给出的条件或者之前建立的子目标,而不只是依赖紧邻的前一句话。
为了进一步排除这只是"任何前后文相关的语言现象"都会有的普遍规律,研究者还专门设计了一个对照实验,用完全不涉及数学推理的文学文本作为背景,标注哈利波特系列小说里的疑问句、回应句、陈述句这些日常话语功能,然后跑同样的探针和遮蔽流程。结果显示,这类日常话语功能虽然在隐藏层里也能被适度区分,但整体的区分能力明显弱于推理操作,而且施加同样的前文遮蔽干预后,这些日常话语功能的表示几乎没有受到系统性的影响。这个对照实验有力地证明了,前文语境对推理操作表示的塑造作用,不是所有类型的语言片段都具备的普遍现象,而是推理操作这个功能层面特有的一种性质。
**做错了,思考的"形状"还在不在**
最后一个问题问得挺尖锐:如果一次推理最终答案错了,是不是意味着模型内部的这套操作几何结构也乱套了?
研究者专门挑出了一批Qwen3-8B生成的、最终答案错误的推理轨迹,用GPT-5帮忙区分出哪些片段包含了明确的事实性错误,比如算错了一道加法、用错了公式、记错了某个定理,哪些片段虽然也在做同样类型的操作但没出错。然后拿之前只用正确推理轨迹训练出来的探针,不做任何重新训练,直接拿去测这批含错误的片段。
结果是操作的几何结构依然基本保持,即使某个片段的执行结果是错的,探针依然能相当准确地判断出这段文字在做的是哪种推理操作,用平均池化表示衡量的AUROC达到0.955,比正确片段的0.971只低了一点点。
但这种保持不是完全没有代价的。仔细拆分到每种操作类型来看,"推导"和"算术计算"这两类操作,在出错的时候几何结构的清晰度出现了明显且一致的下降,而"回忆"这个操作类型几乎看不出错误对表示的影响。
这个发现挺有意思的。它暗示了推理操作的"身份标识"和这个操作"执行得对不对",在某种程度上是两件相对独立的事情。就好像一个学生在考试时用错误的步骤做一道代数题,虽然算出来的答案是错的,但改卷老师依然能一眼看出他用的是"移项"这个方法而不是"因式分解",方法的辨识度和方法执行的正确率并不完全绑定在一起。这也提示了一种潜在的应用方向,如果模型内部对"这是哪种操作"的表示相对稳定,而对"这个操作做得对不对"的表示会随着错误发生而变化,未来或许可以通过监测这两者之间的落差,来构建某种早期的错误检测信号。
**这个发现能带来什么**
这篇论文最直接的贡献,其实是给了一种全新的观察AI推理的方式。
在这项研究之前,我们评价一个推理模型好不好,基本只能看它写出来的最终答案对不对,顶多再看看它中间写的那些步骤是不是逻辑通顺。但这套评价方式有一个天然的盲区,它只能看到模型输出的文字表层,看不到文字背后模型内部到底经历了什么样的计算过程。
这篇工作提供的证据表明,至少在数学和定理驱动的推理任务上,模型内部存在一套相对稳定、可以被外部探针识别出来的操作几何结构,这套结构在中间层最清晰,会随着上下文动态演化,而且和最终答案的对错部分脱钩。
这类工作的价值,不在于它马上就能拿来提升模型的准确率,而在于它给未来研究提供了一个新的"抓手"。比如说,既然操作的几何方向可以被找出来,理论上就有可能在生成过程中直接对这些方向做干预,去引导模型更倾向于执行某种特定的推理操作,或者在模型即将犯某类特定错误之前提前预警。研究团队自己也在论文的局限性部分坦承,目前的工作还是诊断性质的,还没有真正验证这些探针能不能用来改进模型行为,这是留给后续工作的一个明确方向。
值得一提的是,研究团队在附录里做了一个特别扎实的补充实验,专门测试了如果不用GPT-5标注的推理操作分类,而是换成日常口语里的疑问、回应、陈述这些话语功能,看看隐藏层里是不是也能观察到类似的区分和语境依赖现象。结果发现推理操作展现出的结构清晰度和上下文因果依赖,明显强于普通的话语功能分类。这说明这套发现确实是推理这个特定认知过程所特有的一种组织方式,而不是任何语言片段都会具备的普遍属性。
顺着这个思路往下推,如果未来有研究者能沿着这条路走下去,找到一种在生成过程中实时监控这些操作几何方向的方法,或许能在模型开始"胡乱推导"之前就提前发现苗头,而不是等到最终答案出错了才后知后觉。这个设想能不能实现,现在还不知道,但至少这篇论文证明了,那个"抓手"是真实存在的。
写在后面
读完这篇论文,最让我意外的一点,是那个"相同的词在不同语境下表示会分离"的实验。
我原本以为,如果模型真的对不同推理操作有内部区分,那这种区分应该主要体现在"用了哪些词"上,毕竟词汇本身就携带了大量的语义信息。但这个实验用一种近乎较真的方式排除了这个最容易想到的解释,它专挑那些几乎没有实际语义、纯粹起语法连接作用的虚词,比如"的"、"是"、"所以",然后证明就连这些最不起眼的词,也会因为所处的推理语境不同而在中间层被区分开。这意味着模型对"我现在在做什么类型的思考"这件事的感知,已经渗透到了句子里最边缘、最不起眼的角落。
另一个让我反复琢磨的细节,是操作几何结构在浅层是"点状"依赖、中间层变成"面状"依赖、深层又收缩回去的这个三段式变化。这种从局部到全局再到局部的演化路径,和很多其他领域里"信息先被局部编码、再被整合、最后被压缩用于具体任务"的加工模式有种隐约的呼应。这到底是Transformer架构本身带来的某种普遍规律,还是仅仅是数学推理这类任务的特殊现象,论文里没有给出答案,这大概是这项工作留下的最值得继续追问的问题之一。
如果模型内部真的存在这样一套可以被识别、被干预的"思考类型"地图,那下一个问题自然而然会浮现:我们能不能有一天,直接在这张地图上"移动",让模型按照我们想要的方式去思考,而不只是被动地等它自己写出对的答案?
Q&A
Q1:什么是Polya问题解决框架,为什么研究者用它给推理操作分类?
A:Polya问题解决框架来自数学家George Pólya 1945年出版的《怎样解题》一书,把解题过程分为理解问题、制定计划、执行计划、回顾检验四个阶段。研究者借用这个经典框架,细化出提取、回忆、分解、推导等具体推理操作类型,用来系统标注AI生成的推理文本,方便后续分析这些操作在模型内部有没有对应的几何结构。
Q2:为什么推理操作的区分能力在模型中间层最强,而不是最后一层?
A:模型浅层主要处理原始词汇信息,还没有形成足够抽象的功能表示;而模型最后几层高度聚焦于生成下一个具体词汇这个任务,反而会压缩掉一些中间层积累的功能性区分。只有在中间层,模型既完成了足够的抽象加工,又还没有被最终生成任务过度收窄,因此不同推理操作之间的几何区分在这个阶段表现得最清晰。
Q3:这项研究发现推理操作的几何结构在答案错误时会怎样变化?
A:研究发现即使最终答案是错的,模型内部依然能较为清晰地区分出当前片段属于哪种推理操作,整体区分能力只是轻微下降。但具体到操作类型,推导和算术计算这两类操作在出错时区分度下降更明显,而回忆操作几乎不受影响,说明操作的身份识别和执行对错在一定程度上是相对独立的两件事。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.