大型语言模型长推理链中的关键步骤识别:‘思维锚’及其分析方法

研究提出三种新方法,识别LLM长思维链中的关键推理步骤“思维锚”,以提升模型可解释性、调试与安全性。

原文标题:长思维链里的推理步骤,哪些最关键?三招锁定LLM的「命门句子」

原文作者:机器之心

冷月清谈:

大型语言模型(LLM)在生成长思维链时,并非所有推理步骤都同等重要。理解并识别这些关键步骤,即所谓的“思维锚”,对于提升模型的可解释性、可调试性和安全性至关重要。研究指出,在句子层面分析推理过程比在token或段落层面更具优势。

为此,研究者提出了三种互补方法来识别这些关键的“思维锚”:
1. **黑盒方法(反事实分析)**:通过比较模型在包含或不包含特定句子时的最终答案分布,来评估该句子对结果的影响。这种方法克服了传统“强制回答”评估的局限性,发现规划生成和不确定性管理(如回溯)类句子的反事实重要性最高。
2. **白盒方法(注意力模式)**:假设重要句子会受到后续句子更多的注意力关注。通过分析注意力头的分布,发现规划生成、不确定性管理和自我检查类句子始终获得最多的下游关注。
3. **因果归因方法(注意力抑制)**:此方法旨在直接测量句子间的因果依赖关系。通过选择性地抑制对特定句子注意力的流向,观察其对后续句子语义内容(logits)的影响,从而揭示句子间更精确的逻辑连接,并识别出模型内部的自我纠正模式和思维回路。

案例研究展示了这些方法在识别模型早期错误轨迹、关键转折点、计算模块和自我纠正模式方面的实用性。这些“思维锚”通常是规划或回溯性质的句子,对整个推理过程产生不成比例的影响。这项研究不仅为深入理解LLM的内部工作机制提供了新视角,也为未来的调试和可靠性提升奠定了基础。

怜星夜思:

1、文章提到了规划句和回溯句是LLM的“思维锚”。那在咱们日常解决问题时,是不是也有类似的“思维锚”时刻?比如什么时候会突然“灵光一闪”,或者什么时候意识到之前思路错了需要“回溯”?这些跟LLM的推理过程有什么异同呢?
2、这研究说了三种识别“关键句子”的方法,黑盒、白盒、因果归因。那对咱们普通用户来说,如果想知道LLM到底是怎么得出答案的,有没有什么更直观、易懂的方法?或者未来有没有可能LLM能自己“解释”它的关键推理步骤,而不是我们去“分析”它?
3、文章里说识别出这些“思维锚”可以“提高模型的可解释性、可调试性和安全性”。听起来挺厉害的,但具体在实际应用中,比如写一篇复杂的报告或者进行一项多步骤的科学计算,识别出这些“命门句子”到底能帮我们解决什么难题?举个具体的例子呗?

原文内容

机器之心报道

编辑:张倩


思维链里的步骤很重要,但有些步骤比其他步骤更重要,尤其是在一些比较长的思维链中。


找出这些步骤,我们就可以更深入地理解 LLM 的内部推理机制,从而提高模型的可解释性、可调试性和安全性。


但是,这些步骤没有那么好找,因为每个生成的 token 都依赖于之前的所有 token,其计算难以分解。


在最近的一项研究中,来自杜克大学和 Aiphabet 的研究者提出,在句子层面分析推理痕迹或许是一种有前途的方法



  • 论文标题:Thought Anchors: Which LLM Reasoning Steps Matter? 

  • 论文链接:https://arxiv.org/pdf/2506.19143


作者指出,与 token 相比,句子的连贯性更强,并且往往与 LLM 提取的推理步骤相一致;与段落相比,句子不太可能混淆推理步骤,并且可以作为连接不同步骤的有效对象。


作者提出了三种互补的方法来分析 LLM 的推理过程,这些方法旨在识别推理过程中的关键步骤,即所谓的「思维锚(thought anchor)」,这些步骤对后续推理过程具有重大影响。



第一种是黑盒方法。它通过反事实分析衡量句子对最终答案的影响。即通过比较模型在包含某个句子和不包含该句子时的最终答案分布,来评估该句子对最终答案的影响。


第二种是白盒方法。它通过注意力模式识别关键句子,揭示关键句子如何影响推理轨迹的其余部分。


第三种是因果归因方法。它通过抑制注意力直接测量句子之间的因果关系,即抑制对特定句子的注意力如何影响后续每个句子的 logits。



每种方法都为思维锚的存在提供了证据。这些推理步骤非常重要,对后续推理过程产生了不成比例的影响。这些思维锚通常是计划句或回溯句。


作者提供了一个开源工具,用于可视化方法的输出。


开源工具链接:http://thought-anchors.com/


这项研究也为更精确地调试推理失败、识别不可靠性的来源以及开发提高推理模型可靠性的技术打开了大门。



通过反事实测量句子影响


有些句子比其他句子更重要,但哪些句子最重要取决于我们如何定义和衡量重要性。作者将句子层面的重要性表述为一个反事实影响的问题:包含或排除一个句子会如何影响后续步骤以及模型的最终输出?


在之前的研究中,句子重要性通常是通过在推理过程中的每个句子位置强制模型给出最终答案来近似的,这种方法叫做「forced-answer」(如图 3A)。



这种方法的一个局限性在于,对于某些最终答案而言,句子 S 可能是必要的,但 LLM 在推理过程中往往较晚才生成该句子。这意味着,对于出现在 S 之前的所有句子,强制回答的准确率都会很低,从而无法准确判断这些早期步骤的重要性。


考虑一个由句子图片以及最终答案 A 组成的推理轨迹。作者通过重新采样来定义一个度量,用以衡量句子 S 导致答案 A 出错的程度。作者称这个度量为反事实重要性。他们通过以下三个步骤来激励并定义这个度量:


推理轨迹采样。对于给定的句子 S_i,生成 100 次推理轨迹。一种情况下包含句子 S_i(干预条件),另一种情况下用一个语义不同的句子 T_i 替代 S_i(基础条件)。


分布比较。计算两种条件下最终答案分布的 KL 散度。从而得到一个衡量句子 S_i 改变答案程度的标量。作者称其为重采样重要性度量。


语义过滤。重采样重要性的问题在于,如果 T_i 与 S_i 相同或相似,那么我们无法得知 S_i 是否重要。因此,作者通过计算句子对的余弦相似度,并设定一个相似度阈值,筛选出那些与原句子 S_i 语义不同的替代句子 T_i。这样可以避免因替代句子与原句子过于相似而导致的分析偏差,从而更准确地评估 S_i 对最终答案的影响。


由于作者在给定句子 S_i 之后重新采样所有步骤,因此避免了上述强制回答方法的局限性。


在数据集中,他们发现规划生成(Plan generation)和不确定性管理(uncertainty management)例如,回溯)句子的反事实重要性始终高于其他类别的句子,如事实检索或主动计算(见图 3B)。这支持了这样一种观点:高层次的组织性句子可以锚定、组织并引导推理轨迹。作者认为,与强制回答重要性和先前基于 token 或注意力的度量相比,这种方法提供了更有信息量的结果。


通过注意力聚集衡量句子重要性


作者假设重要的句子可能会受到下游句子更多的关注。尽管注意力权重并不一定意味着因果联系,但高度的关注是重要的句子可能对后续句子施加影响的合理机制。作者进一步推测,对重要句子的高度关注可能由特定的注意力头驱动,通过追踪这些头,可能能够确定关键句子。


作者评估了不同的头在多大程度上将注意力集中在特定的句子上。首先,对于每个推理轨迹,他们将每个注意力头的 token-token 注意力权重矩阵取平均值,形成一个句子 - 句子矩阵,其中每个元素是两个句子之间所有 token 对的平均值。基于每个注意力矩阵,他们计算其对角线下方列的平均值,以衡量每个句子从所有下游句子中获得的关注程度;只在相隔至少四个句子的句子对之间取平均值,以专注于远距离的连接。这为每个头生成了一个分布(例如,图 4A),并且每个头通常将注意力集中在特定句子上的程度可以通过其分布的峰度来量化(对每个推理轨迹进行计算,然后在轨迹之间取平均值)。绘制每个头的峰度图表明,一些注意力头强烈地将注意力集中在推理轨迹中特定的、可能是重要的句子上(图 4B)。



图 5 表明,规划生成、不确定性管理和自我检查(self checking)句子始终通过接收头获得最多的关注(见图 5),而主动计算句子获得的关注最少。进一步与这一发现一致的是,根据重采样方法,那些获得高接收头关注的句子往往也会对下游句子产生更大的影响。这些发现与以下观点相符:推理轨迹是围绕高层句子构建的 —— 这些句子启动的计算可能连接高层陈述,但对整体推理路径的影响可能微乎其微。



通过「注意力抑制」衡量句子重要性


自然而言,考察注意力权重存在一个固有局限:它们无法衡量因果关系。此外,接收头未必适合识别句子与单个后续句子间的关联。因此,作者接下来聚焦于句子间依赖关系的因果归因分析。


基于重采样的句子间分析虽能考察此类依赖关系,但在映射逻辑连接时精度有限 —— 因为反事实重要性反映的是句子对另一句子的总效应(包括直接和间接影响)。而本文方法旨在分离句子间的直接影响,从而有望实现对逻辑连接更精确的建模。


作者通过抑制对特定句子的所有注意力(所有层和头),观察其对后续句子的影响。具体而言,影响程度定义为 token logits 与基线 logits(未抑制时)的 KL 散度。对后续句子的总效应计算为其组成 token log-KL 散度的平均值。


该方法基于两个假设:


  1. token logits 能准确捕捉句子的语义内容;

  2. 注意力抑制不会导致分布外行为的干扰。


因此需验证注意力抑制法与重采样法的相关性 —— 后者虽精度较低,但不依赖上述假设。


注意力抑制矩阵与重采样矩阵的值呈现显著相关性。在 20 条推理轨迹中,19 条显示正相关。当仅分析推理轨迹中相距 5 句以内的案例时(可能更好捕捉直接效应),相关性更强。考虑到两种方法测量的是因果关系的不同维度,且重采样法本身包含随机噪声,这些相关系数具有实质意义。该结果支持了重采样方法的有效性。


案例研究


所采用的三种技术覆盖了推理轨迹中不同层面的归因分析。接下来,作者通过模型对具体问题的响应展示了这些技术的实用性和互补性。选用的例题是:「当十六进制数 66666_16 转换为二进制表示时,它有多少个二进制位(比特)?」



重采样


模型处理此问题的思路是:首先考虑 66666_16 包含 5 个十六进制位,而每个十六进制位可用 4 个二进制位表示。基于此逻辑,思维链最初得出「20 比特」的答案。然而这一初始答案忽略了 6_16 实际对应 110_2(而非 0110_2,因其最前面的 0 无效),因此正确答案应为「19 比特」。在第 13 句时,模型通过启动将 66666_16 转换为十进制再转二进制的计算,转向了正确解答。


重采样方法揭示了这一初始错误轨迹和关键转折点(图 2A 已展示)。具体表现为:第 6-12 句期间预期准确率持续下降,但第 13 句使反事实准确率急剧上升。值得注意的是,若采用强制模型立即生成响应的评估方法(如部分已有研究所示),则会完全错过第 13 句的关键作用 —— 该方法仅会得到 0 准确率。



接收头


模型得出最终正确答案的推理轨迹可分解为多个计算模块(见图 6 流程图)。首先,模型建立将 66666_16 转换为十进制的计算公式(第 13-19 句);接着执行该公式的计算,得出 66666_16 对应的十进制值为 419,430(第 20-33 句);随后通过提出并求解新公式图片,确定正确答案为「19 比特」(第 34-41 句)。此时模型注意到与早期「20 比特」答案的矛盾(第 42-45 句),于是启动双重验证计算:先确认十六进制转十进制的准确性(第 46-58 句),再校验二进制转换的正确性(第 59-62 句)。在强化对「19 比特」答案的确信后,模型最终发现初始「20 比特」错误的根源:「因最前面的 0 不计入位数」(第 66 句)。


上述过程基于作者对注意力模式的分析:接收头精准定位了发起计算或陈述关键结论的句子,从而将推理轨迹划分为具有明确意义的模块(图 6)。


注意力抑制分析


除了被组织成计算模块外,该推理过程还展现出与句子间依赖关系相关的框架结构(图 6)。其中一个结构特征是包含错误提议、发现矛盾及最终解决的自我纠正模式。具体而言,模型最初提出「20 比特」的错误答案(第 12 句),随后决定重新核验。这导致与通过十进制转换计算得出的「19 比特」答案产生矛盾(第 43-44 句)。在重新核验支持「19 比特」答案的运算后,模型回到该矛盾点(第 65 句),最终解释为何「20 比特」答案是错误的(第 66 句)。这可视为一个初步的思维链回路:两个相互冲突的结论产生矛盾,进而促使模型解决该矛盾。


在这个大跨度框架中,还存在验证先前计算的更深层依赖关系。具体表现为:模型先完成 66666_16 转换为十进制值 419,430 的计算(第 32 句),随后决定核验该转换结果(第 46 句),最终确认原始值正确(第 59 句)。这可视作思维链回路的进一步体现。


作者基于论文前面提到的注意力抑制矩阵识别出这些关键连接,该矩阵在这些关联位置呈现局部最大值(12→43、43→65、12→66;32→46、32→59)。值得注意的是,注意力抑制技术定位的多数句子与接收头(receiver heads)高度关注的句子存在重叠。相较于接收头的结论,注意力抑制技术还展示了信息是如何在这些构建推理轨迹的关键句子之间流动的。


更多细节请参见原论文。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

直观方法?我想大概就是,我直接问它:“喂,你刚才那句话是不是最重要的?!”然后它告诉我“是的,主人,因为这句话包含了本段落最重要的知识点!”……然后我就信了。哈哈哈,开玩笑。不过真要说,现在ChatGPT那种分步骤的回答,就有点那意思了。希望以后能直接冒出来个小弹窗:“注意!此处为关键知识点,影响后续推理方向!”那不得起飞?

对于你说的这个问题,现在想“直观”看LLM怎么想的还真挺难的。不过有些对话大模型已经有“逐步思考”的功能了,比如你让它解决一个数学题,它会一步步列出计算过程,这个就算是一种简单的“自解释”吧?未来肯定会更智能,也许LLM自己就能高亮“我刚刚推理到这儿最关键,然后我修改了之前的想法”,那才叫真正的牛X呢!

针对你提出的问题,识别“思维锚”在复杂任务中确实至关重要。以LLM进行科学发现为例,它可能需要综合大量文献,设计实验步骤,并进行理论推导。如果模型在某个核心假设或者推导链条的关键一步出现偏差,整个“发现”过程都会南辕北辙。通过“思维锚”分析,我们可以精准定位模型推理的薄弱环节,是它对某个概念理解不深(可解释性),还是在复合逻辑链条中跳步(可调试性),抑或是存在偏见或误导性信息输入(安全性)。这使得我们能进行有针对性的模型优化和干预,而非盲目地尝试。

哈哈,你这个问题问到点子上了!这不就是咱们平时写作业、做项目经常遇到的吗?一开始洋洋洒洒列一堆点子(规划),结果做到一半发现走偏了,赶紧停下来想想哪里出了问题(回溯)。LLM的“思维锚”感觉就是这种“关键决策点”,只不过它们是代码和数据在跑,咱是脑子在转。但本质上都是为了把问题“拆解”清楚,一步步推导到正确答案。

想象一下你在用LLM自动写一个超长的报告,比如一个年度财务分析报告。报告里数据量巨大,各种计算和逻辑关系盘根错节。突然客户投诉说某个数字算错了,或者某个结论前后矛盾。这时候你傻眼了,几万字的报告怎么找?但如果LLM能告诉你:“报告第X页第Y段,关于某项营收增长的分析,是导致后续所有盈利预测的核心支柱,但它可能被误算了。”那不就跟拿到“武功秘籍”的“命门穴位”一样,一招制敌,直接找到错误源头,效率翻倍,老板都得给你点赞!这安全性就体现出来了,避免了重大决策失误。