忘掉一段知识,不用重训整个模型——ZeroUnlearn三步擦除敏感记忆
忘掉一段知识,不用重训整个模型——ZeroUnlearn三步擦除敏感记忆
> 来源:ZeroUnlearn: Few-Shot Knowledge Unlearning in Large Language Models,ICML 2026,https://arxiv.org/abs/2605.18879
---
一、问题:大模型记住了不该记的
训练数据来自全网。隐私信息、偏见内容、过时事实——LLM全吞进去了。法律规定可以要求删除(GDPR "被遗忘权"),但怎么删?
重训整个模型?算力成本天文数字。直接微调遗忘集?梯度上升(GA)会把模型搞崩,困惑度飙到1000+,通用能力全毁。
ZeroUnlearn说:不用重训,不用暴力微调。把知识遗忘当成精确编辑任务,只改一个FFN层的映射关系。
---
二、三项约束:正交、重映射、保用
ZeroUnlearn的优化目标只有三项:
| 项 | 作用 | 数学含义 |
|---|---|---|
| 零项 | 彻底擦除 | 更新后的表示与原敏感知识正交,相似度归零 |
| 遗忘项 | 重定向 | 敏感输入映射到中性目标(如 |
| 效用项 | 保留通用能力 | 未遗忘知识的输入-输出映射保持不变 |
---
三、乘性更新:左乘投影矩阵,非加性扰动
知识编辑传统做法是加性:W̃ = W + ΔW。ZeroUnlearn改乘性:W̃ = DW。
D是投影矩阵,通过SVD构造: 1. 对敏感知识矩阵M_f^T做SVD分解 2. 取正交投影矩阵P = I - VV^T 3. P位于M_f^T的右零空间:M_f^T P = 0
这意味着:更新后的权重与原始敏感表示天然正交。零项自动满足,无需额外优化。
闭式解(Lemma 4.1):
D* = P(A + W)W^T (W(B + I)W^T)^(-1)
其中A = M_n K_f^T + M_0 K_0^T,B = K_f K_f^T + K_0 K_0^T。
单步计算,无需迭代。
---
四、小样本就够了
ZeroUnlearn的厉害之处:50个样本,一步完成。
原因在零空间的维度。设隐藏维度d,遗忘样本数n(n << d)。M_f^T的秩r ≤ n。投影矩阵P的秩 = d - r ≈ d。零空间维度极高,遗忘集的"禁戒子空间"只是高维流形里一根细丝。修改被锁在这根细丝上,其余空间完全不动。
通用能力因此得以保全。
---
五、多样本:梯度变体ZeroUnlearn-GD
闭式解在小样本(n << d)时完美。多样本时矩阵求逆O(d^6)不可行。
ZeroUnlearn-GD改用加性扰动:W̃ = W + D_m,约束D_m位于保留知识K_0的右零空间。优化目标退化为凸函数,梯度下降保证收敛到全局最优。
复杂度从O(d^6)降到O(d^2)每轮。1000样本批量遗忘,Llama-3.2上Eff=0%。
---
六、实验: surgical级别的精确度
模型:Llama-3.2-3B、Llama-3.1-8B、Qwen-3-4B 数据集:MCF(关系对)、ZsRE(QA)、MQUAKE(多跳QA) 指标:
- Efficacy(Eff.):遗忘后生成原答案的概率,越低越好
- Generalization(Gen.):换种问法还能不能诈出来
- Specificity(Spe.):邻近知识有没有被误伤
- PPL:通用语言能力是否保持
| 方法 | Eff.↓ | Gen.↓ | Spe.↑ | PPL↓ |
|---|---|---|---|---|
| Base Model | 24.40 | 42.60 | 98.20 | 10.76 |
| GA | 0.00 | 0.00 | 0.20 | >1000 |
| FT | 0.00 | 0.00 | 0.00 | 34.40 |
| ROME | 24.40 | 37.40 | 99.40 | 10.80 |
| MEMIT | 24.00 | 41.00 | 96.20 | 10.79 |
| AlphaEdit | 0.00 | 0.00 | 91.00 | 12.93 |
| ZeroUnlearn | 0.00 | 0.00 | 90.40 | 11.05 |
ZsRE,Llama-3.2-3B,50样本:
| 方法 | Eff.↓ | Gen.↓ | Spe.↑ | PPL↓ |
|---|---|---|---|---|
| GA | 0.00 | 0.00 | 13.00 | >1000 |
| FT | 0.00 | 0.00 | 0.20 | 50.72 |
| ZeroUnlearn | 0.00 | 0.00 | 85.00 | 10.28 |
七、层定位:知识藏在FFN的中层
用Causal Tracing找知识存储位置。 corrupt主体表示→restore特定MLP层→看正确率恢复多少。
结果(图2):知识不在所有层均匀分布,集中在中层连续区间(Llama-3.1约第10-20层)。只编辑这些层,其余不动。
---
八、与现有方法的对比
| 维度 | 重训 | GA梯度上升 | FT微调 | ROME/MEMIT | ZeroUnlearn |
|---|---|---|---|---|---|
| 算力 | 天文数字 | 低 | 低 | 低 | 极低(单步) |
| 遗忘彻底性 | 完美 | 好 | 好 | 差 | 好 |
| 通用能力 | 保持 | 毁灭 | 毁灭 | 保持 | 保持 |
| 邻近知识 | 保持 | 毁灭 | 毁灭 | 保持 | 较好保留 |
| 理论保证 | 有 | 无 | 无 | 弱 | 闭式解+零空间 |
九、局限
- 目前只编辑FFN层。注意力层也存知识,尚未涉及
- 闭式解要求n << d。超大规模遗忘仍需梯度变体
- 遗忘集的构建依赖人工标注。自动化识别敏感知识仍是开放问题
- 对抗性提示(jailbreak)能否绕过ZeroUnlearn?论文未测
十、结语:知识编辑的范式迁移
ZeroUnlearn的核心贡献不是新算法,是问题重定义:把"机器遗忘"从优化问题改成编辑问题。
传统思路:怎么让模型"忘记"?→ 梯度上升、损失最大化、对抗训练。 ZeroUnlearn思路:怎么让模型"不输出这个答案"?→ 重映射到中性目标,同时让原表示物理不可达。
前者是减法,后者是替换。减法容易伤筋动骨,替换可以精确到单个神经元。
50个样本,一个FFN层,三步闭式解。敏感知识被投影到零空间——不是隐藏了,是方向本身被消除了。
> "忘掉一段记忆,不必清空整个大脑。找到那组神经元,让它们指向别处。"
---
参考来源
- ZeroUnlearn: Few-Shot Knowledge Unlearning in Large Language Models,ICML 2026,https://arxiv.org/abs/2605.18879
- 作者:Yujie Lin, Chengyi Yang, Zhishang Xiang, Yiping Song, Jinsong Su(厦门大学、国防科技大学)
#ZeroUnlearn #知识遗忘 #机器unlearning #模型编辑 #ICML2026 #LLM安全 #隐私AI #零空间投影 #闭式解 #记忆 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens