跳到主要内容

模型编辑 — 给大模型改一条知识

这一章讲三件事: 为什么「改一条知识」是个独立的科研问题(要同时做到三件事, 而重训和全量微调各缺一样);三条路线——外挂记忆、加参数、改参数——各自怎么改、 代价是什么;以及这个方向的「反噬面」:编辑的刀口反过来成了审计模型的手术灯, 隐私和偏见顺着它被挖出来。 原书这一章收 25 篇;三个代码书架里没有对应实现,本章不连线, 全部依据走原书条目与我们标明的通用知识。

1. 这一章讲什么

前几章的模型都是「训完就定型」。可现实里你会遇到:它记错了一条事实 (公司换了名字、人物换了职位),或者它不该记的记了(训练数据里的隐私、偏见)。

直觉的解法是重新训练。但重训一次的账单是天文数字;第 04 章的微调也帮不上—— 微调几千条样本,改对了这条,别的知识常常被顺手冲乱(学新忘旧,即灾难性遗忘, 第 04 章讲过)。「精准改一条」于是成了独立问题,编者给它单开一章、 开头连收四篇综述12——体例上这是全列表综述密度最高的一章,说明问题公认难。

2. 顶层全景:一道编辑题,三条路线

先立标准。学界对一次合格的编辑要求三件事(出自编辑评测的通行口径,通用知识):

要求意思反例
改得准指定那条改对了改了,但相关事实没跟着变
不伤无辜别的知识原样保留改一条,三百条跟着变
问法泛化(泛化:换种没见过的问法也成立)换个问法也得改「铁塔在哪」改了,「游客该去哪」没改
编辑题:「埃菲尔铁塔位于巴黎」改成「位于罗马」

├─ 路线① 外挂记忆:本体不动,外挂一张「纠错表」,生成时查表拦截
├─ 路线② 加参数: 往网络里补一个专门记这条事实的新神经元
└─ 路线③ 改参数: 先定位事实住在哪一层哪几个维度,直接改那几个数

图说:三条路线的分歧只有一处——动不动模型本体的权重。
本章主走查就是这道题,三条路线各走一遍。

3. 核心原理(上):定位的前提——知识真的「住在」确定的地方吗

路线③(改参数)成立的前提是一个看起来大胆的假设:一条事实在模型内部有确定的位置。 列表把这个前提的两篇地基分别收在两处:

  • 第 01 章提过的「前馈层是键值记忆」(2021)3:前馈层(每层里注意力之外的那半个零件) 的行为像一张可查的表——输入某个模式,输出背下来的对应内容。「表」就有「条目」, 条目就可定位;
  • 知识神经元(2021)4:更进一步的证据——只激活前馈层里少数几个单元(神经元: 网络里最小的计算单元,接收数、加权、输出数),某类事实的输出就明显改变。

这两篇是第 01 章埋的伏笔在此兑现:模型编辑整章都踩在「知识可定位」这个发现上。

4. 核心原理(中):三条路线各走一遍

4.1 路线①:外挂记忆——本体一个数都不动

代表:SERAC(2022)5。做法像给模型配一个纠错秘书:每次编辑, 只把「旧答案 → 新答案」存进外面的一个小存储;模型正常作答,秘书在旁边判断 「这个问题撞上我记的编辑了吗」,撞上就拦截、改写答案。

  • 走查:「埃菲尔铁塔位于__」→ 撞表 → 答「罗马」;问「巴黎的铁塔叫什么」 之类没存的相邻问题,秘书还可以拿编辑条目现场训一个分类器(把输入判成 几类的小模型)来判断怎么答(演示流程)。

  • 后续与变体:MEND(2022)6 用一个外挂小网络学「怎么改」;GRACE(2023)7 把纠错表做成可以不断追加、互不打架的键值适配器(adapter:一小片可插拔的部件); 「自然语言补丁」(2022)8 让人用一句话下编辑指令。

路线①的账: 优点是绝对安全(本体不动,绝无「不伤无辜」问题)、可无限追加; 代价是泛化差——表上没写的新问法就漏,而且「知识」其实没进模型。

4.2 路线②:加参数——一个错误补一个神经元

代表:T-Patcher(2023)9,列表给它单开一节。做法:在前馈层里新增 一个神经元(不改动原有任何一个),把要改的事实存进去,再训一个很小的门(开关, 由 T5 一族的门控思想沿袭而来——第 01 章讲过 LSTM 的门)控制它何时触发。

  • 走查:「位于罗马」这条事实写进新神经元;遇到相关问句,门打开、新神经元发言, 输出被改写;其他问题门关着,原模型行为分毫不变(演示流程);
  • 同路线还有 CaliNet(2022)10:按「事实冲突」校准的思路额外存特征(有代表性的内部读数)。

路线②的账: 优点是原有权重零改动、一条事实一个神经元、责任清楚; 代价是补丁会随编辑数累积,它们和路线①的 Adapter 一样占推理路径, 且「新神经元干扰旧知识」的风险需要专门验证。

4.3 路线③:改参数——先定位,再动手术(本章主走查)

代表:ROME(2022)11,列表同样单开一节。它分两步,两步都有具体的数:

第 1 步 定位(因果追踪,演示口径):
拿提示「埃菲尔铁塔位于__」,先正常跑一遍,记下每个层每一维的中间状态;
再在每一个位置分别注入噪声(随机搅乱读数的干扰)重跑,看哪一处的噪声
最能破坏答案「巴黎」;
最后反过来,只把「巴黎」的信息强注入某一处,看哪一处能把答案扳回来。
两头夹出来的交集,落在中层的键值记忆里(ROME 报告的典型位置:
GPT 系中层的前馈层;具体层号随模型变,演示流程,不报死数)。

第 2 步 手术(秩一修改):
把定位到的那张「表」展开成一个大矩阵,要求新条目(「埃菲尔铁塔→罗马」)
与旧条目尽量不互相干扰——这归结为一个带约束的最小改动问题,
解出来是一个秩一的补丁(第 04 章的 LoRA 正是同族数学:大表改动 = 细长条乘积)。
改完,「位于罗马」答对,周边事实的扰动被约束项压住。

它的后续 MEMIT(2023)12 把「一次改一条」扩成一次改几百条的流水线, 各行各改各的层位,互不打架——编辑从此从「手术」变成「流水线」。

路线③的账: 优点是真改了模型本体、泛化最好(新问法也认); 代价是要对每个模型做定位分析,且改本体的风险实打实存在——后续研究持续报告:一次改几百条之后,模型整体能力会出现回撤——这是三条路线里唯一「会伤无辜」的。

判断(我们的,不是书里的): 三条路线对应三种真实需求,不是优劣排序: 要绝对安全、常改常撤,用外挂记忆;要责任可审计的一条一条改,用加参数; 要「知识真的进了模型」且换问法也认,用改参数、配一次改几百条的流水线。 如果错,会错在: 如果后续评测证明某一条路线在三个标准上全面占优 (比如外挂记忆的泛化被新方法补齐),「按需求选路线」就该升级成「直接选它」。

5. 核心原理(下):应用与反噬——刀口也是手术灯

原书「模型编辑应用」一节收的五篇,一半是「用好」,一半是「照出问题」:

用好的一侧:

  • 概念提升(2022)13:顺着「前馈层存概念」的机制,证明这些概念能被搬运复用 ——解释性研究,把第 3 节的地基又夯实一层;
  • 去偏见:定位并缓解性别偏见14、以及一个专门改「偏见方向」的适配方法 DAMA15

照出问题的一侧(反噬):

  • 训练数据提取(2023)16:能从公开模型里整套套出它背过的训练文本, 包括重复几次的个人隐私——模型「记过什么」是可被审出,也是可被偷走的;
  • 隐私神经元(2023)17:顺着编辑的定位技术,找到模型里专门承载隐私的神经元并 定点清除——编辑技术长成了隐私治理工具。

这一节的读法要倒过来:不是「编辑有了应用」,而是「能定位知识」这件事本身, 同时打开了修正与攻击两扇门。 列表把两面都收进来,是这一章排布上最有洞察的一笔。

6. 编者的判断与证据

  • 四篇综述开路(简介一节12及另外两篇):说明截至 2023–2024, 这个方向已从「零星论文」长成「有成体系综述的领域」;
  • T-Patcher 与 ROME 各占一个专节:全列表只有这两个方法享受此待遇—— 编者把它们当「教材级案例」钉在两类路线的门口;
  • 「经典方法」一节把元学习综述(2021)18也收了:路线①的早期方法 (Editable NN、KnowledgeEditor、MEND)全部是元学习(学「怎么学」)思路, 收这篇综述等于承认这条思路的谱系。

7. 边界与局限

局限说明
评测口径未进列表「改得准/不伤无辜/问法泛化」三标准的基准(如 CounterFact 类数据集)没收,三条路线的成绩单要另找
一次改几百条的副作用报告缺席列表只收方法,不收「编辑多了整体能力下滑」的负面报告;本文按通用知识补了这句并已声明
与开卷考试的关系没点破「改一条知识」的另一条路是根本不改模型、外挂资料库(第 06 章的开卷考);列表把 ROME 也收进 RAG 一节19,算是暗暗点了这层关系,但没有论述
条目瑕疵「经典方法」一节里同一篇(ROME、MEMIT、Transformer-Patcher)在后面的专节里重复收录;SERAC 条目的链接指向一个站点页面而非论文 PDF

8. 可带走的

  1. 「改一条知识」要同时做到改准、不伤无辜、换个问法也认——重训太贵、微调会冲乱,才有了这个独立方向;
  2. 整章踩在一个发现上:前馈层像可查的表,知识可定位(第 01 章伏笔的兑现);
  3. 三条路线一句话记牢:外挂记忆不动本体、加参数补新神经元、改参数定位后动手术;
  4. 外挂记忆最安全但泛化差;改参数泛化最好但真会伤无辜——按「改错的代价」选路线;
  5. ROME 两步:随机干扰试探夹位置、最小改动动手术(数学上是 LoRA 的同族);
  6. MEMIT 把单条手术扩成流水线,几百条一次改;
  7. 定位技术是双刃剑:能改隐私,也能套出隐私——模型记忆的可审计性是被这个方向逼出来的议题;
  8. 「改一条知识」还有个不改模型的替代:开卷考试(下一章)——知道有这扇门,再决定动不动刀。

9. 原文地图

主题原书节原文位置
综述四篇模型编辑简介text/01-full.txt:697(搜「Knowledge Editing for Large Language Models」) · text/01-full.txt:703(搜「Problems, Methods, and Opportunities」)
理论前提两篇模型编辑经典方法text/01-full.txt:740(搜「Key-Value Memories」) · text/01-full.txt:743(搜「Knowledge Neurons」)
外挂记忆一线模型编辑经典方法text/01-full.txt:731(搜「Editable Neural Networks」) · text/01-full.txt:734(搜「Editing Factual Knowledge」) · text/01-full.txt:737(搜「Fast Model Editing」) · text/01-full.txt:713(搜「Memory-Based Model Editing」) · text/01-full.txt:725(搜「Aging with GRACE」) · text/01-full.txt:716(搜「Natural Language Patches」)
加参数一线附加参数法:T-Patchertext/01-full.txt:756(搜「One Mistake Worth One Neuron」) · text/01-full.txt:719(搜「Calibrating Factual Knowledge」)
改参数一线定位编辑法:ROMEtext/01-full.txt:763(搜「Locating and Editing Factual」) · text/01-full.txt:766(搜「Mass-Editing Memory」)
应用与反噬模型编辑应用text/01-full.txt:781(搜「Promoting Concepts」) · text/01-full.txt:773(搜「Scalable Extraction」) · text/01-full.txt:776(搜「Privacy Neurons」) · text/01-full.txt:785(搜「Gender Bias」) · text/01-full.txt:788(搜「Debiasing Algorithm」)

Footnotes

  1. 出处:「模型编辑简介」第 697 段(text/01-full.txt:697,搜「Knowledge Editing for Large Language Models」)。 2

  2. 出处:「模型编辑简介」第 703 段(text/01-full.txt:703,搜「Problems, Methods, and Opportunities」)。这一篇同时给出了编辑评测的协议(我们在 §2 引的三标准是它的通行概括,表述为通用知识)。 2

  3. 出处:「模型编辑经典方法」第 740 段(text/01-full.txt:740,搜「Key-Value Memories」)。Geva 等人 2021,与第 01 章 §3.3 引的是同一篇。

  4. 出处:「模型编辑经典方法」第 743 段(text/01-full.txt:743,搜「Knowledge Neurons」)。Dai 等人,2021 年投稿。

  5. 出处:「模型编辑经典方法」第 713 段(text/01-full.txt:713,搜「Memory-Based Model Editing」)。Mitchell 等人,2022。

  6. 出处:「模型编辑经典方法」第 737 段(text/01-full.txt:737,搜「Fast Model Editing」)。MEND,2022。

  7. 出处:「模型编辑经典方法」第 725 段(text/01-full.txt:725,搜「Aging with GRACE」)。2023。

  8. 出处:「模型编辑经典方法」第 716 段(text/01-full.txt:716,搜「Natural Language Patches」)。

  9. 出处:「附加参数法:T-Patcher」第 756 段(text/01-full.txt:756,搜「One Mistake Worth One Neuron」)。同一篇在「经典方法」一节先出现过(text/01-full.txt:722,搜「One Mistake Worth One Neuron」)。

  10. 出处:「模型编辑经典方法」第 719 段(text/01-full.txt:719,搜「Calibrating Factual Knowledge」)。

  11. 出处:「定位编辑法:ROME」第 763 段(text/01-full.txt:763,搜「Locating and Editing Factual」)。Meng 等人,2022。

  12. 出处:「定位编辑法:ROME」第 766 段(text/01-full.txt:766,搜「Mass-Editing Memory」)。MEMIT,2023。

  13. 出处:「模型编辑应用」第 781 段(text/01-full.txt:781,搜「Promoting Concepts」)。Geva 等人 2022(条目跨两行,题名后半在此行)。

  14. 出处:「模型编辑应用」第 785 段(text/01-full.txt:785,搜「Gender Bias」)。

  15. 出处:「模型编辑应用」第 788 段(text/01-full.txt:788,搜「Debiasing Algorithm」)。

  16. 出处:「模型编辑应用」第 773 段(text/01-full.txt:773,搜「Scalable Extraction」)。Nasr 等人,Google DeepMind 团队,2023。

  17. 出处:「模型编辑应用」第 776 段(text/01-full.txt:776,搜「Privacy Neurons」)。

  18. 出处:「模型编辑经典方法」第 728 段(text/01-full.txt:728,搜「Meta-learning in neural networks」)。

  19. 出处:「生成增强」第 914 段(text/01-full.txt:914,搜「Locating and editing factual」)。ROME 在检索增强一章的「生成增强」小节再次出现——编者暗示「编辑参数」与「外挂检索」是改知识的两条互替路径。