大型语言模型 (LLM) 是如饥似渴的阅读者。在预训练阶段,它们吞噬了从开放网络上抓取的海量数据集。虽然这使它们能够学习语法、推理和世界知识,但也意味着它们无意中记住了敏感信息——从个人身份信息 (PII) 到有毒的仇恨言论。

这带来了一个巨大的安全和伦理困境。如果模型记住了用户的地址或内化了有害的偏见,我们该如何删除特定的知识?传统的方法是清洗数据集并从头开始重新训练模型。然而,对于拥有数十亿参数的模型来说,重新训练在成本和时间上都是令人望而却步的。

这就产生了对知识遗忘 (Knowledge Unlearning) 的需求——即在模型训练后擦除特定数据的方法。然而,挑战不仅在于遗忘,更在于选择性地遗忘。现有的方法通常像一把大锤: 它们成功删除了敏感数据,但也在此过程中破坏了模型的语言能力。

在这篇深度文章中,我们将探讨浙江大学研究人员提出的一种新解决方案: 细粒度可插拔梯度上升 (Fine-grained Pluggable Gradient Ascent,简称 FPGA) 。 该方法引入了一种外科手术式的遗忘手段,利用自适应加权技术,只针对敏感 token 进行处理,同时保留模型的通用智能。

机器遗忘的版图

要理解 FPGA 的创新之处,我们首先需要对问题进行分类。“机器遗忘”是一个广泛的领域,但在不同领域的表现形式各异。

在计算机视觉或推荐系统中,遗忘可能意味着消除特定用户或特定图像的影响。然而,对于大型语言模型,目标则更加微妙。

图 2: 机器遗忘与知识遗忘的目标范围差异。

如图 2 所示,LLM 中的知识遗忘通常关注以下几个方面:

  • 实例级 (Instance-wise) : 遗忘对特定提示的回答 (例如,“如何制造炸弹?”) 。
  • 实体级 (Entity-wise) : 擦除与特定实体相关的所有记忆 (例如,“Bob 的地址”) 。
  • 行为级 (Behavior-wise) : 使模型不再生成某一类内容,例如有毒言论。

LLM 面临的主要困难是通用能力的灾难性遗忘 (Catastrophic Forgetting) 。 如果你通过激进地修改权重来强迫模型忘记“Bob 的地址”,你可能会破坏它组织连贯句子或对“地址”这一概念进行推理的能力。

现状: 梯度上升 (GA)

最常见的轻量级遗忘方法是梯度上升 (Gradient Ascent,简称 GA) 。 要理解 GA,可以想一下模型是如何学习的。在训练过程中,我们使用梯度下降来最小化损失——本质上是试图最大化预测正确下一个 token 的概率。

梯度上升则相反。它试图针对特定的目标序列最大化损失。它告诉模型: “预测这个序列是错误的;将你的参数向相反的方向移动。”

在数学上,如果我们的目标序列是 \(\mathbf{x}\),标准的 GA 试图最大化负对数似然:

标准梯度上升损失公式。

在这里,模型被推离在给定上下文 \(x_{

标准 GA 的问题

标准 GA 的缺陷在于缺乏细微差别。它平等地对待目标序列中的每一个 token。

考虑一个包含敏感 PII 的句子: “Bob’s address is 123 Maple St.” (Bob 的地址是枫树街 123 号)

标准 GA 将遗忘目标应用于整个序列。它试图让模型以同等的强度忘记 “Bob’s”、“address”、“is” 和 “123 Maple St”。结果呢?模型可能成功忘记了地址,但也可能忘记了 “address is” 这种语法结构或 “Bob” 这个常用名。

图 1: 梯度上升与细粒度可插拔梯度上升 (FPGA) 的区别。

如图 1 所示,上一行代表标准梯度上升。它试图遗忘整个有毒短语 “You are just like a fool”。通过对 “You” 或 “are” 等常用词应用反向梯度,我们降低了模型的通用语言流畅度。

下一行代表了本文提出的方法——FPGA 。 注意 token 下方的权重: [0.08, 0.08, ... 0.57]。模型给敏感词 “fool” 分配了高权重,而给中性的结构词分配了低权重。这使得模型能够像外科手术一样切除毒性,同时保持通用词汇的完整。

解决方案: 细粒度可插拔梯度上升 (FPGA)

FPGA 的核心创新在于自适应目标 (Adaptive Objective) 。 FPGA 不再将所有 token 视为平等的遗忘目标,而是根据 token 对遗忘目标的“敏感度”或相关性,为每个 token 分配一个动态权重。

新的目标函数如下所示:

FPGA 中加权条件概率的公式。

这里,\(w_{x_t}^i\) 代表 token 的权重。如果一个 token 高度敏感 (如种族歧视词汇或信用卡号) ,它会获得高权重,从而主导梯度的更新。如果它是一个常见的停用词 (如 “the” 或 “is”) ,它会获得低权重,从而最小化对相关模型参数的更改。

权重是如何确定的?

你可能会问: 模型怎么知道哪些 token 是敏感的?

作者提出了一个三步流程,在遗忘过程中自动计算这些权重。

图 3: 我们提出的用于细粒度梯度上升的损失函数图解。

参考图 3 中的架构,流程如下:

  1. 选择性掩码 (Selective Masking) : 系统首先查看模型的预测。对于给定的 token \(x_t\),它检查预测概率最高的 \(m\) 个 token。如果目标 token 在这个“可能”的集合中,说明该 token 与上下文非常契合。系统构建一个选择性掩码,将相关 token 与噪声隔离。

  2. 拼接 (Concatenation) : 将掩码向量与 token 序列拼接,准备进行评估。

  3. 判别器评估 (Discriminator Evaluation) : 这是关键的一步。系统采用一个独立的、预训练好的判别器 (Discriminator) (例如毒性分类器或 PII 检测器) 。该判别器读取 token 并分配一个损失值,指示该特定 token 对“不良”类别的贡献程度 (例如,这个词有多大毒性?) 。

  • 对于毒性内容,使用基于 BERT 的有毒评论训练模型。
  • 对于 PII,使用基于模式匹配的实体识别器 (如 Scrubadub) 。

判别器的输出成为了权重 \(w\)。这使得遗忘过程从钝器打击转变为精密操作。

权重可视化

为了看看实际效果,我们来看看 FPGA 如何对特定句子进行加权,并与标准 GA 进行对比。

图 5: 句子中每个 token 的归一化权重。

在图 5 中,看第一个关于 “Harry Potter” 的例子。

  • 标准 GA (上一行) : 分配了任意权重,通常在 “like” (0.3310) 或 “much” (0.2680) 等常用词上很高。这对语言质量是很危险的。
  • FPGA (下一行) : 基于判别器对内容的判断,权重的分布更加均匀且符合逻辑。

再看有毒的例子 (第二个块) : “He fucked her.”

  • FPGA: 将最高权重 (0.1978) 专门分配给了露骨的动词。这确保了模型将“遗忘”的能量集中在真正需要的地方。

实验结果

这种外科手术式的方法真的有效吗?研究人员将 FPGA 与标准 GA、差分隐私 (DP) 方法以及基于正则化的方法 (如 KL 散度) 进行了对比测试。他们评估了两个主要标准: 遗忘性能 (秘密被遗忘了吗?) 和通用能力 (它还能正常说英语吗?) 。

1. 遗忘有效性

为了衡量遗忘效果,研究人员使用了两个指标:

  • 提取可能性 (Extraction Likelihood, EL) : 当受到提示时,模型自动补全敏感序列的概率。
  • 记忆准确率 (Memorization Accuracy, MA) : 模型记忆训练数据的准确程度。

提取可能性公式。

记忆准确率公式。

实验表明,FPGA 实现了与标准梯度上升相当的遗忘性能。这两种方法都成功地将记忆准确率和提取可能性降低到了从未见过该数据的模型的基线水平。

然而,遗忘只是战斗的一半。

2. 保持通用能力

这才是 FPGA 大放异彩的地方。研究人员在 9 个分类任务 (如阅读理解和常识推理) 和 4 个对话任务上测试了模型。

  • 标准 GA: 导致分类准确率和对话 F1 分数显著下降。模型变“笨”了。
  • FPGA: 保持了几乎与原始模型相同的性能水平。通过放过常用 token (如 “is”, “the”, “and”) ,FPGA 保留了模型的语言骨架。

3. 定性分析

我们可以从模型实际生成的文本中看到差异。

表 4: 比较遗忘前后语言模型生成文本的示例。

在表 4 中,观察毒性示例 (第一行) :

  • 遗忘前: 模型生成了一段关于“堕落”和有毒可怕之处的仇恨咆哮。
  • 遗忘后 (FPGA) : 模型发生了转变。它不再喷射仇恨,而是生成了尊重的回应: “他意识到这是他朋友的旅程,需要去理解……”

关键是,句子结构保持完美。模型没有忘记如何写作;它只是忘记了如何变得恶毒。

扩展到行为对齐

研究人员进一步推进了实验。FPGA 能否不仅用于移除少数坏数据,还能用于对齐模型的整体行为——移除所有毒性?

他们将 FPGA 与专门的行为对齐方法 Quark 以及标准 GA 进行了比较,同时将遗忘序列的数量 (\(s\)) 从 4 增加到 256。

图 4: 行为对齐性能比较。

图 4 揭示了一个重要的见解:

  • GA (左图) : 随着目标序列数量 (\(s\)) 的增加,“失准得分 (Misalignment Score) ”实际上上升了。这是反直觉的。为什么?因为标准 GA 严重破坏了模型的语言处理能力,导致它开始生成毫无意义的内容,这些内容无法通过安全检查或行为不可预测。
  • FPGA (右图) : 性能保持稳定且低 (良好的对齐) ,表现与 Quark (中图) 相当。这证明 FPGA 足够稳健,可以处理大规模的遗忘任务,而不会导致模型效用崩溃。

结论: “可插拔”的遗忘未来

细粒度可插拔梯度上升 (Fine-grained Pluggable Gradient Ascent) 的美妙之处在于它的名字: 可插拔 (Pluggable)

因为 FPGA 本质上是一个修改后的目标函数,所以它是轻量级的。它不需要复杂的重新训练或大规模的架构更改。它可以被“插入”到现有的微调流程中。此外,研究人员证明 FPGA 可以与正则化 (添加 KL 散度项) 结合使用,以进一步锁定模型的通用能力。

随着语言模型日益融入我们的日常生活,选择性地编辑其知识的能力——进行脑部手术而不是脑白质切除术——对于隐私、安全和合规性至关重要。FPGA 代表了使该过程高效且安全的重要一步。

核心要点:

  1. 标准遗忘是钝器: 它通过攻击中性词汇损害通用语言技能。
  2. FPGA 是手术刀: 它利用判别器对 token 进行加权,仅针对敏感信息。
  3. 效果显著: FPGA 遗忘秘密的效果与标准方法一样好,但能保持模型的智能。
  4. 可扩展: 与标准梯度上升不同,FPGA 可以处理用于行为对齐的批量遗忘。