Unlearned but Not Forgotten: Data Extraction after Exact Unlearning in LLM
背景知识地图
1 大模型训练主线
Goal: 模型为什么会学进去某些东西,以及后来为什么还要继续改它。
模型一般怎么来?
pretraining 是什么?
用海量文本让模型做下一个 token 预测
大模型绝大多数知识和语言能力都是这一步学来的,很多后面的问题都从这里开始
1 模型为什么会记住数据
2 模型为什么会学到不该学的内容
3 为什么删除训练数据这么难
supervised fine-tuning 是什么?
监督微调,拿一批“问题 - 理想回答”样本,继续训练模型,让它更像助手、更会按指令回答。
预训练模型会“会说话”,但不一定“会听话”。SFT 是把“语言模型”往“助手模型”推进的第一步。
Pretraining → SFT → 偏好优化 / RLHF
DPO / PPO / GRPO 这些通常不是直接接在预训练后面,而是在 SFT 之后
alignment 是什么?
让模型输出更符合人类期望(有帮助、诚实、安全、符合格式要求、少胡说八道)。
能力强不代表行为好!模型可能知识很多,但是回答不稳定、啰嗦、冒险或不符合用户意图。
RLHF 是什么?
Reinforcement Learning from Human Feedback 从人类反馈中学模型该怎么回答。
1 模型先生成多个回答
2 人类比较哪个更好
3 根据这些偏好训练一个奖励信号
4 再用强化学习更新模型
RLHF是现代对齐方法里的核心传统路线。
为什么会有 DPO、PPO、GRPO 这些方法?
DPO、PPO、GRPO 这些,本质上都是对齐阶段常见的方法,把模型行为调得更符合偏好。
非常粗的关系:
PPO:经典 RLHF 里常见的策略优化器
DPO:绕开传统 RLHF 里比较重的 RL 部分
GRPO:还是 RL 路线,但试图比 PPO 更轻
DPO(Direct Preference Optimization):用偏好对直接优化模型,更像直接做偏好学习。不走完整 RLHF 流程,而是直接根据回答 A 比回答 B 好来优化模型。对这种 prompt,你应该更偏向优选回答,少偏向劣选回答。把偏好优化变得更直接、更工程友好。常被看作比传统 RLHF 更简单的替代方案。
PPO(Proximal Policy Optimization):带约束的策略优化,强化学习里的策略优化算法。常被用来根据奖励信号更新模型,让模型更倾向生成高奖励回答。不是让模型一次改很多,而是让模型小步、受约束地更新。如果更新太猛,模型很容易崩。用奖励来推模型往更好的行为走,同时限制每一步不要偏太远。一般会和 reward model、value model、advantage 这些词一起出现。
GRPO(Group Relative Policy Optimization):不靠 critic、基于组内相对奖励的 PPO 变体。对同一个问题,模型一次生成一组答案,然后根据这组答案之间的相对好坏来更新模型。不一定需要单独训练一个 critic / value model,而是利用组内比较来得到哪些答案相对更值得鼓励。工程上更轻,特别适合数学、代码、可验证任务,可以通过组内相对奖励来优化 reasoning。
2 记忆和泄露
Goal: 为什么训练过会变成隐私/安全问题。
模型为什么会记住训练数据?
memorization 是什么?
data extraction 是什么?
membership inference 是什么?
这些攻击到底在测什么风险?
** memorization:模型记住训练样本**
模型在训练过程中,不只是学会规律,有时还会把某些具体训练样本记进去。比如它可能不是泛化地学会某种写法,而是真的记住了一段原文、一个电话号码、一个特定样本格式。这直接通向隐私和安全问题。如果模型记住了训练数据里的敏感内容,那就可能被攻击者诱导出来。
extraction:把模型记住的内容诱导出来
设计 prompt、搜索策略、采样方式等,试图把模型记住的训练内容套出来。模型不是把记忆明着摆出来,而是藏在参数里。所以攻击者要做的是找到能把这些记忆触发出来的方式。这样就把模型记住的数据变成数据泄露,memorization → extraction risk。这篇文章是在研究做了 unlearning 之后,这种 extraction 风险是否真的消失?
3 unlearning
Goal: 如果模型已经学了不该学的东西,能不能把它拿掉。
machine unlearning 的目标是什么?
exact unlearning 和 approximate unlearning 的差别?
为什么删掉数据不等于模型忘了?
如何评估真的没有?
unlearning:让模型像没见过某些数据一样
让模型尽量像没见过某些数据一样,尽量移除这些数据对模型参数和行为的影响。
真实世界里会有这类需求用户要求删除数据、某批数据后来发现有问题、某些敏感内容不该继续保留、合规或隐私要求必须处理。所以这是假设泄露了或者可能泄露,能不能让它忘掉。
exact unlearning:用更严格方式逼近真的没见过
目标是让处理后的模型,尽可能等价于如果当初训练时就没见过这批要删除的数据,最后会得到的那个模型。它常被视为很强的 gold standard,因为它比随便弱化一下影响更严格。即使做到了 exact unlearning,只要攻击者还能看到 unlearning 前后的模型差异,还是可能extraction。其实连最强的 exact unlearning,在某些 threat model 下也未必足够安全。
4 Unlearned but Not Forgotten: Data Extraction after Exact Unlearning in LLM
即使你做了 exact unlearning,只要攻击者还能访问 unlearning 前后的模型,是否仍然能通过差分把被删数据抽出来?
前置概念:
模型会记忆数据
攻击者可以做 extraction
unlearning 试图移除影响
exact unlearning 被视作强基线
但 threat model 改变,结论就会变化
挑战一个很多人默认接受的前提:即使做了“exact unlearning”(把忘掉的数据从头重训去掉),也不一定真的安全。 论文指出,在一个更现实的部署场景里,如果攻击者同时拿得到 unlearning 之前 和 unlearning 之后 的模型或 logits,那么他可以利用两者的差异,把本来想“忘掉”的数据重新抽出来。
传统看法:
exact unlearning = 金标准,因为模型是“重新训练且不含目标数据”的。
这篇论文说:
如果旧 checkpoint 还在,或者旧 logits 已经被别人存下来了,那么新旧模型的差异本身,反而会泄露被删除数据的痕迹。
方法大意是两步:
1 用 pre-unlearning model 去“引导” post-unlearning model 生成
2 再加一个 token filtering,只保留 pre-unlearning model 认为概率较高的 token
生成会更容易沿着被删除数据原本的分布走,从而提升 extraction 成功率。论文在 MUSE、TOFU、WMDP 上都做了实验,并声称在一些设置里,提取成功率能比基线方法翻倍。

浙公网安备 33010602011771号