引言
像 GPT-4 和 LLaMA 这样的大语言模型 (LLMs) 令人印象深刻,但它们并不完美。它们可能会产生幻觉,依赖过时信息,或者仅仅是缺乏特定的语境。近年来,研究人员开发了“知识编辑”技术——一种通过更新模型权重来修复特定错误,而无需重新训练整个网络的外科手术式方法。
传统上,这种方法主要应用于事实性知识 。 例如,如果一个国家的总理换人了,我们可以编辑模型,将该国家与新领导人联系起来。然而,现实世界不仅仅由静态事实构成。它充满了常识性知识——即对人们如何行动、物理学如何运作以及社会规范的直观理解。
这就带来了一个难题: 现有的方法虽然擅长将“特朗普”换成“拜登”,但在教模型“如果你想打开智能锁,你需要看着摄像头”时,却往往一败涂地。
在这篇文章中,我们将剖析一篇引人入胜的论文 《Commonsense Knowledge Editing Based on Free-Text in LLMs》 (基于自由文本的大语言模型常识知识编辑) 。 这篇论文介绍了一种名为 DEM (Dynamics-aware Editing Method,动态感知编辑方法) 的新方法。研究人员揭示了常识并不像事实那样存储在固定的位置,并提出了一种新的架构来修复当前模型中那些“范围广、内容长且抽象”的错误。

如图 1 所示,编辑一个事实 (左侧) 是直接的替换。而编辑常识 (右侧) 则涉及改变复杂的推理链条和自由文本。
问题所在: 事实 vs. 常识
要理解为什么这很难,我们首先需要了解目前是如何编辑模型的。
大多数最先进的编辑方法 (如 ROME 或 MEMIT) 将知识视为三元组 : <主语, 关系, 宾语>。
- *例子: *
<埃菲尔铁塔, 位于, 巴黎>
这些方法假设这个特定的事实存储在一组特定的神经元中 (通常在 Transformer 的前馈/多层感知机层中) 。要编辑这个事实,你需要定位这些神经元并在数学上“重写”它们。
常识性知识则不同。它具有以下特征:
- 非实例化 (Non-instantiation) : 它处理的是一般概念 (例如,“PersonX”) 而不是具体的命名实体。
- 自由文本 (Free-text) : “答案”不是单个单词;它是一个句子或一个场景。
- 广阔的范围 (Broad Scope) : 它依赖于分散在模型理解中的社会和物理直觉。
当研究人员试图将标准的事实编辑工具用于常识数据时,模型崩溃了。它们生成了重复的文本或未能更新推理逻辑。作者假设这是因为常识并不像事实那样存储在同一个地方。
第一部分: 常识存储在哪里? (KLFT 方法)
在构建解决方案之前,研究人员需要找到目标。他们开发了一种称为自由文本知识定位 (Knowledge Localization for Free-Text, KLFT) 的技术。这种方法探测模型,以查看在检索不同类型的知识时哪些层是活跃且重要的。
他们使用两个指标对比了事实性知识与常识性知识的实验:
- 知识定位 (Knowledge Location) : 检查隐藏状态中的概率值,查看信息驻留在何处。
- 知识召回 (Knowledge Recall) : 测量特定层对最终答案的贡献程度。
知识的分散性
结果令人震惊。在事实性知识中 (下文图 2 的顶行) ,激活是清晰且集中的。你可以指着多层感知机 (MLP) 层中的特定位置说: “事实就在这里。”
然而,对于常识性知识 (底行) ,热力图是模糊的。激活是分散的。

研究人员进一步对数据进行解耦,移除了任何特定的实体 (如名字) ,以观察纯粹的常识。结果如图 3 所示,证实了虽然事实性知识 (蓝线) 在 MLP 层的早期/中期出现峰值,但常识性知识 (橙/绿线) 则相对稳定并分散在整个网络中。

注意力层的作用
也许最关键的发现是注意力 (Attn) 层的作用。以前的编辑方法很大程度上忽略了注意力层,几乎只关注 MLP 层。
下面的热力图( 图 4 )显示了不同关系类型 (例如 “xWant”, “xEffect”) 的存储位置。
- 左侧 (MLP): 活性集中在中前层。
- 右侧 (Attn): 活性分散在几乎所有层中。

作者使用一种称为辛普森相似度 (Simpson Similarity) 的相似度指标证实了这一点,该指标用于衡量信息通过某一层时的变化程度。低相似度意味着该层做了很多工作 (贡献度高) 。

如图 5 可视化所示,与事实性知识相比,注意力层 (橙线) 对常识性知识表现出截然不同的响应模式。

要点: 你不能仅仅通过调整 MLP 层中的几个神经元来编辑常识。你必须同时也编辑注意力层 , 并且不能假设每条知识都有固定的位置。
第二部分: 动态感知编辑方法 (DEM)
基于常识“无处不在”且涉及注意力层这一洞察,作者提出了动态感知编辑方法 (DEM) 。
该方法有两个主要组件:
- 动态感知模块 (Dynamics-aware Module) : 弄清楚在哪里进行编辑。
- 知识编辑模块 (Knowledge Editing Module) : 实际在 MLP 和注意力权重上执行更新。

步骤 1: 利用动态感知进行定位
与以前硬编码编辑哪些层的方法 (例如,“总是编辑第 4 到第 8 层”) 不同,DEM 会动态选择与特定提示最相关的层。
它通过计算最后一层 token 的输入和输出隐藏状态之间的余弦相似度 (Cosine Similarity) 来实现这一点:
![]\n{ \\mathrm { C o s i n e _ S i m i l a r i t y } } = { \\frac { h ( T ) _ { i n } ^ { l } \\cdot h ( T ) _ { o u t } ^ { l } } { | h ( T ) _ { i n } ^ { l } | | h ( T ) _ { o u t } ^ { l } | } }\n[](/en/paper/2410.23844/images/009.jpg#center)
如果相似度接近零,这意味着该层显著改变了信息——使其成为编辑的最佳候选。DEM 基于此指标选择前 k 个层 (通常为 3 个) 。
步骤 2: 更新权重
一旦确定了层,DEM 就会更新权重。这在数学上很复杂,因为我们希望强迫模型生成新的“目标答案”,同时确保不破坏模型现有的知识 (泛化性和特异性) 。
目标函数力求最小化新知识 (\(n+1\) 到 \(n+u\)) 的误差,同时保持以前的知识 (\(1\) 到 \(n\)) 稳定:
![]\n\\begin{array} { r } { W _ { \\mathrm { M L P } } , W _ { \\mathrm { A t t n } } \\triangleq \\underset { W } { \\mathrm { a r g m i n } } ( ( \\displaystyle \\sum _ { i = 1 } ^ { n } ( | W k _ { i } - v _ { i } ) | ^ { 2 } + } \\ { \\displaystyle \\sum _ { i = n + 1 } ^ { n + u } ( | W k _ { i } - v _ { i } ) | ^ { 2 } ) ) } \\end{array}\n[](/en/paper/2410.23844/images/010.jpg#center)
为了解决这个问题,DEM 计算 MLP 和注意力层的增量权重矩阵 (\(\Delta\)) 。 这与通常只计算 MLP \(\Delta\) 的标准方法有很大不同。
![]\n\\begin{array} { r l } & { \\triangle ^ { M L P } = R ^ { M L P } ( k _ { 1 } ^ { M L P } ) ^ { T } ( C _ { 0 } ^ { M L P } + k _ { 1 } ^ { M L P } ( k _ { 1 } ^ { M L P } ) ^ { T } ) ^ { - 1 } } \\ & { \\triangle ^ { A t t n } = R ^ { A t t n } ( k _ { 1 } ^ { A t t n } ) ^ { T } ( C _ { 0 } ^ { A t t n } + k _ { 1 } ^ { A t t n } ( k _ { 1 } ^ { A t t n } ) ^ { T } ) ^ { - 1 } \\quad } \\end{array}\n[](/en/paper/2410.23844/images/011.jpg#center)
在这些方程中,\(R\) 代表“残差” (模型当前知道的与我们希望它知道的之间的误差) ,\(C_0\) 是以前记忆键的协方差 (保留旧记忆) 。
最后,模型使用包含 KL 散度 (Kullback-Leibler divergence) 的损失函数来优化隐藏状态 (\(v\)) 。这确保了新文本的分布是平滑和自然的,而不仅仅是强制插入关键词。
![]\n\\begin{array} { r l } & { \\mathcal { L } ( v _ { i } ^ { m } ) = \\alpha \\cdot D _ { \\mathrm { K L } } ( \\mathbb { P } _ { \\mathbb { F } _ { \\theta } ^ { \\dagger } } [ \\pmb { y } ^ { m } \\mid p ^ { m } ] | \\mathbb { P } _ { \\mathcal { F } _ { \\theta } } [ \\pmb { y } ^ { m } \\middle | p ^ { m } ] ) } \\ & { + \\beta \\cdot \\frac { 1 } { P } \\sum _ { j = 1 } ^ { P } - \\log \\mathbb { P } _ { \\mathcal { F } _ { \\theta } ^ { \\dagger } } [ \\pmb { y } _ { i } ^ { Z _ { t } } \\middle | \\mathrm { p r e f } _ { j } \\oplus p ( \\pmb { x } _ { i } ^ { m } ) ] . } \\end{array}\n()](/en/paper/2410.23844/images/013.jpg#center)
CKEBench 数据集
为了测试这种方法,作者不能依赖现有的事实数据集。他们创建了 CKEBench (常识知识编辑基准) , 该数据集源自著名的 ATOMIC 数据库。
他们将抽象的关系 (如 xAttr, xReact) 转换成了人类可读的模板和问题。

这产生了超过 15,000 个涵盖物理实体、社会互动和事件的样本。
实验结果
那么,编辑注意力层并动态选择它们真的有帮助吗?
作者在 GPT-J (6B) 和 LLaMA-2 (7B) 等模型上将 DEM 与 MEMIT、MEND 和 PMET 等顶级基线方法进行了比较。
定量成功
结果是决定性的。在表 2 (如下) 中,DEM 在几乎所有指标上都优于之前的最先进方法 (PMET) 。值得注意的是:
- 分数 (Score) : 在 GPT-J 上提高了 4.5 分 。
- 常识 (Commonsense) : 大幅提升了 13.8% , 表明模型实际上掌握了新的逻辑,而不仅仅是记住了单词。
- 特异性 (Specificity) : DEM 更擅长不破坏其他不相关的知识。

定性成功
数字固然重要,但查看实际的文本输出往往更能说明问题。在图 7 中,我们看到了针对打开智能锁这一提示的编辑尝试对比。
- 原始 (Original) : 失败 (建议取出钥匙) 。
- MEMIT/PMET: 失败。它们经常产生重复的循环 (“needs to needs to”) 或无意义的句子片段。
- DEM: (虽然在此裁剪图中未直接显示,但成功率暗示了结果) 生成了连贯的目标: “aim her face at the camera (把她的脸对准摄像头) ”。

为什么它有效: 消融实验
为了证明“动态感知”模块和“注意力编辑”都是必要的,作者进行了消融实验 (移除系统的部分组件以查看什么会崩溃) 。

如表 3 所示:
- w/o DA (无动态感知) : 性能显著下降。猜测要编辑哪些层是行不通的。
- w/o EM (无 MLP 编辑) : 巨幅下降。MLP 层仍然是基础。
- w/o EA (无注意力编辑) : 效果明显下降。这证实了论文的假设: 如果不触及注意力层,就无法有效地编辑常识。
结论
论文《Commonsense Knowledge Editing Based on Free-Text in LLMs》标志着模型维护向前迈出了重要一步。它让我们摆脱了知识编辑仅仅是将实体 A 换成实体 B 的简化观点。
通过绘制常识知识的分散特性——跨越 MLP 和注意力层——并设计 DEM 架构来适应性地针对这些区域,研究人员解锁了一种修正大语言模型中更广泛、更抽象错误的方法。随着 LLM 越来越深入日常生活,在无需昂贵的重新训练的情况下纠正“社会”和“物理”常识错误的能力将变得至关重要。
](https://deep-paper.org/en/paper/2410.23844/images/cover.png)