论文阅读笔记:Claude如何思考

0 阅读8分钟

诸神缄默不语-个人技术博文与视频目录
诸神缄默不语的论文阅读笔记和分类

1. 论文简介

本笔记涉及对如下2篇Anthropic公司对其旗下大模型Claude可解释性探索的论文:

  1. Tracing the thoughts of a large language model \ Anthropic
    (2025) On the Biology of a Large Language Model
  2. (2025) Circuit Tracing: Revealing Computational Graphs in Language Models

重要结论:

  1. Claude自己输出的推理过程不一定是真实的推理过程,可能是它根据结果瞎编的
  2. Claude的思考过程是基于一种超语言的概念空间,是完全跨语言的,不是用英语思考的
  3. Claude的幻觉可能是因为对概念理解不全面(就跟人类一样只知道一点,剩下的就开始瞎编)
  4. Claude的语法连贯性机制可能会抑制其安全机制,这也导致了一些jailbreaking(越狱)手段的出现

2. Claude模型

Claude是由Anthropic公司开发的大型语言模型 (LLM)。该模型系列包括Claude 3、Claude 3.5等多个版本,具有不同的性能等级 (Opus、Sonnet、Haiku)。
是当前全球公认的最强大模型之一。

主要特性:

  • 长上下文窗口:支持100K至200K tokens的上下文长度
  • 多模态能力:支持文本和图像输入处理
  • 安全对齐:采用Constitutional AI方法(由人工智能初创公司Anthropic创建的一套AI伦理与安全原则)确保输出安全性和可靠性
  • 编程能力:在代码生成、分析和调试方面表现出色

应用场景:

  • 代码生成与编程辅助
  • 文本分析与总结
  • 创意写作与内容创建
  • 复杂推理与问题解决

3. Claude如何思考?

AI是通过数据训练出来的,它们的思维模式是无法被预先定义的。研究者都是通过一系列microscope(显微镜)工具来追踪AI模型回答问题时的“思考路径”。
了解AI如何思考,能够提高AI的可解释性,尤其对于医疗、法律和关于道德问题时,了解AI真正的思考方式是很有必要的。(虽然并不一定真的能用得着)

通过思维链(CoT)的方式,即让模型自己输出自己的推理过程,这种方式输出的内容并非模型内部真正的“思考方式”,只是输出的一部分。

模型参数中的一个神经元模块并不代表单一概念,可能会同时激活多个概念,这被称为多义性(polysemanticity)。而Anthropic会将一个神经元分解为更小的单元特征(feature),每个特征对应一个可识别的概念,例如大小、已知实体或押韵词。
为了找到这些特征,研究团队构建了一个替代模型,它本质上是 Claude 模型的简化版本,通过替换神经元来表示特征,同时产生相同的输出。他们研究的是这个替代模型,而不是直接研究 Claude 模型。
替代模型
得到特征之后,研究人员绘制这些特征从输入到输出的相互联系,从而生成归因图。你可以把这些归因图想象成特定计算过程的线路图。
通过归因图,研究人员可以对特征之间的影响关系进行干预:你可以深入模型内部,抑制或注入特定的特征,然后观察输出的变化。例如,如果你抑制了“兔子”这个概念,而模型输出了另一个词,这便有力地证明了“兔子”这个特征确实发挥了你预期的作用。
替代模型和归因图
这项技术直接借鉴于神经科学,在神经科学中,研究人员会刺激特定的脑区来测试其功能。

1. 数学计算和推理

计算 36 加 59 时,模型内部同时运行两条策略:一种策略估算粗略答案(88 到 97 的范围内),另一种策略精确计算最后一位数字(5),综合得到最终结果95。

36+59

而不是思维链输出的进位计算:
Claude思维链显示竖式进位计算
(这不是Claude官网,这是poe,因为我Claude号被ban了,没招了)

Claude自己的解释与实际神经元激活状态不同,是因为Claude学习解释数学和进行数学运算的过程完全不同。Claude的解释来自训练期间吸收的人类编写的文本,这些文本描述了标准算法。然而,Claude实际的计算策略却源于训练过程本身。没有人教它使用并行近似路径。这些路径是它自行开发的,而这些内部策略对于Claude生成自然语言解释的部分来说是无法访问的。
这个实验意味着Claude自己输出的思维过程与实际运算过程不一定相符,并非因为它在撒谎,而是因为它实际上无法访问自身的内部算法。当我们要求模型展示其运算过程时,我们得到的可能只是一个看似合理的重构,而非真实的记录。

让大模型进行显式推理是一种经典的提示工程策略,往往能提升模型的推理效果。但是实验证明,Claude输出的推理过程和实际上内部的推理过程不一定是一致的。
实验是告诉Claude结论,让Claude输出推理,看Claude输出的推理过程和实际上内部的推理过程是不是一致的:
一致的实验:计算0.64的平方根
不一致的实验:计算cos(23423)(看图可以发现输出看起来在推理些什么,但内部其实已经完全已读乱回了。换句话说,Claude事后编造了一个答案,并构建了一个看似合理的推导过程,而实际上他并没有进行任何计算)
推理过程

2. 语言

Claude是跨语言模型,因此我们很容易会好奇,Claude内部是以哪种语言思考呢?

这里可以分享一下我写的另一篇论文阅读笔记:Re67:读论文 Don‘t Trust ChatGPT when Your Question is not in English: A Study of Multilingual Abilities-CSDN博客
2023年EMNLP的论文,讲的是(当时的)ChatGPT的效果在输入为不同语言下时效果不同,本质上ChatGPT是用英语思考的,其它语言都是通过英语翻译出来的,也就是所谓的subordinate类型双语者。
对于推理和知识获取任务,LLM能够跨语言给出正确的回答;但对涉及翻译的任务(需要语言知识的任务,Articulation)就不行。

而Anthropic的研究中发现,Claude并非以某种语言在思考:当研究人员用英语或法语询问克劳德“小的反义词”时,他们发现无论提示语使用何种语言,“小”和“反义词”的核心特征都被激活了。这些共同的特征触发了“大”的概念,然后这个概念被翻译成提问所用的语言。
小的反义词
这意味着 Claude 的思考在一个抽象的概念空间中进行,在这个空间里,意义先于语言而存在。如果它学习了英语中的某些内容,它就有可能在说法语时应用这些知识,这并非因为它进行了翻译,而是因为在更深层次上,这两种语言都连接到相同的内部表征。

3. 写诗

He saw a carrot and had to grab it,
His hunger was like a starving rabbit

Claude写第二行前会先构思韵脚(rabbit),然后再考虑前面的文字(His hunger was like a starving rabbit)

干预实验证实了这一点。当研究人员抑制克劳德内在状态中的“兔子”特征时,模型将句子改写为以“习惯”结尾。当他们注入“绿色”的概念时,模型则写出了一句完全不同的、不押韵的句子,同样以“绿色”结尾。这既展现了模型的计划能力,也体现了其灵活性:
韵脚

4. 幻觉

之前的研究有一种观点认为大模型会产生幻觉是因为用户强制要求其产生回答,即使大模型不知道,也必须回答。因此,需要想办法让大模型在不知道时,就不回答。
但Anthropic的研究发现,大模型其实是默认不知道 - 不回答这条思考回路的,但有时对于一个大模型并不完全知道、但也不是完全“不知道”(比如可能在训练时见过,但不知道具体解释),就会导致进入“知道”回路,抑制“不回答”机制,也就是必须回答。但实际上,Claude并没有真实知识可供参考,它这时候就会开始瞎编。

如实验中的“Michael Batkin”一词: Michael Batkin

5. 强制遵从语法

Claude可能会为了语法连贯性(如押韵)抑制安全机制,如一种jailbreaking策略藏头诗: 藏头诗jailbreaking

参考资料

  1. How Anthropic’s Claude Thinks - ByteByteGo Newsletter:本文主要的参考资料
  2. 宪法式人工智能_百度百科

image.png