KnowledgeDebugger——Transformer中知识定位与编辑的探索工具

arXiv cs.CL 论文

摘要

KnowledgeDebugger是一个基于图形用户界面的工具,用于探索Transformer模型中的知识定位与编辑,集成了EasyEdit库中最先进的知识编辑方法,以支持直观的分析和假设形成。

arXiv:2607.01000v1 公告类型:新 摘要:近年来的研究越来越关注Transformer如何存储和处理知识,以及如何编辑这些知识。该领域的研究工作通常分两个阶段进行:首先,在单个样本上探索现象。然后,当结果看起来有希望时,再进行更具统计稳健性的实验。为了支持第一阶段,我们提出了KnowledgeDebugger,一个基于图形用户界面的Transformer知识定位与编辑探索工具。我们的工具——受LM-Debugger启发——提供了对EasyEdit中方法的无代码访问,EasyEdit是一个广泛使用的库,包含最先进的知识编辑方法。我们通过该领域最近发现的案例研究展示了该工具的有效性。
查看原文
查看缓存全文

缓存时间: 2026/07/02 05:39

# KnowledgeDebugger – 一种用于 Transformer 知识定位与编辑的探索工具  
来源: https://arxiv.org/html/2607.01000  
Lennart Stöpler, Nikolai Bolik, Artur Andrzejak  
海德堡大学  
\{eric\.benz, lennart\.stoepler, nikolai\.bolik, artur\.andrzejak\}@uni\-heidelberg\.de  

###### 摘要  

近年来,越来越多的研究致力于理解 Transformer 如何存储和处理知识,以及如何对这些知识进行编辑。该领域的研究通常分为两个阶段:首先,在单个样本上探索现象;然后,当结果看起来有希望时,再进行更具统计稳健性的实验。为支持第一阶段,我们提出了 **KnowledgeDebugger**,一个基于 GUI 的 Transformer 知识定位与编辑探索工具。我们的工具受到 **LM-Debugger** (Geva 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib1)) 的启发,为 **EasyEdit** (Wang 等, 2023 (https://arxiv.org/html/2607.01000#bib.bib2))(一个广泛使用的、收录了多种最先进知识编辑方法的库)中的方法提供了无需代码的访问。我们通过案例研究展示了该工具在探索该领域最新发现方面的有效性。¹¹¹代码见 https://github.com/ebnz/lm-debugger  
²²²文档见 https://ebnz.github.io/lm-debugger/  

---

**KnowledgeDebugger – 一种用于 Transformer 知识定位与编辑的探索工具**  
Eric Benz, Lennart Stöpler, Nikolai Bolik, Artur Andrzejak  
海德堡大学  
\{eric\.benz, lennart\.stoepler, nikolai\.bolik, artur\.andrzejak\}@uni\-heidelberg\.de  

## 1 引言  

越来越多的研究致力于从人类可解释概念的角度理解大语言模型(LLMs)的生成过程(Geva 等, 2021 (https://arxiv.org/html/2607.01000#bib.bib3);Elhage 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib4);Lindsey 等, 2025 (https://arxiv.org/html/2607.01000#bib.bib5);以及众多其他研究)。另一条互补的研究方向试图直接编辑模型的参数知识(Meng 等, 2023a (https://arxiv.org/html/2607.01000#bib.bib6);Hartvigsen 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib7);Pan 等, 2025 (https://arxiv.org/html/2607.01000#bib.bib8);以及众多其他研究)。这些知识编辑(KE)方法中的许多最近已被收录在 **EasyEdit** 库中(Wang 等, 2023 (https://arxiv.org/html/2607.01000#bib.bib2))。通过将多种不同技术统一在一个通用框架下,**EasyEdit** 简化了它们的评估和相互比较。在这些领域中,假设形成的过程极大地受益于对模型前向传播过程中出现的现象(例如,KE 干预引起的改变)直觉的建立。为此,**LM-Debugger** (Geva 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib1)) 被提出作为交互式检查模型激活的工具,其粒度可细致到单个神经元。该工具还通过调节前向传播中特定神经元的贡献,实现了对模型输出的干预。然而,它并未涵盖主流的 KE 方法,也不提供修改底层模型参数的功能。为填补这一空白,我们提出了 **KnowledgeDebugger**,一个基于 GUI 的交互式工具,用于探索来自运行良好的 **EasyEdit** 库中针对 Transformer 架构的最新 KE 方法的影响。通过构建并扩展 **LM-Debugger** 的 GUI 界面,它提供了对 KE 方法以及预定义和用户自定义指标的交互式访问,用于评估跨所有 Transformer 层的 KE 干预效果。我们的工具使新手更容易建立起对现有 KE 方法的直觉。此外,已经熟悉最新技术的研究人员可以在进行更系统的评估之前,获得对方法行为的定性印象。本工作做出以下贡献:  

1. 1. 我们提出了一个基于 GUI 的工具,用于在 Transformer 模型上探索 KE 方法。  
2. 2. 我们为工具配备了一套专门用于评估 KE 方法的指标,以及一个低门槛的自定义指标定义接口。此外,我们提供了一个灵活的检查点系统,以促进可重复性并加速工作流程。  
3. 3. 我们通过三个取自最新 KE 文献的案例研究展示了该工具,证实了其在研究 KE 方法方面的有效性。  

## 2 背景  

### 2.1 理论框架  

机械可解释性领域,尤其是 KE 领域,已围绕对 Transformer 架构的特定解释达成共识。本节我们将简要总结核心思想,并提供进一步阅读的参考文献。  

#### 2.1.1 残差流  

在 Transformer 架构中,每个模块(注意力模块和多层感知机(MLP)模块)都被一条残差连接旁路(Vaswani 等, 2017 (https://arxiv.org/html/2607.01000#bib.bib9))。机械可解释性方面的最新工作强调了这些残差连接的关键功能重要性,并建议将它们视为在层间传递模型内部表示的主向量通路(Elhage 等, 2021 (https://arxiv.org/html/2607.01000#bib.bib10))。在这种解释下,**残差流**(即所有残差连接的集合)在每个模块处被更新,因为模块从这种共享表示中读取,并将其输出写回其中。我们将该通路上任意一点的激活向量称为**残差流(向量)**。  

#### 2.1.2 残差流的解嵌入  

关键的是,任何残差流向量都可以通过应用模型的解嵌入矩阵投影回词汇空间,该矩阵将激活映射到词汇表上的 logits(nostalgebraist, 2020 (https://arxiv.org/html/2607.01000#bib.bib11))。因此,给定一个残差流向量 \(x\),投影 \(W_{\text{unemb}} \cdot x\) 为每个词表 token 生成一个分数,对应于该 token 在当前中间表示下的 logit 值。对这些分数进行排序,可以识别出与当前中间激活最紧密对齐的 token。  

#### 2.1.3 作为键-值存储的 MLP  

Transformer 的 MLP 子层定义如下:  

\[
\operatorname{MLP}(x) := W_{\text{down}} \cdot f(W_{\text{up}}^{\top} \cdot x),
\] (1)  

其中 \(W_{\text{up}}\) 和 \(W_{\text{down}}\) 分别是 MLP 编码器和解码器矩阵,形状为 \(\mathbb{R}^{d \times d_m}\),且通常 \(d_m > d\)。这里,\(x \in \mathbb{R}^{d}\)(\(d\) 是残差流维度),\(f\) 表示一个非线性激活函数。许多作者共同的想法是将这一构造成解释为一个键-值存储。有两种互补的方式来实现这一点。支持逐神经元观点的人认为,\(W_{\text{up}}\) 的列(每个都在 \(\mathbb{R}^{d}\) 中)构成键,而 \(W_{\text{down}}\) 的列构成值向量(Geva 等, 2021 (https://arxiv.org/html/2607.01000#bib.bib3))。在这种情况下,MLP 是键到值的逐元素映射。而逐层解释则认为,中间激活 \(f(W_{\text{up}}^{\top} \cdot x)\) 是键,而 \(W_{\text{down}}\) 将这个键映射到一个值(Meng 等, 2023a (https://arxiv.org/html/2607.01000#bib.bib6))。在这种情况下,存在无限多个键——映射到无限多个值。³³³在稀疏神经元基(如 Dunefsky 等, 2024 (https://arxiv.org/html/2607.01000#bib.bib12) 所提出的)下,这两种观点是一致的。  

### 2.2 知识编辑  

知识编辑(Meng 等, 2023a (https://arxiv.org/html/2607.01000#bib.bib6);Hartvigsen 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib7);Pan 等, 2025 (https://arxiv.org/html/2607.01000#bib.bib8);以及众多其他研究)试图通过对模型权重的目标编辑来改变 LLM 中的参数化知识。挑战在于改变特定的事实关联,同时保持模型的整体行为不变。事实关联通常用知识三元组 \((e_{\text{head}}, r, e_{\text{tail}})\) 来表示,其中 \(e_{\text{head}}\) 是头实体,\(e_{\text{tail}}\) 是尾实体,\(r\) 是它们之间的关系。一个例子是 ("Rome", "{} is located in", "Italy")。目标是找到模型权重的变换 \(\theta \longrightarrow \theta^{\prime}\),该变换编码了这个知识三元组,而不改变模型知识的任何其他方面。通常根据以下术语来评估该任务:(i) **特异性**,即只改变目标事实;(ii) **局部性**,即编辑应局限于参数的少数子集;(iii) **泛化性**,即修正后的事实应在不同表述和变化语境下成立;(iv) **鲁棒性**,即修改不应降低模型的整体质量。为实现这些期望属性,已提出了多种技术,特别是:(i) 超网络(Cao 等, 2021 (https://arxiv.org/html/2607.01000#bib.bib13);Mitchell 等, 2021 (https://arxiv.org/html/2607.01000#bib.bib14);Dong 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib15)),(ii) 外部码本(Hartvigsen 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib7);Yu 等, 2023 (https://arxiv.org/html/2607.01000#bib.bib16);Wang 等, 2024 (https://arxiv.org/html/2607.01000#bib.bib17)),以及 (iii) 定位然后编辑的方法(Meng 等, 2023a (https://arxiv.org/html/2607.01000#bib.bib6), b (https://arxiv.org/html/2607.01000#bib.bib18);Li 等, 2024 (https://arxiv.org/html/2607.01000#bib.bib19);Pan 等, 2025 (https://arxiv.org/html/2607.01000#bib.bib8);Fang 等, 2025 (https://arxiv.org/html/2607.01000#bib.bib20))。  

### 2.3 EasyEdit  

在一个库中。除了通过通用且模型无关的 API 提供这些方法外,它还提供了一个共享的测试框架。**EasyEdit** 是社区驱动且积极维护的,确保通过 **KnowledgeDebugger** 访问的方法保持最新。  

### 2.4 LM-Debugger  

**LM-Debugger** (Geva 等, 2022 (https://arxiv.org/html/2607.01000#bib.bib1)) 是一个用于检查模型行为,并在 MLP 值向量(即 MLP 下投影矩阵的列)级别与其内部计算进行交互的工具。它提供三个核心功能,这些功能在 **KnowledgeDebugger** 中得到保留,并在下面简要讨论。  

#### 2.4.1 轨迹视图  

轨迹视图显示每一层在 MLP 更新前后,残差流解嵌入到词汇空间的前十个 token。这允许用户观察模型内部状态如何在层间演变。它还突出显示十个最具影响力的 MLP 值向量,按激活值排序,显示主要贡献。每个向量可以通过投影到词汇空间并显示该投影下得分最高的 token 来进行单独检查。此功能在我们的工具中完全保留。TopKTokens(图 1 (https://arxiv.org/html/2607.01000#S2.F1) B5)和面板 LMDebuggerIntervention(图 1 (https://arxiv.org/html/2607.01000#S2.F1) C8)展示了相应的信息。  

#### 2.4.2 探索视图  

探索视图对模型的 MLP 值向量进行静态分析,即将每个向量投影到词汇空间,产生 token logits,指示该向量最强烈地促进的 token。**LM-Debugger** 索引所有值向量的这些投影,从而允许基于关键词搜索其关联的 token。这使用户能够快速识别其投影与特定语义领域对齐的值向量。用户可以通过我们的工具中的 `Explore` 按钮访问此功能,参见图 1 (https://arxiv.org/html/2607.01000#S2.F1) A2。  

#### 2.4.3 干预  

LMDebuggerInterventions(图 1 (https://arxiv.org/html/2607.01000#S2.F1) C8)允许用户在推理过程中操纵 MLP 值向量。对于任何预先选定的前十值向量,用户可以应用一个干预——一个二进制开关,要么抑制该向量,要么放大其贡献。关闭一个向量将其激活系数设为零,从而消除其对 MLP 更新的影响。打开它则赋予该向量与该层最大幅度相同的激活幅度,确保它成为主导贡献者之一。  

(见标题)图 1:该图展示了 **KnowledgeDebugger** 的主要功能。界面组件分为三类:(A) 通用 UI 控件,(B) 可用指标,(C) 干预方法。  
(A) 通用 UI 控件:(A1) 提示输入字段。(A2) 三个主要动作按钮:`Trace`、`Generate` 和 `Explore`。`Trace` 触发计算指标和干预,并显示给定提示的可用编辑方法;`Generate` 产生模型的下一个 token 预测;`Explore` 在 2.4.2 (https://arxiv.org/html/2607.01000#S2.SS4.SSS2) 节中描述。(A3) KE 方法可以添加到干预队列,前提是格式正确。(A4) 干预队列,从左到右的顺序决定了应用顺序。切换开关启用或禁用每个方法;对于 **LM-Debugger** 干预,切换行为遵循 2.4.3 (https://arxiv.org/html/2607.01000#S2.SS4.SSS3) 节中的描述。(A5) 第 3.3 (https://arxiv.org/html/2607.01000#S3.SS3) 节中描述的导出和导入功能,允许通过 JSON 文件保存和上传运行结果,以实现快速可重复性。  
(B) 指标:(B1)–(B4) 第 3.2.2 (https://arxiv.org/html/2607.01000#S3.SS2.SSS2) 节中描述的用户指标。(B5) 第 2.4.1 (https://arxiv.org/html/2607.01000#S2.SS4.SSS1) 节中描述的前十 token 解嵌入。(B6) 第 3.2.1 (https://arxiv.org/html/2607.01000#S3.SS2.SSS1) 节中描述的 KE 干预期间目标 token 的排名。  
(C) 干预方法:(C1)–(C7) 来自 **EasyEdit** 库的知识编辑方法。(C8) 第 2.4.3 (https://arxiv.org/html/2607.01000#S2.SS4.SSS3) 节中描述的 **LM-Debugger** 干预。  

## 3 KnowledgeDebugger  

### 3.1 知识编辑干预  

除了 **LM-Debugger** 支持并在第 2.4.3 (https://arxiv.org/html/2607.01000#S2.SS4.SSS3) 节中讨论的神经元级干预之外,**KnowledgeDebugger** 还整合了来自 **EasyEdit** 库(Wang 等, 2023 (https://arxiv.org/html/2607.01000#bib.bib2))的各种 KE 方法,允许用户直接在 LLM 的权重上改变其知识。用户在 UI 中配置这些干预,将它们添加到干预队列(图 1 (https://arxiv.org/html/2607.01000#S2.F1) A3),并使用拖放菜单(图 1 (https://arxiv.org/html/2607.01000#S2.F1) A4)以任意顺序排列。  

队列顺序决定了干预执行的顺序。这些方法通过一个适配器类来访问,该类包装了它们底层的 **EasyEdit** 实现。目前,我们为 7 种额外的 KE 方法提供了可用的配置(图 1 (https://arxiv.org/html/2607.01000#S2.F1) C1–C7),其中包括最先进的方法,如 ROME(Meng 等, 2023a (https://arxiv.org/html/2607.01000#bib.bib6))、PMET(Li 等, 2024 (https://arxiv.org/html/2607.01000#bib.bib19))和 MEMIT(Meng 等, 2023b (https://arxiv.org/html/2607.01000#bib.bib18))。  

### 3.2 扩展的指标  

#### 3.2.1 目标 token 的排名  

在大多数 KE 场景中,目标 t

相似文章

黑盒大型语言模型的知识蒸馏

Hacker News Top

提出了一种名为 Proxy-KD 的新方法,通过代理模型从黑盒大型语言模型(如 GPT-4)中蒸馏知识到较小的模型,超越了传统的黑盒和白盒知识蒸馏技术。