ZeroUnlearn:大语言模型中的小样本知识遗忘 ZeroUnlearn: Few-Shot Knowledge Unlearning in Large Language Models
通过零空间投影和乘法参数更新实现高效精准的大模型知识遗忘
前置知识
机器遗忘
机器遗忘是指在不重新训练模型的情况下,选择性移除特定训练数据对模型的影响,以符合隐私保护法规(如GDPR的被遗忘权)或内容审核需求。传统方法包括完全重训练(从剩余数据集重新训练,计算成本极高)和微调方法(通过梯度上升等优化技术降低遗忘数据的影响,但容易破坏模型的其他能力)。
理解机器遗忘是阅读本文的基础,因为本文的核心贡献就是提出了一种新的遗忘范式,需要读者对比现有方法的优缺点才能理解创新所在。
知识编辑
知识编辑是指在不修改整个模型的情况下,精确修改大语言模型中特定的事实知识。主流方法包括基于记忆的外部模块方法(如使用辅助模块覆盖原始预测)和直接参数优化方法(如 ROME、MEMIT 通过修改特定层的权重来更新事实关联)。知识编辑的核心思想是将模型中的知识表示为 (key, value) 对,通过编辑关键值存储来实现知识更新。
本文的核心创新就是将机器遗忘问题重新定义为知识重映射问题,因此读者需要理解知识编辑的基本原理,特别是 ROME/MEMIT 等方法如何通过修改 MLP 层的权重来编辑知识。
零空间投影
零空间投影是指将向量投影到与给定子空间正交的子空间中。对于矩阵 M,其右零空间是指所有满足 Mx = 0 的向量 x 的集合。通过奇异值分解 (SVD) M = UΣV^T,可以构建正交投影矩阵 P = I - VV^T,其中 P 将任何向量投影到 M 的右零空间中。在本文中,零空间投影用于确保更新后的表示与原始敏感知识正交。
这是本文方法的核心数学工具。零空间投影使得 ZeroUnlearn 能够在不破坏模型其他能力的前提下实现精准的知识遗忘,理解这一概念是掌握本文方法的关键。
因果追踪
因果追踪是一种模型解释性技术,用于量化神经网络中不同组件对特定输出的贡献。具体做法包括两个步骤:(1)破坏输入中主体的表示以降低模型对目标事实的预测概率;(2)在推理过程中恢复特定层的激活状态,观察正确答案概率的恢复程度。恢复程度越高,说明该层对该知识的因果影响越大。
本文使用因果追踪来定位存储目标知识的特定层,这是实现精准编辑的前提条件。读者需要理解这一技术才能明白为什么本文选择某些层进行编辑。
奇异值分解 (SVD)
奇异值分解是将任意矩阵 M 分解为 M = UΣV^T 的形式,其中 U 和 V 是正交矩阵,Σ 是对角矩阵。SVD 是线性代数中最重要的分解之一,广泛应用于数据降维、最小二乘问题等领域。在本文中,SVD 用于构造零空间投影矩阵,以及确定投影矩阵的秩。
本文的闭式解推导依赖于 SVD 的数学性质,特别是如何利用 SVD 构建投影矩阵。理解 SVD 有助于读者掌握方法的理论基础。
研究动机
现有的大语言模型遗忘方法面临严重的权衡困境。一方面,完全重训练虽然能实现精确的遗忘,但由于现代 LLM 参数规模巨大(数十亿到万亿级别)、预训练语料庞杂(万亿级 token),其计算成本高得令人望而却步,在实际应用中几乎不可行。另一方面,基于微调的方法虽然计算成本较低,但往往导致模型能力的灾难性遗忘。例如,梯度上升方法通过对遗忘集最大化损失来抑制输出,虽然能降低遗忘数据的影响,但会破坏模型的语言建模能力,导致困惑度爆炸式增长(PPL > 1000),同时也会误删语义相关但无害的邻域知识。知识编辑方法如 ROME 和 MEMIT 虽然在精确性方面表现出色,但它们的设计初衷是更新知识而非遗忘知识,因此在遗忘任务上表现不佳(在 Llama-3.1 上 Efficacy 仍高达 24.40%,几乎与基线模型相当)。
本文的目标是本文的目标是开发一种能够在小样本场景下实现高效、精准知识遗忘的方法,同时保持模型的整体效用。具体来说,作者希望实现三个目标:遗忘效果(Efficacy)低至接近 0%,模型的一般语言能力(通过 PPL 评估)保持稳定,以及对邻域知识(Specificity)的损害最小化。此外,作者还希望该方法能够扩展到多样本遗忘场景,并且具有可接受的计算复杂度,以便在实际部署中使用。
与已有工作不同的是,本文的独特切入角度是将机器遗忘重新定义为精确的知识重映射问题,而非传统的数据影响移除问题。作者观察到,知识编辑方法通过修改 (key, value) 对来更新事实知识,那么类似的技术是否可以用来遗忘知识呢?关键在于:与知识编辑(建立新的输入-输出映射)不同,遗忘需要同时满足两个条件:(1)将敏感输入重定向到中性目标(如 EOS 标记);(2)确保更新后的表示与原始敏感知识正交。这种双重约束是现有方法未曾考虑的,也是本文创新的核心。
核心方法
ZeroUnlearn 的核心思想是通过零空间投影和乘法参数更新来实现精准的知识遗忘。整体思路可以分为直觉和技术路线两个层面。从直觉上看,知识存储在 Transformer 的 MLP 层中,以 (key, value) 对的形式存在。要遗忘某个知识,我们既要让模型在面对这个 key 时输出一个中性的 value(而不是原来的敏感答案),又要确保新的表示与原来的表示完全不相关(正交)。技术路线上,本文采用乘法更新 \tilde{W} = DW,其中 D 是通过优化推导出的投影矩阵,通过 SVD 分解构造 D 的零空间约束,最终得到闭式解,实现一步优化。对于多样本场景,作者还提出了基于梯度的 ZeroUnlearn-GD 变体。
ZeroUnlearn 的核心创新点在于双重约束的乘法参数更新机制。与传统知识编辑方法(如 ROME)使用加法更新 \tilde{W} = W + \Delta W 不同,ZeroUnlearn 使用乘法更新 \tilde{W} = DW。这种选择的本质区别在于:加法更新会对所有权重进行扰动,容易破坏模型的其他能力;而乘法更新通过对权重矩阵进行旋转,可以在特定子空间中进行精确修改,同时保持其他子空间不变。更重要的是,ZeroUnlearn 的目标函数包含三个项:零项 $\|M_f^T \tilde{W}K_f\|^2$ 强制更新后的表示与原始敏感知识正交;遗忘项 $\|\tilde{W}K_f - M_n\|^2$ 将敏感输入重定向到中性目标 $M_n$(如 EOS 表示);效用项 $\|\tilde{W}K_0 - M_0\|^2$ 保持一般知识不变。这种设计与已有方法的本质区别在于:已有方法要么只关注遗忘(如梯度上升),要么只关注知识编辑(如 ROME),而 ZeroUnlearn 同时考虑了正交性约束和中性目标引导。
方法步骤详情
ZeroUnlearn 的方法步骤包括三个主要阶段:知识提取、矩阵构造和权重更新。在知识提取阶段,首先使用因果追踪定位存储目标知识的特定层(对 Llama-3.1/3.2,目标层位于中间部分;对 Qwen3-4B,目标层位置类似)。然后提取遗忘集 Ef 中的每个样本的 key 向量 $k_f$(通过对主体添加随机前缀后提取最后一个 token 的特征),构造遗忘集的 key 矩阵 $K_f = [k_{f1}, ..., k_{fn}]$。同时从 Wikidata 中采样 10^5 个条目构造效用集 E0,提取其 key 矩阵 $K_0$ 和输出矩阵 $M_0 = WK_0$。在矩阵构造阶段,计算目标-关联矩阵 $A = M_nK_f^T + M_0K_0^T$(其中 $M_n$ 是中性目标,如 EOS 标记的表示)和键二阶矩矩阵 $B = K_fK_f^T + K_0K_0^T$。然后对 $M_f^T$ 进行 SVD 分解得到 $M_f^T = U\Sigma V^T$,构造零空间投影矩阵 $P = I - VV^T$。在权重更新阶段,计算闭式解 $D^* = P(A + W)W^T(W(B + I)W^T)^{-1}$,然后将原始权重矩阵更新为 $\tilde{W} = D^*W$。整个过程只需要一步优化,不需要迭代训练。
技术新颖性
ZeroUnlearn 的技术新颖性体现在多个方面。首先,它首次将机器遗忘问题形式化为具有正交性约束的知识重映射问题,这与传统的优化驱动方法(梯度上升)或知识编辑方法有本质区别。其次,它提出了乘法参数更新范式 \tilde{W} = DW,并通过数学推导得到了闭式解,避免了迭代优化的计算开销。这个闭式解在数学上是优雅的:通过投影矩阵 P 确保更新在零空间中进行,通过 $(A + W)W^T(W(B + I)W^T)^{-1}$ 平衡了遗忘效果和效用保持。第三,本文从理论角度分析了小样本场景下零空间的高维性:当遗忘集大小 n 远小于隐藏层维度 d 时,零空间的秩为 d - r ≥ d - n,这意味着模型仍有大量的自由度进行更新,避免了容量压缩问题。最后,ZeroUnlearn-GD 扩展了该框架到多样本场景,通过将优化问题转化为 Sylvester 方程,提供了理论上的全局最优解(尽管计算复杂度较高,因此实际采用梯度下降近似)。
实验结果
在三个数据集(MCF、ZsRE、MQUAKE)和三个模型(Llama-3.2-3B、Llama-3.1-8B、Qwen3-4B)上的实验结果表明,ZeroUnlearn 在遗忘效果和效用保持之间实现了优异的平衡。在 MCF 数据集上使用 Llama-3.1 时,ZeroUnlearn 达到了 0.00% 的 Efficacy,意味着完全移除了目标知识,而 PPL 仅从 7.47 上升到 7.77,模型的语言能力基本保持不变。相比之下,梯度上升(GA)方法虽然也达到了 0.00% Efficacy,但 PPL 爆炸增长至 >1000,完全破坏了模型能力;ROME 的 Efficacy 为 24.40%,几乎与基线模型相同,无法有效遗忘;AlphaEdit 的 Efficacy 为 0.20%,但 Specificity 为 19.74%,对邻域知识造成了较大损害。在 ZsRE 数据集上,ZeroUnlearn 的 Efficacy 为 32.67%,略高于 GA(1.20%)但远低于基线(40.71%),同时 PPL 保持稳定(7.76 对比基线 7.47),Specificity 为 29.67%,明显高于 GA(0.26%)和 FT(0.00%)。在多样本遗忘场景中,ZeroUnlearn-GD 在 MCF 上达到了 0.00% Efficacy,同时 PPL 为 13.05(基线为 12.88),虽然 Specificity 下降至 12.41%,但仍远优于 GA(0.00%)和 FT(0.00%)。PCA 可视化结果显示,ZeroUnlearn 的表示显著偏离原始分布,形成了独立的簇,而 AlphaEdit 和 MEMIT 的表示与原始表示高度重叠,说明它们未能根本改变知识的内部编码。下游任务评估(SST、MMLU、MRPC、COLA、RTE、NLI)表明,ZeroUnlearn 在所有任务上的准确率与基线模型相当,而 GA 和 FT 则出现了灾难性遗忘。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| MCF 知识遗忘 (Llama-3.1) | Efficacy (越低越好) | 0.00% | GA: 0.00%, ROME: 24.40%, AlphaEdit: 0.20% | 相比 ROME 提升 24.40%,与 GA 持平但效用保持更好 |
| ZsRE 知识遗忘 (Llama-3.1) | Specificity (越高越好) | 29.67% | GA: 0.26%, FT: 0.00%, ROME: 21.86% | 相比 GA 提升 114 倍,相比 FT 无限倍(FT 为 0) |
| MCF 语言能力保持 (Llama-3.1) | PPL (越低越好) | 7.77 | GA: >1000, FT: 63.70, ROME: 7.48 | 相比 GA 保持稳定,相比 FT 提升 88% |
| 多样本遗忘 MCF (Llama-3.2) | Efficacy (越低越好) | 0.00% | GA: 0.00%, MEMIT: 13.80%, AlphaEdit: 1.40% | 相比 MEMIT 提升 13.80%,与 GA 持平但效用保持更好 |
| 下游任务准确率 (Llama-3.2 平均) | 准确率 | 与基线相当 | GA: 接近 0, FT: 显著下降 | 避免了 GA 和 FT 的灾难性遗忘 |
局限与改进
作者承认的主要局限性包括:在多样本遗忘场景中,ZeroUnlearn-GD 的 Specificity 会显著下降(例如在 Llama-3.2 的 MCF 数据集上从 20.59% 降至 12.41%),这是为达到完美遗忘而做的权衡;同时,closed-form 解的计算复杂度在大规模数据集上可能成为瓶颈,因此需要使用梯度下降近似。此外,作者观察到零空间投影虽然在理论上确保了正交性,但在实践中,当遗忘集样本间的语义相关性较强时,投影可能无法完全消除所有敏感知识的痕迹。我自己的观察包括:方法依赖于准确的知识定位(因果追踪),如果定位不准确,遗忘效果可能大打折扣;方法目前主要针对事实型知识(三元组形式),对于更复杂的推理知识或隐式偏见可能需要扩展;论文中使用的遗忘集规模相对较小(50-1000 样本),在更大规模上的表现有待进一步验证;此外,方法对超参数(如目标层选择、中性目标选择)较为敏感,不同模型架构可能需要不同的配置。
独立分析的弱点
ZeroUnlearn 存在几个可以改进的弱点。首先,在多样本遗忘场景中,Specificity 显著下降,这意味着模型会误删一些与遗忘集语义相关的无害知识。改进方向可以是引入更精细的零空间约束,或者使用层次化投影来区分不同语义子空间。其次,方法对知识定位的准确性高度依赖,如果因果追踪定位的层不正确,遗忘效果会大打折扣。改进方向可以是开发更鲁棒的定位方法,或者使用多层的联合更新策略。第三,closed-form 解在理论上优雅,但在实际计算中涉及大矩阵的 SVD 分解和矩阵求逆,对于大型模型(如 70B 参数)可能成为计算瓶颈。改进方向可以是开发近似算法或分布式计算策略。第四,方法目前主要针对显式的事实知识(以三元组形式表示),对于隐式的偏见、有毒内容或推理模式可能需要扩展框架。改进方向可以是结合表示学习技术来捕获和删除更抽象的知识模式。第五,方法的泛化能力在不同模型架构上的表现不一致,例如在 ZsRE 数据集上,Qwen3 的 Efficacy 下降不如 Llama 系列显著。改进方向可以是针对不同架构设计自适应的更新策略。
未来方向
作者提出的未来工作方向包括:扩展方法到更多类型的知识遗忘,如多跳推理知识、程序性知识或语言偏见;探索更高效的大规模遗忘算法,可能结合稀疏更新或低秩近似;研究遗忘效果的验证和审计方法,确保遗忘的彻底性;将方法应用于实际场景,如内容审核平台或隐私合规系统。基于本文成果,可以延伸的研究方向包括:结合对抗性训练来增强遗忘的鲁棒性,防止模型通过其他路径回忆起被遗忘的知识;研究遗忘与知识注入的联合优化,实现动态的知识管理;开发增量遗忘算法,支持持续的学习和遗忘过程;探索跨模态的遗忘(如视觉-语言模型);研究遗忘的社会影响和伦理问题,建立遗忘的标准和规范。
复现评估
论文提供了代码链接(https://github.com/XMUDeepLIT/ZeroUnlearn),这大大提高了复现的可能性。论文详细描述了实验设置,包括基线方法的实现细节(GA、FT、ROME、MEMIT、AlphaEdit)、数据集的构造方法(MCF、ZsRE、MQUAKE)和评估指标的计算方式。论文还提供了完整的算法伪代码(Algorithm 1),使得实现细节清晰。然而,复现仍面临一些挑战:实验使用的模型(Llama-3.2-3B、Llama-3.1-8B、Qwen3-4B)都是较大的模型,需要显著的 GPU 资源;论文未报告硬件设置,使得估计计算成本困难;某些超参数(如目标层选择的具体标准、中性目标的构造方式)在正文中描述不够详细,可能需要查看代码实现。论文报告了详细的实验结果(包括标准差),这有助于评估结果的稳定性。总体而言,在具有足够算力资源的情况下,复现该工作是可行的,但可能需要一定的时间来调试和理解实现细节。
论文图表