追踪大型语言模型的思想(上)(来自针对Claude的分析)

发布于:2025-05-08 ⋅ 阅读:(17) ⋅ 点赞:(0)

概述      

       像 Claude 这样的语言模型并非由人类直接编程,而是通过大量数据进行训练。在训练过程中,它们会学习解决问题的策略。这些策略被编码在模型为每个单词执行的数十亿次计算中。对于我们这些模型开发者来说,这些策略是难以捉摸的。这意味着我们无法理解模型是如何完成大部分工作的。

      了解像 Claude 这样的模型是如何思考的,能让我们更好地理解它们的能力,并帮助我们确保它们按照我们的意图运行。例如:

Claude 能说几十种语言。它“在脑子里”用的是什么语言?(如果有的话)?

Claude 每次写一个词。它只专注于预测下一个词,还是会提前计划?

Claude 可以一步一步地写出它的推理过程。这种解释代表了它得出答案的实际步骤,还是它有时会为一个既定的结论编造一个看似合理的论据?

      我们从神经科学领域汲取灵感,该领域长期以来一直致力于研究思维生物体内部的复杂结构。我们试图构建一种人工智能显微镜,让我们能够识别活动模式和信息流。仅仅通过与人工智能模型对话,我们所能了解到的信息是有限的——毕竟,人类(即使是神经科学家)也并非完全了解我们大脑运作的细节。因此,我们致力于深入研究。

      今天,这篇文章,阐述了“显微镜”发展的进展,以及应用它来观察新的“AI生物学”。我们扩展了先前的研究,在模型中定位可解释的概念(“特征”),将这些概念连接成计算“回路”,揭示了将输入 Claude 的单词转化为输出单词的路径部分。我们深入研究了 Claude 3.5 Haiku,我们的方法揭示了 Claude 响应这些提示时发生的部分过程,这足以得出确凿的证据:

      Claude有时会在一个不同语言之间共享的概念空间中思考,这表明它有一种通用的“思维语言”。我们通过将简单的句子翻译成多种语言,并追踪Claude处理这些句子时的重叠之处,来证明这一点。

      Claude会提前规划好要说的内容,并为了达到目标而写作。我们在诗歌领域就展示了这一点,它会提前思考可能的押韵词,并写下一行来达到目标。这有力地证明了,即使模型被训练成一次输出一个单词,它们也可能进行更长远的思考。

       Claude 有时会提出一些看似合理的论点,旨在迎合用户的观点,而非遵循逻辑步骤。我们通过向它求助解决一道难题,同时给出错误的提示来证明这一点。我们能够“当场抓住它”,因为它会编造虚假的推理,这证明了我们的工具可以用于标记模型中相关的机制。

      我们常常对模型中的结果感到惊讶:在诗歌案例研究中,我们原本试图表明模型没有提前计划,结果却发现它确实有。在一项关于幻觉的研究中,我们发现了一个违反直觉的结果:Claude的默认行为是当被问到问题时拒绝推测,而且只有当某种因素抑制了这种默认的犹豫(reluctance)时,它才会回答问题。在对一个越狱示例的响应中,我们发现模型在能够优雅地恢复对话之前就识别出了它被要求提供危险信息。虽然我们研究的问题可以(并且通常已经)用其他方法进行分析,但通用的“构建显微镜”方法可以让我们了解到许多我们最初无法预料的事情,随着模型变得越来越复杂,这一点将变得越来越重要。

       这些发现不仅在科学上意义非凡,更代表着我们在理解人工智能系统并确保其可靠性的目标上取得了重大进展。我们也希望它们能够对其他研究团体乃至其他领域有所裨益:例如,可解释性技术(interpretability techniques)已在医学成像和基因组学等领域得到应用,同时为科学应用而训练的模型,剖析其内部机制也可以揭示新的科学洞见。

      与此同时,我们也意识到当前方法的局限性。即使是简短的提示,我们的方法也只能捕捉到 Claude 执行的计算总量的一小部分,而且我们所观察到的机制可能包含一些基于我们工具的伪影(artifact),这些伪影无法反映底层模型的实际情况。目前,即使只有几十个词的提示,人类也需要花费几个小时才能理解我们看到的“回路”。为了扩展到支持现代模型所使用的复杂思维链的数千个词,我们需要改进方法,并(或许借助人工智能的帮助)改进我们理解所见内容的方式。

      随着人工智能系统能力的快速提升及其在日益重要的场景中的应用,Anthropic 正在投资一系列方法,包括实时监控、模型特征改进和对齐科学。像这样的可解释性研究是风险最高、回报最高的投资之一,是一项重大的科学挑战,但有可能提供独特的工具来确保人工智能的透明性。模型机制的透明度使我们能够检查它是否符合人类价值观,以及它是否值得我们信任。

      下面,我们邀请您简要了解一下我们调查中一些最引人注目的“人工智能生物学”发现。

人工智能生物学之旅

Claude 为何能说多种语言?

       Claude 能流利地说几十种语言——从英语、法语到中文和他加禄语。这种多语言能力是如何运作的?是否有一个独立的“法语Claude ”和“汉语Claude ”并行运行,用各自的语言响应请求?还是内部存在某种跨语言核心?

        

        英语、法语和汉语之间存在共同的特征,表明概念具有一定程度的普遍性

       最近关于较小模型的研究揭示了跨语言共享语法机制的迹象。我们通过在不同语言中向 Claude 询问“小的反义词”来探究这一点,发现“小”和“反义词”概念的核心特征会激活并引发“大”的概念,而“大”的概念最终会被翻译成问题对应的语言。我们发现,共享的回路(shared circuitry )会随着模型规模的扩大而增大,Claude 3.5 Haiku 在不同语言之间共享的特征比例是较小模型的两倍多。

        这为某种概念普遍性提供了额外的证据——一个共享的抽象空间,他的存在性和思考在翻译成特定语言之前进行。更实际地讲,这表明Claude可以用一种语言学习一些东西,并在另一种语言中运用这些知识。研究该模型如何在不同语境下共享其知识,对于理解其最先进的推理能力至关重要,因为这些能力可以推广到许多领域。

Claude是否计划了它的韵律?

        Claude是如何写押韵诗的?想想这首小调:

He saw a carrot and had to grab it,

他看到一根胡萝卜,不得不抓住它,
His hunger was like a starving rabbit

他的饥饿感就像一只饥饿的兔子

       为了写出第二行,模型必须同时满足两个约束:押韵(例如“grab it”)和合理(为什么他要抓胡萝卜?)我们猜测,Claude是逐字逐句地写,没有经过深思熟虑,直到写到结尾,模型才会选择一个押韵的词。因此,我们预期会看到一个具有并行路径的回路,一条路径用于确保最后一个词合理,另一条路径用于确保它押韵。

       相反,我们发现Claude会提前计划。在开始写第二行之前,它开始“思考”那些可能与“grab it”押韵的词。然后,它会根据这些计划,写下一行以计划中的词结尾的文字。

 Claude如何完成一首两行诗。在没有任何干预的情况下(上半部分),模型会提前规划第二行结尾的韵母“兔子”。当我们抑制“兔子”的概念(中半部分)时,模型会改用另一个已规划的韵母。当我们注入“绿色 的概念(下半部分)时,模型会为这个完全不同的结尾做出规划

       为了理解这种规划机制在实践中是如何运作的,我们进行了一项实验,其灵感源自神经科学家研究大脑功能的方式,即通过精确定位和改变大脑特定部位的神经活动(例如使用电流或磁流)。我们修改了Claude内部状态中代表“兔子”概念的部分。当我们减去“兔子”部分,并让Claude继续写下去时,它会写出一个以“习惯(habit)”结尾的新句子,这又是一个合理的完成。我们还可以在此位置注入“green”的概念,使Claude写出一个合理的(但不再押韵)的以“green”结尾的句子。这既展现了规划能力,也体现了自适应灵活性——当预期结果发生变化时,Claude可以调整其方法。

计算(“心算”,不借助计算器的计算)

      Claude 的设计初衷并非计算器——它接受的是文本训练,并未配备数学算法。然而,它却能“在心智中”正确地进行数字加法运算。一个被训练预测序列中下一个单词的系统,是如何学会计算 36 + 59 这样的数字,而无需写出每个步骤的呢?

      答案或许并不有趣:模型可能记住了大量的加法表,并简单地输出任何给定和的答案,因为这个答案就在它的训练数据中。另一种可能性是,它遵循我们在学校学到的传统手写加法算法。

       相反,我们发现Claude采用了多条并行的计算路径。一条路径计算答案的粗略近似值,另一条路径则专注于精确确定和的最后一位数字。这些路径相互作用并相互结合,最终得出最终答案。加法是一种简单的行为,但理解它在这种细节层面上的运作方式,结合近似和精确的策略,或许也能让我们了解Claude如何处理更复杂的问题。

Claude在心算时思维过程的复杂性、多路径并行 

        令人惊讶的是,Claude似乎并没有意识到它在训练过程中学到的复杂巧妙的“心算”策略。如果你问它是如何计算出36 + 59等于95的,它描述的是涉及进位1的标准算法。这可能反映了这样一个事实:该模型通过模拟人类写下的解释来学习解释数学,但它必须直接在“脑子里”学习数学运算,而不需要任何此类提示,并发展出自己的一套方法来做到这一点。 

Claude说它使用标准算法来将两个数字相加 

Claude的解释总是忠实的吗? 

       最近发布的模型,例如 Claude 3.7 Sonnet,可以在给出最终答案之前长时间“自发思考”。这种延伸思考通常能给出更准确的答案,但有时这种“思路链”最终会产生误导;Claude 有时会编造一些看似合理的步骤来达到它想要的效果。从可靠性的角度来看,问题在于 Claude 的“伪”推理可能非常令人信服。我们探索了一种可解释性方法,可以帮助区分“可靠”推理和“不可靠”推理。

        当被要求解决一个需要计算 0.64 平方根的问题时,Claude 会产生一个忠实的思路链,其特征代表计算 64 平方根的中间步骤。但是,当被要求计算一个它无法轻易计算的大数的余弦值时,Claude 有时会进行哲学家哈里·法兰克福(Harry Frankfurt)所说的胡说八道——只想给出一个答案,任何答案,而不关心它是真还是假。即使它声称已经进行了计算,我们的可解释性技术也没有揭示任何发生过该计算的证据。更有趣的是,当给出关于答案的提示时,Claude 有时会逆向思考,找到可以达到目标的中间步骤,从而表现出一种积极主动的推理方式。

        当Claude被问到一个更简单或更困难的问题时,忠实和有动机(不忠实)推理的例子 

       追踪 Claude 实际的内部推理过程(而不仅仅是它声称正在做的事情)的能力,为审计人工智能系统开辟了新的可能性。在最近发表的另一项实验中,我们研究了 Claude 的一个变体,该变体被训练去追求一个隐藏的目标:缓解奖励模型中的偏见(appeasing biases in reward models,用于训练语言模型的辅助模型,通过奖励其良好行为来提升其表现)。尽管模型在被直接询问时不愿透露这一目标,但我们的可解释性方法揭示了缓解偏见的特征。这表明,随着我们方法的进一步改进,或许能够帮助识别那些仅凭模型响应无法察觉的令人担忧的“思维过程”。


网站公告

今日签到

点亮在社区的每一天
去签到