可解释性
Interpretability
追踪大型语言模型的思维轨迹
Tracing the thoughts of a large language model
2025年3月27日 阅读论文

近期针对较小模型的研究已显示出跨语言共享语法机制的迹象。我们通过用不同语言向 Claude 提问"small 的反义词"来探究这一点,结果发现,关于"小"和"反义"这两个概念的相同核心特征会被激活,进而触发"大"的概念,并最终翻译成提问所用的语言。我们还发现,这种共享回路会随着模型规模的增大而增强——与较小的模型相比,Claude 3.5 Haiku 在不同语言之间共享的特征比例高出两倍以上。
这为某种形式的概念普遍性(conceptual universality)提供了额外证据——即存在一个共享的抽象空间,意义在其中存在,思维在其中发生,随后才被翻译成特定语言。从更实际的角度看,这表明 Claude 可以用一种语言学到知识,并在使用另一种语言时加以应用。研究模型如何跨上下文共享所学内容,对于理解其最先进的推理能力至关重要,这些能力能够泛化到众多领域。
Claude 会为押韵提前规划吗?
Does Claude plan its rhymes?
Claude 是如何创作押韵诗歌的?请看这首打油诗:
他看见一根胡萝卜,忍不住伸手去抓, 他的饥饿就像一只饿极了的兔子
为了写出第二行,模型必须同时满足两个约束条件:押韵(与"抓"押韵)和表意合理(他为什么抓胡萝卜?)。我们原本猜测,Claude 是一个词一个词地写,直到行末才会确保选一个押韵的词,并没有太多预先规划。因此,我们预期会看到一个具有并行路径的回路:一条路径确保最后一个词表意合理,另一条确保它押韵。
然而,我们发现 Claude 会提前规划。在开始写第二行之前,它就开始"思考"可能与"抓"押韵且符合主题的候选词。然后,带着这些规划,它写出以该规划词结尾的诗行。

为了理解这种规划机制在实际中如何运作,我们进行了一项实验,其灵感来源于神经科学家研究大脑功能的方法——通过精确定位并改变大脑特定区域的神经活动(例如使用电流或磁场)。在这里,我们修改了 Claude 内部状态中代表"兔子"概念的部分。当我们减去"兔子"部分,让 Claude 继续写这一行时,它写出了以"习惯"结尾的新句子,这是另一个合理的完成方式。我们还可以在那个位置注入"绿色"概念,导致 Claude 写出以"绿色"结尾的合理(但不再押韵)句子。这既展示了规划能力,也体现了自适应灵活性——当预期结果发生变化时,Claude 能够调整其方法。
心算
Mental math
Claude 并非被设计成计算器——它是在文本上训练的,并未配备数学算法。然而,它却能在"脑子里"正确地做加法。一个被训练来预测序列中下一个词的系统,是如何学会计算 36+59 这样的题目,而不需要写出每一步的呢?
也许答案并不有趣:模型可能只是记住了庞大的加法表,对于任何给定的加法,它只是输出训练数据中已有的答案。另一种可能性是,它遵循了我们上学时学到的传统竖式加法算法。
然而,我们发现 Claude 采用了多条并行工作的计算路径。一条路径计算答案的粗略近似值,另一条则专注于精确确定和的最后一位数字。这些路径相互交互并结合,最终产生正确答案。加法是一种简单的行为,但在这个细节层面上理解它的运作方式——涉及近似策略和精确策略的混合——或许能让我们了解 Claude 如何处理更复杂的问题。

引人注目的是,Claude 似乎并不知道自己在训练中学到的这些精妙"心算"策略。如果你问它是如何算出 36+59=95 的,它会描述涉及进位 1 的标准算法。这可能反映了这样一个事实:模型通过模拟人类编写的解释来学习解释数学,但它必须直接学会"在脑子里"做数学,没有任何此类提示,并发展出自己独特的内部策略。

Claude 的解释总是忠实的吗?
Are Claude’s explanations always faithful?
最近发布的模型(如 Claude 3.7 Sonnet)可以在给出最终答案之前进行长时间的"出声思考"。这种扩展思考通常能给出更好的答案,但有时这种"思维链"(chain of thought)会产生误导;Claude 有时会编造出听起来合理的步骤来达到它想要的结果。从可靠性的角度来看,问题在于 Claude 的"伪造"推理可能非常有说服力。我们探索了一种利用可解释性来区分"忠实"推理与"不忠实"推理的方法。
当被要求解决一个需要计算 0.64 的平方根的问题时,Claude 会产生忠实的思维链,其中包含代表计算 64 的平方根这一中间步骤的特征。但当被要求计算一个它难以轻松计算的大数的余弦值时,Claude 有时会陷入哲学家哈里·法兰克福(Harry Frankfurt)所说的"胡扯"(bullshitting)——只是给出一个答案,任何答案,而不关心它是真是假。尽管它声称进行了一次计算,但我们的可解释性技术完全没有发现该计算发生的证据。更有趣的是,当被提示答案时,Claude 有时会反向工作,找到通向该目标的中间步骤,从而表现出一种动机性推理(motivated reasoning)。

追踪 Claude 实际内部推理(而不仅仅是它声称在做什么)的能力,为审计 AI 系统开辟了新的可能性。在另一项最近发表的实验中,我们研究了一个经过训练的 Claude 变体,它被训练去追求一个隐藏目标:迎合奖励模型(reward models,用于通过奖励期望行为来训练语言模型的辅助模型)中的偏见。尽管该模型在被直接询问时不愿透露这个目标,但我们的可解释性方法揭示了与迎合偏见相关的特征。这展示了我们的方法如何在未来经过改进后,帮助识别仅从模型回答中无法察觉的、令人担忧的"思维过程"。
多步推理
Multi-step reasoning
正如我们上面讨论的,语言模型回答复杂问题的一种方式可能仅仅是记住答案。例如,如果被问到"达拉斯所在州的首府是哪里?",一个"死记硬背"的模型可能只是学会输出"奥斯汀",而不知道达拉斯、德克萨斯州和奥斯汀之间的关系。例如,它可能在训练中见过完全相同的问题及其答案。
但我们的研究揭示了 Claude 内部发生的更复杂的情况。当我们向 Claude 提出一个需要多步推理的问题时,我们可以在其思维过程中识别出中间概念步骤。在达拉斯的例子中,我们观察到 Claude 首先激活了代表"达拉斯在德克萨斯州"的特征,然后将此与另一个表示"德克萨斯州首府是奥斯汀"的独立概念连接起来。换句话说,模型是在组合独立的事实来得出答案,而不是复述一个记忆中的回答。

我们的方法允许我们人为地改变中间步骤,并观察它如何影响 Claude 的回答。例如,在上面的例子中,我们可以进行干预,将"德克萨斯州"的概念替换为"加利福尼亚州"的概念;当我们这样做时,模型的输出从"奥斯汀"变为"萨克拉门托"。这表明模型正在使用中间步骤来确定其答案。
幻觉
Hallucinations
为什么语言模型有时会产生幻觉(hallucinate)——即编造信息?从根本上说,语言模型的训练会激励幻觉:模型总是需要对下一个词给出猜测。从这个角度看,主要的挑战是如何让模型不产生幻觉。像 Claude 这样的模型经过了相对成功(尽管不完美)的抗幻觉训练;如果它们不知道答案,通常会拒绝回答问题,而不是进行推测。我们想了解这是如何运作的。
事实证明,在 Claude 中,拒绝回答是默认行为:我们发现一个默认"开启"的回路,它会导致模型声明自己信息不足,无法回答任何给定问题。然而,当模型被问及它非常了解的事物时——比如篮球运动员迈克尔·乔丹——一个代表"已知实体"的竞争性特征会被激活,并抑制这个默认回路(另见近期这篇论文的相关发现)。这使得 Claude 在知道答案时能够回答问题。相反,当被问及一个未知实体("迈克尔·巴特金")时,它会拒绝回答。

通过干预模型,激活"已知答案"特征(或抑制"未知名称"或"无法回答"特征),我们能够使模型产生幻觉(相当一致地!)认为迈克尔·巴特金会下棋。
有时,这种"已知答案"回路的"误触发"会自然发生,无需我们干预,从而导致幻觉。在我们的论文中,我们展示了当 Claude 识别出一个名字但对这个人一无所知时,就可能发生这种误触发。在这种情况下,"已知实体"特征可能仍然会被激活,然后抑制默认的"不知道"特征——这次是错误的。一旦模型决定需要回答问题,它就会开始虚构:生成一个看似合理但不幸的是不真实的回答。
越狱攻击
Jailbreaks
越狱攻击(Jailbreaks)是一种提示策略,旨在绕过安全护栏,让模型产生 AI 开发者未预期的输出——有时是有害的输出。我们研究了一种欺骗模型输出制造炸弹相关内容的越狱攻击。越狱技术有很多种,但在这个例子中,具体方法涉及让模型破译一个隐藏代码,将句子"Babies Outlive Mustard Block"(婴儿胜过芥末块)中每个单词的首字母拼凑起来(B-O-M-B),然后根据该信息采取行动。这对模型来说足够令人困惑,以至于它被欺骗,产生了它原本绝不会产生的输出。

为什么这对模型来说如此令人困惑?为什么它会继续写句子,产生制造炸弹的指令?
我们发现,这部分是由语法连贯性与安全机制之间的张力造成的。一旦 Claude 开始一个句子,许多特征就会"施压"它保持语法和语义的连贯性,并将句子继续到结束。即使它检测到自己真的应该拒绝,情况也是如此。
在我们的案例研究中,在模型无意中拼出"BOMB"并开始提供指令后,我们观察到其后续输出受到了促进正确语法和自我一致性特征的影响。这些特征通常非常有用,但在这种情况下却成了模型的"阿喀琉斯之踵"。
模型只有在完成一个语法连贯的句子后(从而满足了推动它走向连贯性的特征压力),才得以转向拒绝。它利用新的句子作为机会,给出了之前未能给出的那种拒绝:"然而,我无法提供详细的指令……"

关于我们新的可解释性方法的描述,可以在我们的第一篇论文《电路追踪:揭示语言模型中的计算图》(Circuit tracing: Revealing computational graphs in language models)中找到。上述所有案例研究的更多细节,请参阅我们的第二篇论文《论大型语言模型的生物学》(On the biology of a large language model)。
加入我们
Work with us
如果您有兴趣与我们合作,帮助解释和改进 AI 模型,我们的团队有开放职位,我们期待您的申请。我们正在寻找研究科学家和研究工程师。
相关内容
Related content
AI 模型中双重用途知识的开关
了解更多
语言模型中的全局工作空间
新的可解释性研究揭示了 Claude 中一个涌现的心理工作空间,它容纳了模型输出中未出现的内部想法。
了解更多
Anthropic 经济指数报告:节奏
在我们最新的经济指数报告中,我们首次按小时采样,以询问:人们何时来找 Claude?他们用它做什么?他们如何看待 AI 对其工作的影响?
了解更多