【论文阅读】Knowledge Circuits in Pretrained Transformers
Knowledge Circuits in Pretrained Transformers
-
原文摘要
-
研究背景与问题提出:
- 现代大型语言模型的核心能力源于其参数中编码的庞大知识库。
- 然而,这些模型内部如何具体存储知识,其工作机制一直是未完全解明的“黑箱”,是研究热点。
- 现有研究大多局限于分析模型的独立组件(如多层感知机或单一的注意力头),缺乏系统性的、全局的视角。
-
本文的核心研究内容与创新点:
- 研究视角创新:本文不局限于孤立组件,而是着眼于更宏观的计算图,旨在揭示其中负责表达特定知识的完整功能单元——即“知识回路”。
- 研究对象:选择GPT-2和TinyLLAMA作为实验模型。
- 研究发现:通过实验,成功观测到模型内部不同类型的组件(如负责识别信息的“信息头”、处理实体间关系的“关系头”以及“多层感知机”)如何协同合作,共同编码一个知识。
-
研究的应用与深入分析:
- 知识编辑评估: 利用所发现的知识回路,本文评估了当前流行的知识编辑技术。
- 这为理解这些编辑方法实际如何影响内部电路、以及它们的局限性,提供了更深刻的见解。
- 模型行为解释: 本文进一步将知识回路作为分析工具,用于解释语言模型的两种关键行为:
- 幻觉: 分析模型产生虚假或荒谬内容的内在原因。
- 上下文学习: 解释模型如何仅通过提供的示例(上下文)就能学习并执行新任务。
- 知识编辑评估: 利用所发现的知识回路,本文评估了当前流行的知识编辑技术。
-
研究意义与展望:
- 理论意义: 能推动对Transformer架构工作机理的根本性理解。
- 实践意义: 能为未来知识编辑技术的改进与设计提供理论指导和方向。
-
1. Introduction
-
问题提出
-
背景:LLM在推理、感知世界和进行类人交流方面的强大能力,都源于其内部封装的知识。
-
缺陷:LLM仍然在与幻觉、不安全的规范和冒犯性行为等问题作斗争。
- 这些问题的解决之所以困难,是因为语言模型内部知识存储的机制仍然是一个谜
-
-
现有研究及其局限性
-
过往工作主要发现:知识主要存储在基于Transformer的语言模型中的多层感知器 中。
-
这些MLP被认为像一个键值对形式的神经记忆系统,而具体的知识则存储在被称为知识神经元的单元中。
-
基于上述发现,研究人员开发了知识编辑技术,旨在不重新训练整个模型的情况下,直接修改其参数空间中的不准确事实、偏见或不安全内容。
-
-
知识神经元理论的方法的局限性:
-
泛化能力差:编辑一处知识后,模型可能无法在相关但不同的语境中应用新知识。
-
严重的副作用:修改一处知识可能会意外破坏模型中其他相关的知识。
-
未能有效利用编辑后的知识:模型有时无法在需要时成功调用被编辑过的新知识。
-
-
以往方法
- 以往的工作遵循一种修复理论,将存储知识的模块(如MLP)视为孤立的组件。
- 但有其他研究表明,不同类型的知识常常位于模型中相同的区域,这暗示了将知识定位到少数几个“知识神经元”的看法可能是一种过度简化。
-
-
知识电路——Knowledge Circuits
-
目的:探索Transformer模型中不同组件之间的协作,包括注意力头、多层感知器和词嵌入,以理解模型是如何存储和表达知识的。
-
知识电路。
-
定义:知识电路是语言模型计算图中的一个关键子图,它代表了为表达某一特定知识而协同工作的一系列组件和路径。
-
与现有电路研究的区别:电路作为计算图中的子图,在机制可解释性领域已受到越来越多的关注。
- 但之前的电路研究(如间接宾语识别任务)主要关注模型如何从上下文中搜索并复制信息。
- 而本文的知识电路”与此不同,它关注的是模型如何利用其内部存储的知识来进行预测。
-
-
研究目标&方法:
- 通过构建知识电路,来更好地揭示隐式的神经知识表示,阐明知识编辑的内部机制,并解释更复杂的模型行为。
- 实验将在GPT-2和TinyLLAMA上进行,涵盖事实、社会偏见、语言学和常识等多个知识领域。
-
-
主要结论:
-
发现一:知识电路揭示了隐式的神经知识表示。
-
即使将发现的知识电路独立出来使用,语言模型也能凭借它回忆起相关知识,证明了这些电路是有效的知识表示。
-
通过分析电路内部的信息流,发现模型倾向于在较早到中间的层汇聚知识,并在靠后的层中进一步增强这些信息。
-
研究还发现了几种特殊的组件,例如负责将信息传递到最终预测位置的移动头和负责从上下文中捕获关系信息的关系头。
-
-
发现二:知识电路阐明了知识编辑的内部机制。
-
通过实验评估了现有知识编辑方法对原始知识电路的影响。
-
研究发现,像ROME这样的方法,倾向于主要在被编辑的那个层级融入新信息,然后由移动头将这些新信息传递给最后一个词元的残差流。
-
相比之下,微调的方式则是将编辑后的信息直接整合到模型中,从而对后续的预测产生主导性影响。
-
-
发现三:知识电路有助于解释语言模型的行为。
-
幻觉:当模型产生幻觉时,通常是因为在较早的层中,知识电路未能正确地将知识传递到最终的词元位置。
- 这可能是因为电路中缺少一个有效的移动头,或者移动头选择了错误的信息进行传递。
-
上下文学习:研究观察到,当模型进行上下文学习时,知识电路中会出现一些新的注意力头,这表明模型正在动态地构建新的信息处理路径来利用上下文信息。
-
-
2. Background: Circuit Theory
2.1 Preliminaries
2.1.1 回路的广义定义
-
在神经网络可解释性研究中,一个回路可以被概念化为一个人类可解释的子图,该子图专门负责执行神经网络中的特定任务。
-
将一个神经网络模型视为一个连通的有向无环图,记为GGG。
-
节点:代表前向传播过程中的各个组件,例如神经元、注意力头、嵌入向量等。
-
边:代表这些组件之间的相互作用,例如残差连接、注意力机制、投影变换等。
-
-
一个回路 CCC 是 GGG 的一个重要子图(C⊆GC⊆GC⊆G),负责模型特定的行为或功能。
2.1.2 Transformer架构中的回路
-
研究焦点:本文聚焦于Transformer的解码器架构。
-
核心组件:残差流
- 近期的研究证明,Transformer的残差流是进行机械可解释性分析的宝贵工具。模型的计算流程如下:
-
起点:词元嵌入。
-
中间:一系列残差块。
-
每个残差块包含一个注意力层和一个MLP层。
-
它们都从残差流中读取输入,并通过加性投影将输出写入残差流。
-
-
终点:词元解嵌入。
-
- 近期的研究证明,Transformer的残差流是进行机械可解释性分析的宝贵工具。模型的计算流程如下:
-
节点的功能视角:
- 一个注意力头 Al,jA_{l,j}Al,j(第 lll 层第 jjj 个头)处理的是前一层的残差流 Rl−1R_{l−1}Rl−1。由于 R0=I(I是输入嵌入),因此 Al,j实际上处理的是之前所有层的注意力头、MLP以及输入嵌入的累积输出。MLP节点 Ml和输出节点 O同理。
2.1.3 残差流的数学表示
Rl=Rl−1+∑jAl,j+Ml,R0=I R_l=R_{l−1}+\sum_{j}A_{l,j}+M_l,R_0=I Rl=Rl−1+j∑Al,j+Ml,R0=I
-
该公式表示第 lll 层的残差流 RlR_lRl 等于前一层的残差流 Rl−1R_{l−1}Rl−1 加上本层所有注意力头 ∑jAi,j\sum_{j}A_{i,j}∑jAi,j 和本层MLP MlM_lMl的输出。基于此,注意力层和MLP层的输入可以表示为:
InputlA=I+∑l′<l(Ml′+∑j′Al′,j′)InputlM=I+∑l′<l(Mi′+∑l′≤i∑j′Al′,j′) \text{Input}_l^A=I+\sum_{l^{'}<l}\left(M_{l^{'}}+\sum_{j^{'}}A_{l^{'},j^{'}}\right) \\ \text{Input}_l^M=I+\sum_{l^{'}<l}\left(M_{i^{'}}+\sum_{l^{'}\leq i}\sum_{j^{'}}A_{l^{'},j^{'}}\right) InputlA=I+l′<l∑Ml′+j′∑Al′,j′InputlM=I+l′<l∑Mi′+l′≤i∑j′∑Al′,j′- 每一层的输入都是所有之前层组件输出的总和,突出了信息的累积性。
2.1.4 计算图与回路的定义
- 计算图 GGG:代表了Transformer中注意力头和MLP之间的所有交互。
- 节点集 NNN: {I,Al,j,Ml,O}\{I,A_{l,j},M_{l},O\}{I,Al,j,Ml,O}(输入嵌入、所有注意力头、所有MLP、输出节点)。
- 边集 EEE: 节点之间的所有连接关系,E={(nx,ny)∣nx,ny∈N}E=\{(n_x,n_y)∣n_x,n_y∈N\}E={(nx,ny)∣nx,ny∈N}。
- 回路 CCC:是为了控制模型中特定行为而精心构建的子图。
- 它由对任务执行至关重要的一组节点 NCN_CNC 和一组边 ECE_CEC 组成。
- 形式化表示为:C=<NC,EC>C=<N_C,E_C>C=<NC,EC>。
2.2 Circuit Discovery。
-
核心方法:因果中介分析
- 基本思想:通过系统地改变模型计算图中的边或节点,观察模型性能的变化,从而判断它们的重要性。
- 关键原则:如果移除某个边或节点会导致模型预测能力显著下降,那么该边或节点就是关键的。
-
边的消融技术
- 由于边代表了节点间的依赖关系,通过消融一条边可以模拟切断这种依赖。
- 具体操作:
- 例如,要消融从节点 Ai′,j′A_{i′,j′}Ai′,j′ 到 Ai,jA_{i,j}Ai,j 的边,意味着在计算 Ai,jA_{i,j}Ai,j 的输入时,将原本来自 Ai′,j′A_{i′,j′}Ai′,j′ 的贡献值替换掉。常用方法有:
- 零消融:替换为0。
- 均值消融:替换为头 Ai′,j′A_{i′,j′}Ai′,j′ 输出值的平均值。
- 例如,要消融从节点 Ai′,j′A_{i′,j′}Ai′,j′ 到 Ai,jA_{i,j}Ai,j 的边,意味着在计算 Ai,jA_{i,j}Ai,j 的输入时,将原本来自 Ai′,j′A_{i′,j′}Ai′,j′ 的贡献值替换掉。常用方法有:
-
**回路识别流程:**这是一个迭代筛选过程,步骤如下:
- 干预:用损坏后的值覆盖边 (nx,ny)(n_x,n_y)(nx,ny) 的值(进行零消融或均值消融)
- 前向传播:使用被改变后的计算图进行前向传播,得到输出。
- 评估与判断:使用选定的评估指标 SSS(在后面的公式中详细说明)进行比较。
- 如果性能变化低于预设阈值 τττ,则认为该边不关键,可以从图中移除,得到新的子图 G/(nx,ny)\mathcal{G}/(n_x,n_y)G/(nx,ny)。
- 重复此过程,最终保留下来的重要边和节点就构成了任务相关的回路 CCC。
-
补充方法:稀疏自编码器
- 除了基于消融的方法,近期研究也开始探索使用稀疏自编码器来识别回路。
- 思路:训练一个自编码器来学习模型内部结构的稀疏表示,这种表示有助于揭示负责特定行为或功能的底层回路。
3. Knowledge Circuits Discovery in Transformers
3.1 Knowledge Circuits Construction
-
研究创新:
- 与之前研究的区别:不同于以往工作专注于定位存储知识的特定区域(如特定的MLP神经元),本文特别关注激活后续知识以回答问题的信息流。
- 理论基础:将语言模型视为一个由输入、输出、注意力头和MLP组成的计算图。这是通过考虑模型计算结构的“残差重写”来实现的。
- 举例:在GPT-2-medium模型中,这种残差重写产生了一个近乎稠密的图,即除了同一层内的注意力头不直接通信外,几乎每对节点(注意力头、MLP、输入、输出)之间都存在连接。
-
任务定义与问题格式化
- 研究任务:本文聚焦于回答事实性开放域问题。
- 知识形式化:将一个知识定义为三元组 k=(s,r,o)k=(s,r,o)k=(s,r,o),其中 sss 是主语,rrr 是关系,ooo 是目标实体。
- 输入格式:将三元组以自然语言提示的形式输入模型,进行下一个词元预测。
- 例如“The official language of France is_ ”。
- 模型 G的目标是生成目标实体 ooo(
french
)。
-
回路识别方法(基于因果消融):
-
核心目标:识别出对给定主谓对 (s,r)(s,r)(s,r) 预测目标实体 ooo 至关重要的回路。
-
具体步骤:
-
干预:对计算图 G中的每一条特定的边 ei=(nx,ny)e_i=(n_x,n_y)ei=(nx,ny)进行消融(本文实现中采用零消融)。
-
评估:使用 MatchNLL损失 作为评估指标,衡量消融该边对模型预测目标实体 ooo 的性能影响。
S(ei)=log(G(o∣(s,r)))−log(G/ei(o∣(s,r))) S(e_i)=\log(\mathcal{G}(o∣(s,r)))−\log(\mathcal{G}/e_i(o∣(s,r))) S(ei)=log(G(o∣(s,r)))−log(G/ei(o∣(s,r)))- log(G(o∣(s,r)))\log(\mathcal{G}(o∣(s,r)))log(G(o∣(s,r)))是原始模型预测目标实体 ooo 的对数概率。
- log(G/ei(o∣(s,r)))\log(\mathcal{G}/e_i(o∣(s,r)))log(G/ei(o∣(s,r)))是消融边 eie_iei 后模型预测 ooo 的对数概率。
- S(ei)S(e_i)S(ei) 表示了移除该边造成的性能下降程度。S(ei)S(e_i)S(ei) 值越大,说明该边越关键。
-
判断:如果得分 S(ei)S(e_i)S(ei) 低于预设阈值 τττ,则认为该边是非关键的,并将其从计算图中移除,更新临时回路 Ctemp←G/eiC_{temp}←G/e_iCtemp←G/ei。
-
-
算法流程:首先对计算图进行拓扑排序,然后按此顺序遍历所有边,重复上述消融和判断过程。
-
-
回路的最终形成:经过上述筛选过程后,最终得到一个用于表征回答该事实性问题所需知识的回路 CkC_kCk:
Ck=<Nk,Ek> C_k=<N_k,E_k> Ck=<Nk,Ek>- 这里,CkC_kCk 就是知识三元组 kkk 对应的知识回路,由对于预测目标实体 ooo 至关重要的节点集 NkN_kNk 和边集 EkE_kEk 组成。
3.2 Knowledge Circuits Information Analysis
-
在构建出知识回路后,本小节讲解了如何深入分析回路内部各组件的具体功能。
-
分析目标:
- 深入理解回路中每个节点 nin_ini 的具体作用、行为及其对回路功能的贡献。
- 理解每个组件如何向回路中写入信息,以及如何影响后续的计算步骤。
-
分析方法:对每个节点 nin_ini 的输出进行以下处理:
- 步骤一:层归一化
- 首先对节点 nin_ini 的输出应用层归一化。
- 步骤二:投影到嵌入空间。
- 将层归一化后的输出乘以语言模型的解嵌入矩阵 WUW_UWU,即:WULN(ni)W_ULN(n_i)WULN(ni)。
- 分析目的:
- 这个变换 WULN(ni)W_ULN(n_i)WULN(ni) 具有明确的物理意义——它可以将节点在残差流中写入的激活值,解释为模型词汇表上的一个概率分布或语义概念。
- 通过观察这个分布,我们可以判断该节点是强化了目标词(如
法语
)的概率,还是传递了主语(如法国
)的信息,或是表达了关系(如官方语言
)的概念。
- 步骤一:层归一化
-
分析的价值:
- 通过分析节点在嵌入空间中的行为,可以更好地理解回路的整体结构和信息流动的关键路径。
- 能够识别出信息在回路中汇聚和分发的关键节点,从而为理解模型如何组合信息来生成最终答案提供洞察。
- 例如,可以发现某些节点专门负责整合信息,而另一些节点负责将整合后的信息传递给最终的解嵌入层。
-
3.3 Knowledge Circuits Experimental Settings
3.3.1 Implementation
- 模型选择:
- 主要模型: 实验在GPT风格的模型上进行,包括 GPT-2 medium 和 GPT-2 large。
- 架构验证: 为了验证方法在不同Transformer架构上的有效性,还在 TinyLLaMA 的模型上进行了初步实验。这
- 表明本文提出的知识回路分析方法具有一定的普适性,不局限于单一的模型变体。
- 工具库:
- 回路发现:使用 Automated Circuit Discovery (ACD) 工具包作为构建回路的初始分析工具。
- 结果分析: 利用 transformer-lens这一工具库对发现的结果进行更深入的分析。
- 具体方法:
- 评估指标: 简单地采用 MatchNLL 作为指标,来检测给定节点或边对模型预测的影响程度。
- 消融方式: 在模型的计算图中,使用 零消融 来“敲除”特定的计算节点,以模拟其被移除的效果。
3.3.2 Metrics
-
核心概念:完整性
- 定义: 一个被发现的回路要能准确代表Transformer知识存储的特定区域,它必须能够独立地表征该知识。论文采用 完整性 这一概念来衡量这一点。
- 内涵: 完整性指的是回路在与完整模型隔离的情况下,独立复现完整模型在相关任务上的行为或预测的能力。
- 如果一个子图(回路)具备高完整性,就意味着它很可能对应了神经网络所实现的底层算法。
-
评估流程:
- 构建回路: 使用验证集 Dval中的数据(针对特定知识类型)来构建知识回路。
- 独立测试: 将构建好的回路从完整模型中“隔离”出来,形成一个子模型,然后在测试集 Dtest上评估这个子模型的性能。
- 性能对比: 观察隔离回路的性能与原始完整模型的性能相比有何变化。性能下降越小,说明回路的完整性越高,越能独立解释模型的行为。
-
性能量化指标:Hit@10
-
该指标计算目标实体 ooo 在模型预测的Top-10令牌中的排名情况。
Hit@10=1∣V∣∑i=1∣V∣I(ranko≤10) \text{Hit}@10=\frac{1}{∣V∣}\sum_{i=1}^{∣V|}\text{I}(\text{rank}_o≤10) Hit@10=∣V∣1i=1∑∣V∣I(ranko≤10)- ∣V∣∣V∣∣V∣ 代表词汇表的大小,ranko\text{rank}_oranko 是目标实体 ooo 在模型预测中的所有令牌中的排名。
- I\text{I}I 是指示函数,当 ranko≤10(即目标实体出现在前10名预测中)时值为1,否则为0。
- 指标意义: Hit@10越高,说明模型(或回路)正确召回知识的成功率越高。
-
3.3.3 Dataset
- 知识来源: 本研究关注的是已经存储在语言模型参数内部的知识,而非通过上下文学习注入的新知识。
- 数据集: 采用 LRE 方法所提供的数据集。
- 知识类型: 考虑了多种不同类型的知识,以验证方法的广泛适用性:语言学知识、常识知识、事实知识、偏见知识
- 知识筛选: 在零样本设置下,使用Hit@10指标从数据集的验证集中筛选出模型已掌握的知识,并用这些知识来构建知识回路。
4. Knowledge Circuits Unveil Implicit Neural Knowledge Representations
4.1 知识回路评估
-
回路的有效性与稀疏性:
- 核心发现:
- 在GPT-2 Medium上的实验结果表明,仅使用原始计算图不到10% 的子图,模型就能保持超过70% 的原始性能。
- 这强有力地证明了知识回路确实捕获了执行特定任务最关键的组件,且模型的计算具有高度的稀疏性。
- 对比实验: 研究者构建了大小相同的随机回路。结果显示,随机回路无法维持模型性能。
- 有趣现象 在某些测试数据集上(例如Landmark-country关系),回路的性能甚至超过了完整模型(从0.16提升到0.36)。
- 这表明完整模型中可能存在来自其他组件的“噪声”干扰了特定任务的执行,而知识回路通过剔除这些噪声,反而“净化”并凸显了核心知识。
- 核心发现:
-
回路行为的层间分析:
-
组件激活分布:分析不同知识领域中,回路内节点的平均激活百分比在不同网络层的分布。
-
发现注意力和MLP在网络的较低层更为活跃,这与语言模型在底层处理输入和提取通用信息的认知相符。
-
早期解码现象: 通过计算目标词元在各层的平均排名变化,观察到一个“早期解码”现象:
- 到网络中后层时,目标实体已经出现在残差流中,后续层的主要工作是提升该目标词元的概率。
- 这说明知识在模型中较早阶段就已形成,后续处理是 refinement(精炼)而非从头计算。
-
-
4.2 知识回路中的特殊组件
-
通过分析知识回路,论文识别出几类具有特定功能的、重要的注意力头。
-
移动头:关注上下文中的主语词元,并将其信息移动/传输到最后一个词元(预测位置)
-
关系头:关注上下文中的关系词元,生成与关系相关的表示,以指导后续组件的行为。
-
**混合头:**功能更复杂的注意力头(定义详见附录B.2)。
-
不同模型的知识分布差异:
- GPT-2: 在GPT-2 Medium和Large模型中,知识分布式地存储在多个层的注意力头和MLP矩阵中,目标知识的形成是一个渐进积累的过程(图7中目标实体排名缓慢下降)。
- TinyLLAMA: 特殊组件更加集中,知识表征的转变更剧烈(图7中目标实体排名在特定几层急剧下降)。
- 假设: 这种差异可能源于模型的知识容量 [44] 不同,值得进一步研究。
-
4.3 知识回路实例分析
-
关键节点:MLP17
- 观察: 从图3可见,经过MLP17处理后,目标词元‘法语’首次成为残差流中的最高概率词元,后续层只是进一步提升其概率。
- 输入来源: MLP17的输入来自三个重要的注意力头:
- L14H13(关系头): 关注关系词元“language”,输出与“语言”相关的表示。
- L14H7(移动头): 关注主语词元“France”,并将主语信息移动到最后一个词元位置。
- L15H0: 另一个注意力头。
-
对移动头功能探讨:
-
与传统解读的差异: 此前工作认为移动头(如L14H7)只是一个“参数解析器”,将主语“France”移动到末尾,然后由后续MLP执行“函数应用”将其映射到“French”。
-
本文新发现:
-
本文发现该移动头(L14H7)的输出本身就包含了目标答案‘French’的强信号,并且对最终输出有直接贡献。
-
因此,本文更倾向于将其视为Geva等人提出的提取头,其功能是从主语位置提取出与答案相关的信息,而不仅仅是移动主语本身。
-
证据: 图3显示,在最后一个词元位置,“France”本身的概率几乎为零,这反驳了简单的参数复制假设。
-
-
-
回路中的协作与激活链:
- 更深层的协作:在MLP17之后,例如L18H14(关系头)和L20H6(移动头)等组件协同工作,进一步强化对目标实体的最终预测。
- 组件间的激活链:追踪L14H7(移动头)的输入发现,它主要被L7H14(一个关系头)激活。
- 这暗示可能存在一个激活链:低级的关系头(L7H14)作为信号,激活更高级的移动头(L14H7)来执行信息提取。
- 这是一个需要进一步验证的有趣假设。
5. Knowledge Circuits Elucidate Internal Mechanisms for Knowledge Editing
5.1 单事实知识编辑
- 研究目标与方法:
- 目标: 理解为什么知识编辑方法在不同层效果差异显著,以及编辑后模型内部发生了什么变化。
- 方法: 采用两种主流编辑方法:ROME(一种基于定位的编辑方法)和 FT-M(一种基于微调的编辑方法)。
- 它们都旨在修改模型MLP层中的知识。
- 分析工具: 比较编辑后模型与原始模型的知识回路差异。
- 编辑层的重要性:
- 关键发现: 知识编辑中最重要的超参数是编辑层。
- 同一方法在不同层进行编辑,效果差异巨大。
- 这与此前的发现(知识在中前层聚合)相呼应。
- ROME方法的编辑机制:
- 观察: 当使用ROME进行编辑后(例如,将某个事实的主语公司编辑为“Intel”),知识回路显示出独特的变化模式。
- 机制解读:
- 信息注入: 正确的信息被添加到主语位置。
- 移动头行为改变: 关键的移动头的行为从简单的“复制”转变为从主语位置提取被编辑后的新信息。例如,编辑前,移动头L15H3关注“controller”并输出“controller”;编辑后,该头输出变为“Intel”。
- 渐进聚合: 这个新信息在后续层中逐渐聚合,直到第15层左右,“Intel”才成为排名第一的实体,概率显著增加。
- **本质:**ROME似乎是在主语的表示空间中植入了新信息,并利用了模型已有的信息提取和聚合机制(即知识回路)来传播新知识。
- FT-M方法的编辑机制:
- 观察: FT-M编辑后的知识回路表现出与ROME截然不同的模式。
- 机制解读:
- 直接写入与主导: FT-M倾向于将新知识直接写入特定的模型组件(如MLP-0),该组件会极大地主导后续的预测。
- 立即生效: 如图4所示,在编辑后,MLP-0层对“Intel”的输出逻辑值非常高,导致“Intel”直接在残差流中成为排名第一的实体,而非渐进形成。
- 优势与风险: 这种机制虽然直接有效,但存在过拟合风险。当测试与编辑知识无关但主语相关的事实(如“Windows server”)时,模型仍然错误地输出“Intel”。
- 这表明编辑可能过度局部化,破坏了模型原有的知识关联。
- 重要推论:这些发现支持了关于定位与编辑相关性的先前分析[45]。知识编辑可能并非真正“改变”了知识的存储位置,而更多是在已有的知识回路中注入了新的信号,从而覆盖或主导了原有的信息流。
5.2 多跳事实知识编辑
-
**问题背景:**多跳知识编辑是一个挑战性场景:
- 即使成功编辑了一个事实,模型也无法利用这个新事实进行后续推理。
- 示例:
- 编辑事实(设计师Thierry Mugler的祖国是法国 → 中国)后
- 询问后续问题:“Thierry Mugler祖国的官方货币是什么?”或“Thierry Mugler祖国的首都是什么?”。
- 模型虽然知道编辑后的祖国是“中国”,但无法正确推理出中国的货币和首都(可能仍回答法国的货币/首都)。
-
通过知识回路分析失败原因:
-
观察: 论文发现,在多跳推理回路中,负责推理的移动头在编辑后,其行为发生了改变。
-
机制解读:
- 原始回路: 在原始模型中,移动头会从第一跳的答案(如“法国”)中提取出第二跳的答案(如“欧元”)。
- 编辑后回路: 编辑后,同一个移动头提取的不再是第二跳答案,而是被编辑的实体“中国”。
- 失败根源: 被编辑的信息(“中国”)以一种饱和性的、主导性的方式影响了推理回路。
- 它中断了原本连贯的多跳信息流,导致模型在需要推理第二步时,被第一步的编辑结果“卡住”,无法进行有效关联。编辑似乎破坏了下游推理所需的语义表示。
-
一个有趣的佐证现象:
-
观察: 即使在原始模型的多跳推理设置中,如果移除第一跳的上下文文本,模型会直接给出第二跳的答案
- 解读: 这进一步证实了模型的推理严重依赖于关系和主语相关的信息,而非严格的语法逻辑。
- 知识回路存储的是实体间的关联,编辑操作粗暴地切断了这种关联,导致推理链断裂。
- 解读: 这进一步证实了模型的推理严重依赖于关系和主语相关的信息,而非严格的语法逻辑。
-
-
6. Knowledge Circuits Facilitate Interpreting Language Model Behaviors
6.1 事实性幻觉
-
研究问题: 如果知识确实由我们发现的知识回路存储和表达,那么当模型给出错误答案时,这个回路上到底发生了什么?
-
分析对象: 专注于事实性幻觉,即模型对给定的主语 s和关系 r提供了一个错误的目标实体 o。
-
核心发现与机制分析:
-
观察: 在实验中,当幻觉发生时,模型在较早的层中未能将正确的知识移动到最后一个词元。
-
失败根源: 这种失败主要体现在两个方面:
- 回路中缺乏有效的移动头,无法执行关键的信息传输功能。
- 或者,移动头虽然存在,但选择了错误的信息进行传输。
- 具体案例: 以提示句“The official currency of Malaysia is called”为例。
- 知识积累阶段: 在15层之前,正确答案“Ringgit”和错误答案“Malaysian”都已在残差流中积累,并且排名相近。
- 关键错误步骤: 在第16层,关键的移动头L15H10提取了错误的信息“Malaysian”。这个错误的选择成为了导致幻觉的转折点。
- 纠正失败: 尽管在20-22层,正确答案“Ringgit”的排名有所提升,但已不足以纠正前面移动头所犯下的决定性错误。
- 具体案例: 以提示句“The official currency of Malaysia is called”为例。
-
结论: 幻觉并非源于模型“不知道”正确答案,而是其内部信息路由机制在关键时刻出现了故障。知识回路清晰地揭示了这一故障点。
-
6.2 上下文学习
-
研究场景: 模型最初给出错误答案,但在接收到适当的示例演示后,能迅速生成正确答案。论文比较了零样本设置和上下文学习设置下的知识回路。
-
核心发现:
- 回路结构变化: 分析表明,与零样本的知识回路相比,当引入演示示例后,计算图中出现了几个新的注意力头。
- 新头功能分析:
- 功能: 如图5所示,这些新出现的注意力头主要聚焦于演示的上下文(例如,“The comparative form of small is smaller”)。
- 机制类比: 它们的功能类似于 归纳头
- 其行为模式是:
- 回顾序列,寻找当前词元之前出现的实例,然后找出上次跟在它后面的那个词元。
- 在这个例子中,就是学习“X的比较级是X+er”这个模板。
- 其行为模式是:
-
消融实验验证:
-
方法: 为了验证这些新头的重要性,论文对上下文学习回路中新出现的注意力头进行了消融,并与随机消融其他头进行对比。
-
结果:
- 如表2所示,消融这些特定的新头会导致模型预测概率显著下降,而随机消融则影响较小。
-
结论: 这证明了这些新出现的头对于上下文学习任务至关重要,它们是模型临时获取并应用新知识的关键组件。
-
-
与先前研究的联系: 这一发现与Todd等人提出的 函数向量 概念相吻合。
- 函数向量被定义为一些关键注意力头的输出的平均,它赋予了模型任务学习能力。
- 本文发现的新注意力头,可以看作是构成这种“函数向量”的具体功能单元。
6.3 反向关系
- 论文还简要提及了利用知识回路分析反向关系
- 例如,不仅知道“法国的首都是巴黎”,也知道“巴黎是法国的首都”。
- 分析表明,表达这两种关系的知识回路共享大部分核心组件(如MLP和关系头),但在关键的移动头上有所不同。这解释了为什么模型能处理同一知识的两种不同表达形式。