跳到正文
原文

任务特定推理模型中自我验证的几何结构

The Geometry of Self-Verification in a Task-Specific Reasoning Model

arXiv· arXiv:2504.14379· Andrew Lee, Lihao Sun, Chris Wendler, Fernanda Viégas, Martin WattenbergHarvard University; University of Chicago; Northeastern University; Google DeepMind本站收录· 29 天前· 原文发表对齐

论文速读

可解释性

据论文 PDF 整理(AI 生成),以原文为准

作者训练R1CountDown后称,关掉3个注意力头即可使CountDown自验证失效。

问题
推理模型会写出长CoT,但已有工作认为它不一定忠实反映内部计算。作者因此问能否改监控隐藏状态,并研究自验证这一步。范围收在目标数出现在上下文中的CountDown。
方法
用R1-Zero配方、以Qwen2.5-3B训练R1CountDown,靠mode collapse得到固定格式CoT。探针找验证相关GLU向量,previous-token heads注视上下文目标数,二者打分后定位到3个头。
实验与结果
300条原本能核对正确解的样本上,作者称关掉33个或3个previous-token头后,R1CountDown会把正确解标成无效并继续生成。只关GLU不能同样关掉验证。R114B上干预多为先标错再自我纠正。
局限与可以继续做的
作者称未找到完整验证电路,只找到关键组件,且任务限于上下文可验证的CountDown。作者推测基于一般知识的验证会用类似子空间,但位置不明显。论文未报告Figure 2与Figure 4的精确成功率。
实验设置R1CountDown、Qwen2.5-3B 等 · CountDown · intervention success rate、partial success 等
被测模型
R1CountDownQwen2.5-3BDeepSeek-R1-Distill-Qwen-14B
基准
CountDown
指标
intervention success ratepartial successprobe validation accuracyLogitLens probability
AI 导读研究者用 DeepSeek R1 的训练配方在 CountDown 任务上训练出一个推理模型,偏好调优带来的模式坍缩使其总是产出高度结构化的思维链,借此反向分析模型的自我验证机制。自上而下分析发现 Gated Linear Unit(GLU)权重编码了 success、incorrect 等与验证相关的 token;自下而上分析发现 previous-token heads 主要承担自我验证。结合两者,研究者用这些 GLU 权重定位出三个注意力头,关闭它们即可禁用自我验证,指向一个可能更大的验证回路中不可或缺的组件。作者称在基础模型和通用推理模型 DeepSeek-R1 中也验证了类似的验证组件。

研究者用 DeepSeek R1 的训练配方在 CountDown 任务上训练出一个推理模型,偏好调优带来的模式坍缩使其总是产出高度结构化的思维链,借此反向分析模型的自我验证机制。自上而下分析发现 Gated Linear Unit(GLU)权重编码了 success、incorrect 等与验证相关的 token;自下而上分析发现 previous-token heads 主要承担自我验证。结合两者,研究者用这些 GLU 权重定位出三个注意力头,关闭它们即可禁用自我验证,指向一个可能更大的验证回路中不可或缺的组件。作者称在基础模型和通用推理模型 DeepSeek-R1 中也验证了类似的验证组件。

相关热点

1 个事件 · 1 条新闻提到

提到这篇论文的新闻

Goodfire提出机制塑造框架,用内部表征引导训练

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    作者要弄清推理模型如何在隐藏状态中核对自己的答案。

    推理模型如何在隐藏状态里核对自己的答案,而不只看CoT文本?

    • 场景:OpenAI o-series与DeepSeek R1用强化学习训练,最终答案正确才奖励,并生成很长的chain-of-thought。作者引用的一系列工作认为CoT不一定忠实反映内部计算,因此提出改监控隐藏状态,并把自验证当作其中关键一步。
    • 为何收在CountDown:通用推理技能很多。作者选需要搜索、且目标数写在上下文里的CountDown(3或4个操作数,用基本四则运算、每个数只用一次凑出目标),因为这样可以预期注意力头参与核对,分析更容易。
    • 可解析轨迹:作者称偏好信号会让模型mode collapse、输出多样性下降。在这里这使R1CountDown稳定生成固定格式CoT,每次尝试标成成功或失败,从而能取tvalid、tinvalid处的隐藏状态xValid、xInvalid。
    • 本文做了什么:以Qwen2.5-3B为基座,按DeepSeek R1-Zero的配方训练任务模型R1CountDown。自上而下找编码验证相关token的GLU权重,自下而上找previous-token heads,并称少至3个头即可关掉自验证;再在基座和DeepSeek-R1-Distill-Qwen-14B上检查类似组件。
  2. 有哪些相关研究?

    作者主要对话线性表示、电路分析和同期的推理探针工作。

    引言和Related Work讨论了几类已有工作。作者没有把其中多数方法当作要击败的系统,只在点名的几篇上写了差别。

    推理模型与CoT

    • OpenAI o-series与DeepSeek R1(Guo et al., 2025):用强化学习奖励正确的最终输出,行为上生成长CoT。作者用它们交代要分析的模型行为从哪来。
    • Arcuschin et al. (2025)、Lanham et al. (2023)、Turpin et al. (2023):作者引用这些工作来支持一个前提,即CoT不一定忠实反映内部计算。论文没有逐篇复述它们的测量协议。
    • Kirk et al. (2024)等:偏好训练会mode collapse、降低输出多样性。作者把这一现象用作得到可解析轨迹的条件,而不是要消除的缺陷。

    线性可解释表示

    • Mikolov et al. (2013)、Park et al.、Zou et al. (2023)一线:不少概念是线性方向,加减后可改变拒绝、奉承、毒性或用户表示等行为。Burns et al.与Li et al. (2023)研究truthful方向;Orgad et al. (2024)、Ferrando et al. (2024)用表示判断出错或无法回忆。
    • Venhoff et al. (2025)解码与不确定性、自我纠正相关的方向;Zhang et al. (2025)发现模型知道自己何时到达解答。作者称本文与这些发现一致,但更往下拆自验证如何实现。

    电路与组件通道

    • Olah et al. (2020)把前向计算看成circuits。Dunefsky et al.、Ameisen et al. (2025)用Transcoder或Cross-layer Transcoder做稀疏近似;Lindsey et al. (2025)用它分析事实回忆、加法以及CoT是否忠实。作者称本文定位验证组件时不另做稀疏近似。
    • Olsson et al. (2022)在induction heads中讨论过previous-token heads;Elhage et al. (2021)、Merullo et al. (2024)的层间通信分数被作者改写成注意力头与GLU的打分。这是方法借用,论文没有批评这些工作。

    基线

    • 干预对照是随机注意力头:每次抽33个或3个,各5次平均,任务是CountDown。被干预模型为R1CountDown、Qwen2.5-3B和DeepSeek-R1-Distill-Qwen-14B。

    作者把本文放在用隐藏状态而不是CoT文本看自验证这条线上:结构化轨迹提供解析点,GLU方向和previous-token heads提供可做因果关闭的组件。

  3. 论文如何解决这个问题?

    探针定位GLU向量,再据此找出3个可关掉自验证的注意力头。

    论文训练任务模型R1CountDown,再从晚层GLU和早层注意力两头夹逼,定位自验证用到的子空间。

    任务与结构化轨迹

    • 基座是Qwen2.5-3B,训练设置沿用DeepSeek R1-Zero。奖励有两项:最终答案正确的accuracy reward,以及把推理放进think标记的format reward。附录A的超参包括actor学习率1e-6、KL系数0.001、最长回复1024。
    • CountDown给出3或4个操作数和一个目标数,要求每个数只用一次、用基本四则运算凑出目标。mode collapse使模型总是枚举尝试,并把每次尝试标成成功或未达目标。作者把即将产出这两种标记的时刻称为tvalid、tinvalid,对应隐藏状态xValid、xInvalid;提示里写出目标数的时刻为tans。

    自上而下:探针与GLUOut

    • 作者把GLU输出写成激活对Wout各行的加权和,称这些行为GLUOut向量,激活分量为GLU神经元。
    • 在每一层、模型即将给出成功或失败标记之前的隐藏状态上训练线性探针,标签是该步算式是否已被当成解出。训练集N=327,680,用梯度下降拟合。附录C写batch size 8、学习率1e-4、weight decay 0.01,验证损失10次不降则停。
    • 用探针方向与GLUOut的余弦相似度,每层、每个方向取top k=50,称为GLUValid与GLUInvalid。作者再把这些向量反嵌回词表,看它们抬高哪些token;反向向量同样做近邻检查。把选中向量缩放到0,是后面因果检查的做法。

    自下而上:previous-token heads

    • 作者的入口假设是:目标数已在上下文中,模型可以把当前算式与tans上的目标对照。他们把在tans上注意力至少10%的头记为previous-token heads,符号APrev。这类头此前在induction heads里被讨论过。
    • 关闭方式是把这些头的WO置零。它们与GLU的关系由下一节的打分连接,而不是只看注意力模式。

    用感受野把两边接上

    • 单个GLU神经元的感受野是把它激活到正的输入集合,Sk={x∈ℝd∣ fk(x)>0}。作者把一组GLUValid感受野的交集看成激活空间里的多面体,称隐藏状态进入该区域时,验证相关的GLU权重会被打开。
    • 每个previous-token head的分数是其OV电路平均多强地驱动这些神经元:score(A,GLU_{Valid})=1/N∑iσ(WigateWOWV)·(WiupWOWV)。这是把层间composition score改到注意力头与GLU的Wgate、Wup上。按分数从高到低逐个消融,直到干预达到Section 4.4的标准,得到子集AVerif。
    • 作者写明该打分忽略头与头的交互,也忽略层间LayerNorm和GLU变换。附录F换N或改排序,会得到不同子集。作者据此称找到的是验证的必要组件,不是完整电路。

    干预定义与迁移到另两个模型

    • 因果测试用模型原本能找到并验证正确解的样本。每条生成100个token;每次即将给尝试打标时关掉指定权重。干预成功指100 token内已经写出正确解,却没有把它验证为成功。若先把正确尝试标成无效、随后仍宣称找到了解,记为partial success。ICL设置下若生成不再遵守R1CountDown的格式,记为out-of-range。
    • 被关掉的集合定为:层18–36每层50个GLUValid;或同时加上每层50个GLUInvalid;或全部APrev;或AVerif。对照是随机抽取同样数量的头。
    • 基座Qwen2.5-3B与DeepSeek-R1-Distill-Qwen-14B不重新做RL。作者给5个按R1CountDown格式解题的demonstration,做CountDown的in-context learning。R114B没有直接可用的探针,作者用EMB2EMB把R1CountDown的探针变过去;附录G写随机抽N=100,000个token学线性映射。R114B的注意力阈值用5%,以补偿更长上下文;附录I另外试了10%和2.5%。
  4. 论文做了哪些实验?

    作者称3个AVerif头可使R1CountDown自验证失效,只关GLU不够。

    实验设置

    • 模型:被分析的是R1CountDown;同一套干预也用在基座Qwen2.5-3B上。DeepSeek-R1-Distill-Qwen-14B上重新定位组件后再干预。论文未写另有评审模型。
    • 数据:任务为CountDown。LogitLens使用300条,比较xValid与xInvalid。因果干预另用300条原本已找到并验证正确解的样本,每条生成100 token。论文未写这两组300是否相同,也未写训练题量。
    • 探针:训练N=327,680。验证准确率的样本量,正文写N=512,附录C写validation size 256。Figure 6给出逐层曲线,正文只说前几层之后通常高于90%。
    • 干预对象:GLUValid为层18–36每层50个向量,占全部GLU向量0.45%;再加上GLUInvalid后为0.9%。APrev在R1CountDown中为33/576(5.7%),阈值是对tans的注意力至少10%。AVerif为L17H14、L17H11、L17H10。随机基线各5次。
    • R114B:5个demonstration的ICL;previous-token阈值5%,得到552/1920;按同样打分得到351个头。附录I改阈值。
    • 指标:intervention success rate、partial success、out-of-range;LogitLens的下一token概率;探针验证准确率。论文未写多种子重复。

    主结果

    表格较宽,可左右滑动

    条件指标数值出处
    R1CountDown,正确解,无干预,L36P(this)0.98Figure 1(a)、Figure 5
    R1CountDown,正确解,关GLU后L36P(this)0.54;另见0.70Figure 1为0.54;正文与Figure 5为0.70
    R1CountDown,未解出,L36P(not)0.25Figure 1(b)
    R1CountDown,前几层之后探针验证准确率通常高于90%Section 4.1、Figure 6
    R114B,注意力阈值10%intervention success rate0.4%Appendix I
    R114B,注意力阈值10%partial success rate25%Appendix I
    R1CountDown的APrev头数33/576Section 4.2、Figure 2
    R114B,阈值5%APrev;AVerif552/1920;351Section 5、Figure 4(b)
    • 作者称只关GLU后,success类token仍会出现,this仍是top-1,因此GLU不能完整解释自验证。Figure 1图注与图中L36一致地写成降到0.54;正文写成0.70,与附录Figure 5抽出的L36行一致。该附录图注又写最后一层二者变为0.51对0.49,与同图抽出的this (0.70)对不上。关掉注意力头的Figure 1(d)中,作者称不再出现success类token,分布接近未解出的(b)。
    • 作者称关掉33个previous-token头,或其中3个AVerif头,干预成功率接近完全:模型把已写出的正确解标成无效,并一直生成下去。Figure 2含随机33头和随机3头的基线,正文没有给出基线百分比,也没有给出Success与Partial Success的分项百分比。
    • 作者称同时关掉GLUValid和GLUInvalid比只关前者更能干预。解释是Qwen2.5-3B使用SiLU,未激活神经元取小负值,不置零时会把GLUInvalid的反方向加进success方向。Table 2后7行是这些向量的反向近邻,作者称常对应反义的验证词;并称xValid多见英文token、xInvalid多见中文token。

    基座模型与R114B

    • 两个模型在5-shot ICL下都能按R1CountDown的格式做CountDown。作者称这与推理能力往往已在预训练模型里的已有结果一致。基座上直接沿用Section 4.4的同一组头,没有重新搜索。
    • 基座上,作者称APrev仍达到接近完全(含partial)的干预率,而那3个AVerif头成功率更低。作者假设强化学习加强了基座里已有的验证机制,所以RL之后少数头就能控制自验证。Figure 4(a)的柱高未在正文标出。
    • R114B上重新搜索后,作者称干预大多是partial success:先把正确解标成无效,再自行改口。351个头的子集成功率高于更大的APrev集合,作者认为并非所有previous-token头或其交互都有助于自验证,并称这暗示存在更大的验证电路。Figure 4(b)同样未给出柱的精确读数。

    GLU激活与转向

    • Figure 3把干预前后的同一GLUValid向量画成相邻柱。作者称关掉3个AVerif头后,多数激活降到接近0或变为负值。图中没有标出具体激活数。
    • 附录E把探针方向加进第24–36层,归一化后缩放20。作者称这不是核心实验,只给定性例子:加上该方向后,模型会把尚未达到目标的等式说成已经解出。论文未报告转向的成功率。

    其他消融与分析

    • 附录F以包含partial success的完全成功为标准:Eq. 8在N=200时为3个头,N=50时15个,N=300时12个;按对tans的注意力密度排序需8个;按与Wgate、Wup或探针的相似度排序各需17个。
    • 附录F的Eq. 8(N=100)一行写100个头,但只列出6个名字,列可能错位,此处不采用该数。同节开头写25个previous-token heads,与正文的33个不一致。
    • 附录I:10%阈值的两项比率见上表;作者称该阈值使集合过紧。2.5%时集合过大,out-of-range更高,论文未给该设置的百分比。GLUValid向量数在200之后结果收敛,该实验用200。
    • 附录H的Table 4列出R114B中与验证相关的GLUOut近邻。作者称它们与Table 2类似,因而认为R114B有相似的验证子空间。论文没有对R114B重复英文/中文那条观察。
  5. 有什么可以进一步探索的点?

    作者称只定位到验证的关键组件,且任务限于上下文可核对的CountDown。

    作者指出的局限与后续方向

    • 不是完整电路:作者写明并不声称找到了完整的验证电路,只找到验证的关键组件(Limitations;Section 4.3也有同一说法)。
    • 任务范围:作者重申研究的是允许基于上下文核对的特定任务,并称并非所有推理任务都有这个性质(Limitations)。
    • 先验验证:作者称许多任务可能要靠一般知识做prior-based verification;他们推测类似子空间仍会被使用,但出现在哪里不那么明显(Limitations)。

    实验覆盖范围

    • 被分析模型为R1CountDown、Qwen2.5-3B、DeepSeek-R1-Distill-Qwen-14B。后两者用5个demonstration的CountDown ICL,不重新做RL。
    • LogitLens与因果干预各300条;干预时每条生成100 token。随机头基线各5次。探针训练N=327,680;验证样本量正文为512,附录C为256。
    • R1CountDown的previous-token阈值为10%,得到33/576;AVerif为层17的3个头。R114B在5%阈值下为552/1920,打分子集为351;附录I还写了10%与2.5%阈值。
    • 论文未报告R1CountDown的训练步数、CountDown题量和任务准确率,也未报告Figure 2与Figure 4各柱的精确成功率。
    • 转向只在附录E给定性例子。论文未报告探针与人工判断的一致性,也未报告多种子重复。
  6. 总结一下论文的主要内容

    结构化CoT上,3个previous-token头被作者称足以关掉CountDown自验证。

    R1CountDown用DeepSeek R1-Zero的配方从Qwen2.5-3B训出,只做CountDown。作者关心的不是再抬高任务分数,而是自验证在权重里落在何处,从而有可能改去看隐藏状态,而不是只读CoT。

    • 解析点:mode collapse使轨迹格式固定。模型反复尝试,并在解出或未解出时走向不同标记,作者就在这些时刻读隐藏状态。
    • 两条分析:晚层探针能把xValid与xInvalid线性分开,对应GLUOut的近邻常是success或incorrect一类token,反向则常是反义词。更决定行为的是注视提示中目标数的previous-token heads。
    • 关闭实验:在300条原本验证成功的生成里,关掉33个这类头,或按GLU感受野对齐选出的L17H14、L17H11、L17H10,作者称模型会把正确解标成无效并继续写。只置零GLUValid做不到同样的关闭。
    • 另外两个模型:基座上,同一批previous-token头仍能干预,但那3个头更弱;作者假设RL把已有机制收得更局部。DeepSeek-R1-Distill-Qwen-14B上,552个头或351个子集的干预多停在先标错、再改口,作者认为电路更大。
    • 作者的边界:这给出的是上下文可核对任务中自验证的必要组件,不是完整电路,也不能直接换成靠一般知识核对的任务。
阅读原文arxiv.org