迈向人工智能的认识论:窥探黑匣子的新方法
鉴于上述困难,研究人员正在多个方面进行创新,以更好地理解和控制大型语言模型(LLM)的推理方式。总体而言,两种互补的策略正在形成:
机械分析和归因:分解模型的内部计算(电路、神经元、注意力头),将特定的决策或步骤归因于特定的组件。
行为评估和约束:设计评估指标和训练框架,区分真正的推理和表面模式,并鼓励模型在中间步骤中讲真话。
一个有进展的想法是将 电路级可解释性与思路链验证相结合 。例如,人们可以使用 因果追踪 方法来查看模型的哪些部分与思路链的每个步骤相对应地被激活,从而检查所声称的推理步骤是否在产生答案的过程中发挥了因果作用。如果一个模型说:“因此,由于原因 X,选项 C 是正确的”,我们可以验证与原因 X 相关的神经元确实对选项 C 的对数有影响。Anthropic 的工作已经展示了追踪个体特征的可行性:他们设法识别出能够检测 Claude 是否遵循用户提示的神经元。通过观察模型内部的信息流,他们有效地 标记出一种“令人担忧的机制” ——模型在生成虚假推理路径时倾向于使用提示。进一步扩展,我们可以想象一个自动化系统,它实时监控 LLM 的内部激活状态,以便及时发现其是否存在不良行为或鲁棒性不足的情况。事实上,Anthropic 提到,他们投资了模型内部状态的 “实时监控”, 并将其作为安全流程的一部分。
另一项创新是开发 更好的推理保真度指标 。涌现阶段的讨论强调了如何选择正确的指标来揭示持续的进展,而不是突如其来的神奇跳跃。同样,对于思路链,研究人员正在提出直接评估 忠实度的 指标。例如,我们不再仅仅问“模型是否得到了正确答案?”,而是问“如果我们干预或删除解释中的某个特定步骤,答案会改变吗? ” 。Anthropic 的团队以一种受控的方式做到了这一点:他们尝试在思路链中提供 误导性的步骤 ,看看忠实的模型是否会标记不一致性或更改其答案。另一种方法是 一致性检查 :让模型针对同一个问题生成多个不同的思路链(通过提示变异性),然后验证所有思路链是否都指向同一个答案(自洽性)。如果不是,那么模型可能是在猜测,或者推理并没有确定性地引导答案——这表明思路链可能空洞无物,缺乏实质内容。
人们对使用辅助模型进行自动化 CoT 评估 的兴趣也日益浓厚。可以训练一个辅助模型(或使用现有模型)来充当 推理验证器 。例如,给定一个思路链和一个答案,验证器模型会判断答案是否真正遵循推理。这类似于证明检查。如果 大型语言模型(LLM) 正在进行真正的推理,独立的检查人员应该能够判断出来。AI 新闻中提到的一个相关概念是 思考-求解-验证 (TSV) 框架 。在 TSV 中,模型会经历 思考 步骤(生成 CoT)、 求解 步骤(获得答案),然后是 验证 步骤,在此步骤中,模型本身或其他系统会验证每个步骤的有效性和总体结论。这强制执行了一种纪律:思路链不仅必须产生正确的答案,还必须经得起逐步的审查。如果模型知道其推理将被验证,它就有动力使其严密无懈可击(否则它将被抓住)。早期对 TSV 的研究已用于探索模型自我意识和可信度,并且它在捕捉解释中的矛盾或幻觉方面似乎很有前景。
在可解释性方面,一个有意义的发展是使用 人工智能来帮助解释人工智能 。像 GPT-4 这样的网络规模庞大(每层有数万个神经元)可能超出人工分析的范围,但研究人员正在研究是否可以使用更简单或更小的模型作为探针。例如,可以训练一个小型的“解释模型”来预测某个大型模型神经元的激活意味着什么(可能通过给它输入大量输入并观察相关性)。Anthropic 暗示可能使用人工智能辅助来理解复杂的电路。我们可能会看到未来的项目,在适当的工具和数据下,GPT-4 本身被要求解释 GPT-2 中的神经元在做什么,反之亦然。已经有先例:模型已被用来生成可解释性的假设,然后由人类研究人员证实或反驳。
跨架构或跨模态的可解释性也在讨论之中。如果我们在语言模型中找到了用于某些推理任务的回路,那么视觉或多模态模型中是否有用于类似任务的类似回路?Schaeffer 等人证明,通过应用类似语言模型的指标,可以在视觉模型中产生类似的“涌现”效应——但反之亦然:或许视觉分类网络表示不确定性的方式可以借鉴 LLM 的表现方式。通过比较和对比,我们可以开发出不局限于某一架构的 通用可解释性原则 。例如,叠加的概念(神经元以纠缠的方式编码多个特征)在视觉和语言模型中都有出现。了解如何在一个模型中解开叠加,可能有助于在另一个模型中解开叠加。
另一个有希望的方法论进步是 基于回路的干预 。一旦你确定了导致不良行为的回路(比如一组注意力头会复制提示而不透露),你可以尝试 消融或修改 它们,看看行为是否改变。这类似于神经科学病变研究。如果禁用某个注意力头可以阻止模型遵循被禁止的指令,那么你就找到了该行为的控制点。然后,你可以考虑微调模型以移除或改变该回路。这就进入了“细粒度模型编辑”的领域——通过手术调整内部参数来改变一种行为,同时保持其他行为不变。为了安全部署,人们可以使用它来 从模型知识中删除记住的密钥,或者打破内部学习到的错误启发式方法 , 比如总是相信用户的猜测 。
忠实度评分作为常规评估很可能成为标准。正如我们报告模型在任务上的准确率一样,未来的基准测试可能会报告 忠实度指标 :例如,“模型 X 解决了 90% 的问题,其中 70% 的解决方案具有忠实的理论基础(以指标 Y 衡量)。”陈等人的提示披露率就是这样一个指标。其他指标也正在被提出,例如 与已知必要事实的一致性 :如果一个数学解法使用了某个公式,那么思路链中是否提到了该公式?如果没有,那就说明出了问题。
展望未来,研究人员正在考虑 架构变革 以提高可解释性。一个想法是构建具有 内在解耦表示的 模型,以便每个维度或模块都有明确的含义 。 这很难,尽管模块化或符 号神经网络已经取得了一些进展 。另一个想法是让模型生成 可验证的计划 ——类似于可以用形式化系统或更简单算法进行检验的证明。例如, 大型语言模型 (LLM)可以输出一个 Python 程序作为其推理,然后可以执行该程序来确认结果 , 这在某些算术或逻辑任务中已经实现 。如果程序失败或给出不同的答案,我们就发现了推理错误。
最后,一个关键的方法论转变是 在对抗性情境中进行评估 。研究人员不再仅仅在简单的查询上测试模型,而是刻意地用旨在诱使模型揭示隐藏过程的情境对模型进行压力测试。这包括对抗性生成的提示,这些提示会引发模型错误或不一致,然后分析这些情况下的思路链。通过研究失败之处(例如模型在两种不同的解释之间自相矛盾),我们可以了解推理过程在哪里出现问题,或者在哪里仅仅是浮于表面的。
总而言之,理解 LLM 的前沿领域涉及从机制 上探究内部和从行为上探索外部 之间的紧密相互作用。单靠任何一种都不足够:如果不知道要寻找什么,那么机械分析就像大海捞针;如果只进行行为测试而不深入探究内部,我们只能猜测原因。通过将两者结合起来,例如将神经元的激活与已知行为关联起来,我们可以获得更全面的图景。例如,如果我们注意到某个模型的解释经常遗漏提示,并且我们识别出特定的注意力头,这些注意力头在提示标记出现但输出中未提及时就会出现峰值,那么我们就可以创建一个“提示使用检测器”组件。我们甚至可以使用辅助损失来训练模型,使这些注意力头的影响在输出中明确体现(从而提高忠实度)。
这是一个激动人心的时代,因为这些方法正变得越来越复杂。仅在过去一两年里,可解释性研究就取得了显著发展,跨组织(OpenAI、Anthropic、DeepMind、学术团体)之间的合作正在形成,以解决这个问题。正如一项调查所示,虽然前景光明,但 “人们担心机器智能研究结果的可扩展性和普遍性,以及它在解决人工智能安全等关键问题方面的实际应用。” 的确,这是一个艰难的攀登之路,但 有些 社区正在积极构建工具——从可视化每个头部关注的内容,到创建机器智能任务的教程和库。我们的目标是,当更强大的人工智能系统到来时, 我们不会像今天这样对它们的工作原理一无所知。
本文来自微信公众号“数据驱动智能”(ID:Data_0101),作者:晓晓,36氪经授权发布。