LACUNA:你以为模型忘了,它只是装傻——首个参数级遗忘测试床戳破SOTA幻觉

# LACUNA:你以为模型忘了,它只是装傻——首个参数级遗忘测试床戳破SOTA幻觉 > **论文**:LAC...

LACUNA:你以为模型忘了,它只是装傻——首个参数级遗忘测试床戳破SOTA幻觉

> 论文:LACUNA: A Testbed for Evaluating Localization Precision for LLM Unlearning > 作者:Matteo Boglioni, Thibault Rousset, Siva Reddy, Marius Mosbach, Verna Dankers > 机构:Mila – Quebec AI Institute, McGill University > 链接:https://arxiv.org/abs/2607.02513 > 代码:https://github.com/McGill-NLP/LACUNA

一个让人后背发凉的场景

你是一家 AI 公司的安全主管。一位用户援引 GDPR「被遗忘权」,要求你们的大模型删除他留在训练数据里的电话号码。工程师跑了一遍 SOTA 遗忘算法,测试了一下:模型确实不再主动吐出那个号码了。你松了口气,在合规报告上签了字。

三个月后,有人对你模型做了一次微调——仅仅是在公开 PII 数据上继续训练了几步——那个「已遗忘」的电话号码又冒了出来。

这不是假设。这是 LACUNA 论文里描述的resurfacing attack(复现攻击)真实结果。

问题出在哪?出在「遗忘」这个词本身。你以为模型忘了,它可能只是装傻——把输出层的概率压低了,但存储那条知识的权重原封不动。

核心问题:输出层 ≠ 参数层

现有的遗忘评估有一个巨大的盲区:只看输出。模型不说了,就算遗忘成功。但「不说」有两种可能:

1. 真忘了:存储知识的权重被改了,知识从参数里抹掉了 2. 装傻了:权重没怎么动,只是输出层被调教得不再生成那段文本。稍微一微调,知识就「复现」了

这就像学生考试答对了,你不知道他是真懂了还是背了答案。你需要打开他的脑子看看。

LACUNA 做的就是这件事——打开模型的脑子,给遗忘精度做一次参数级的体检

LACUNA 怎么做到的:给知识装上 GPS

LACUNA 的核心创新是ground-truth parameter-level localization(参数级真值定位)

传统做法的困境是:你不知道模型把某条知识存在哪些权重里,所以你也没法判断遗忘算法有没有改对地方。LACUNA 的解法非常巧妙——既然不知道真实知识存在哪,那就自己注入一批知识,精确控制它存在哪些参数里

具体流程分三步:

Phase 1:注入。LACUNA 构造了一批合成人物的 PII(姓名、邮箱、电话等),用一种叫 masked continual pretraining(掩码持续预训练) 的技术,把这些 PII 注入到 OLMo2 1B 和 OLMo3 7B 模型的预定义参数子集里。关键在于那个 mask——它记录了「哪些权重参与了存储这些 PII」,就像给每条知识装了一个 GPS 定位器。

Phase 2:遗忘。让现有的 SOTA 遗忘方法(MemFlex、AlphaEdit、SimNPO)去尝试忘掉这批 PII,同时保留其他知识。

Phase 3:体检。这是 LACUNA 的杀手锏。因为你有 ground-truth mask,你可以直接算 localization precision(定位精度)——遗忘算法改的权重,和真正存储 PII 的权重,重合度有多高?用 ROC AUC 来衡量:1.0 是完美定位,0.5 是瞎改,<0.5 是专挑无关参数改。

戳破幻觉:SOTA 方法的定位精度接近随机

结果令人震惊。

方法类型定位精度 (AUC)
SimNPO梯度方法0.515
MemFlex定位+遗忘
AlphaEdit定位+遗忘
OracleGrad有真值辅助0.915

SimNPO 的 AUC 是 0.515——几乎和随机修改参数没有区别。也就是说,这个在输出层表现最好的 SOTA 方法,实际上是在整个模型里漫无目的地乱改权重,恰好把输出概率压低了,但存储知识的参数几乎没动。

MemFlex 和 AlphaEdit 更差,它们号称「先定位再遗忘」,但 LACUNA 的 ground-truth mask 揭示它们的定位基本不靠谱。

类比:这就像你说要拆掉一栋楼里的某面墙,结果你派去的施工队把整栋楼每面墙都敲了一点点,从外面看那面墙确实矮了(输出变了),但楼的结构完整性也毁了——而且那面墙的承重部分(存储知识的参数)根本没被拆掉。

复现攻击:装傻的代价

如果遗忘只是装傻,那微调一下就能把知识「复现」出来。

LACUNA 做了 resurfacing attack:对遗忘后的模型做一轮指令微调,然后看它会不会重新泄露 forget set 里的 PII。结果:

MemFlex 和 AlphaEdit:高度脆弱,forget set 里大部分 PII 都能被重新提取出来 – SimNPO:稍好一些,但仍有部分 PII 可复现 – OracleGrad抵抗力最强,泄露率最低

这直接证明了:定位精度越高,遗忘越彻底,越不容易被复现攻击击穿。OracleGrad 的 AUC 是 0.915,它真正改对了地方,所以知识被抹掉了,微调也救不回来。

OracleGrad:一个「作弊」的对照组

OracleGrad 不是论文提出的新方法,它是一个思想实验的对照——直接把 ground-truth mask 喂给一个最简单的梯度遗忘算法(Gradient Difference:forget set 上梯度上升,retain set 上梯度下降),只允许它改 mask 内的权重。

结果这个「作弊」的简单方法,在遗忘效果、utility 保留、抗复现攻击三个维度上全面碾压所有 SOTA。

论文的潜台词很清楚:问题不在遗忘算法本身,而在定位。如果你知道该改哪,一个最朴素的梯度方法就够了。SOTA 方法的问题不是遗忘算法不够好,而是它们根本不知道该改哪。

为什么这件事重要

1. 遗忘评估的范式转换

LACUNA 把遗忘评估从「看输出」升级到「看参数」。这就像医学从「看症状」升级到「看影像」——病人不发烧了不代表感染好了,你得看 CT 片子上病灶还在不在。

2. GDPR 合规的真实风险

如果你是企业的 DPO(数据保护官),你应该担心。你用的遗忘服务可能在输出层通过了测试,但参数里还存着用户的 PII。一次微调、一次继续训练,甚至一次 prompt engineering,都可能让这些数据重新泄露。LACUNA 提供了第一个能真正验证「参数级遗忘」的工具。

3. 对 AI 安全的更广泛启示

遗忘只是 AI 安全的一个子问题。LACUNA 揭示的模式——输出层评估会掩盖参数层的真实状态——可能适用于更多场景:

对齐评估:模型不说有害内容 ≠ 有害倾向被消除 – 后门清除:模型在正常输入下表现正常 ≠ 后门被清除 – 越狱防护:模型拒绝已知越狱 ≠ 理解了越狱的本质

任何只看输出的安全评估,都可能被「装傻」欺骗。

诚实评价

LACUNA 有它的局限:

1. 合成数据 vs 真实数据:LACUNA 注入的是合成 PII,真实世界模型训练时 PII 是自然散布在训练数据里的,存储位置可能更分散、更纠缠 2. 模型规模:只测了 1B 和 7B,百亿级模型的知识存储模式可能不同 3. mask 设计:mask 覆盖的参数比例会影响结论,论文也讨论了 mask coverage 的影响

但这些都是次要的。LACUNA 的核心贡献——给遗忘评估提供了第一个参数级的 ground truth——足以改变这个领域的评估范式。

结语

LACUNA 论文最深刻的一句话不是某个数字,而是一个区分:erasure vs obfuscation(抹除 vs 混淆)

真正的遗忘是 erasure——知识从参数里消失了,任何攻击都无法恢复。虚假的遗忘是 obfuscation——知识还在,只是输出层被调教得不再说而已。

LACUNA 告诉我们:目前所有 SOTA 遗忘方法,都还停留在 obfuscation 阶段。它们让模型学会了闭嘴,但没有让模型真正忘记。

下次有人告诉你「我们的模型已经成功遗忘了某条数据」,你应该问一个问题:你怎么知道它忘了,而不是装傻?

论文链接:https://arxiv.org/abs/2607.02513 代码仓库:https://github.com/McGill-NLP/LACUNA

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网 沪ICP备2024052574号-1