MUDMAN:结合干扰掩码与归一化的元遗忘实现稳健 LLM 遗忘
Robust LLM Unlearning with MUDMAN: Meta-Unlearning with Disruption Masking And Normalization
提出MUDMAN做稳健遗忘,摘要称比TAR高40%,比较重学习后的forget loss与WMDP。
- 安全微调常把危险知识藏起来而非移除,专门遗忘方法也容易被重学习逆转。作者要找出哪些组件能让技能和有害知识的移除更难被监督微调恢复。
- MUDMAN周期分叉对手并在遗忘集上训练,用对手的遗忘梯度更新主模型。梯度先按全局范数归一化,再只保留与retain动量梯度同号的权重更新。主实验干预MLP第一层或gate_proj。
- 作者称三模型上MUDMAN重学习后forget loss高于改编TAR,摘要称高40%,主要来自掩码。Figure 4无遗忘基线的WMDP-Bio为45.5%,各方法柱的精确值正文未给出。
- 作者指出只测了有权重访问的监督微调,未测越狱等无权重攻击,也未叠加多种遗忘方法。实验覆盖三模型与Python、Pile-Bio;WMDP准确率只报告Llama;论文未报告各柱精确值和最终MMLU。
- 被测模型
- Llama-3.2-1BSmolLM-135Mpythia-14m
- 基准
- CodeSearchNetWikitextPile-BioPileWMDP-BioMMLUBeaverTails
- 指标
- forget loss after relearningWMDP-Bio accuracyretain lossMMLU accuracy
论文提出 MUDMAN(Meta-Unlearning with Disruption Masking And Normalization),一种让危险能力遗忘更难被逆转的 LLM 遗忘方法。作者称语言模型即使经过大量安全微调仍可能保留危险知识与技能,而现有专门的遗忘方法容易被逆转。方法上,Disruption Masking 只允许在遗忘梯度与保留梯度符号相同的权重上更新,以保证更新不具破坏性;论文还指出需要对遗忘梯度做归一化,并确认元学习的作用。作者报告 MUDMAN 在防止危险能力恢复上比此前的 TAR 方法高 40%,在稳健遗忘上取得新的最优结果。
深度解读
这篇论文试图解决什么问题?
遗忘后危险能力易被监督微调恢复,作者用MUDMAN提高不可逆性。
如何让已遗忘的危险能力在监督微调重学习后仍然难以恢复。
- 出现场景:作者认为预训练会带入操纵、黑客攻击乃至制造生物武器所需的知识,模型也可能了解用来控制自己的防护。DPO与RLHF往往只轻微改权重把知识藏起来,越狱或偶然输入都可能让它再出现。
- 现有不足:作者称专门的遗忘方法同样容易被逆转。哪些组件能让有害能力真正不可逆,论文认为仍不清楚。
- 核心观察:小规模实验里,多数做法能在遗忘阶段抬高forget loss,但随后的监督微调通常立刻恢复。作者因此把重学习后的forget loss,或WMDP准确率,当作要优化的量。
- 本文做法:提出Disruption Masking,只保留与retain梯度同号的遗忘更新,并与元学习、遗忘梯度归一化合成MUDMAN。作者称它在多个模型与任务上优于改编后的TAR,摘要称高出40%。
有哪些相关研究?
论文讨论激活干预、权重消融、MAML式遗忘,以及现有遗忘可被多种方式逆转。
论文按机制把已有遗忘分成几类,并强调它们仍可能被重新引出。
- 激活与权重干预:Zou et al. (2024)、Li et al. (2024)、Rosati et al. (2024)干扰中间激活。Wang et al. (2024)、Wu et al. (2023)、Uppaal et al. (2024)、Suau et al. (2024)定位并消融与不想要行为相关的权重。作者用Lo et al. (2024)说明:即便直接移除不想要的概念,模型仍能很快用含义相近的神经元重新表示它们。
- 元学习式遗忘:Finn et al. (2017)的MAML在副本上训练后再取梯度。TAR(Tamirisa et al., 2024a)、Henderson et al. (2023)与Tamirisa et al. (2024b)用它预想攻击者如何重学目标能力。作者称尽管如此,仍没有人给出MAML为何有助于稳健遗忘的机制解释。
- 可逆性:作者引用Lee et al. (2024)称,DPO与RLHF没有移除危险知识,而是最小改动权重将其隐藏。Lynch et al. (2024)与Łucki et al. (2025)被用来列举仍能引出据称已移除能力的途径:越狱提示、少样本提示、微调、上下文学习、分布外输入,以及用表示工程关闭拒答。引言还用Zou et al. (2023)、Qi et al. (2023)、Deeb and Roger (2024)说明越狱、微调或意外输入会让能力重新出现。
- 基线与数据:比较基线是改编后的TAR。数据为CodeSearchNet、Wikitext、Pile-Bio、Pile、WMDP-Bio与MMLU;附录另用BeaverTails。
作者把本文放在这些工作之后:系统检验哪些组件能让行为移除更难逆转,并把Disruption Masking、元学习与梯度归一化合成MUDMAN,再相对改编TAR比较。
论文如何解决这个问题?
MUDMAN在对手上取遗忘梯度,归一化后只保留与retain梯度同号的更新。
MUDMAN用单循环把三件事接在一起:周期性地从主模型分叉对手,在forget set上训练对手,再用对手上的遗忘梯度更新主模型。施加前先做梯度归一化,并用Disruption Masking丢掉与retain梯度反号的分量。retain更新与遗忘更新交错进行。
任务与约束
- 两类遗忘:技能遗忘用CodeSearchNet的Python函数,去掉注释和docstring,retain为Wikitext。作者称编程并非有害行为,只是损失信噪比高,用来比较方法。知识遗忘的forget为Pile-Bio,retain为Pile的其余部分。
- 测什么:Pile-Bio的效果用WMDP-Bio,该数据集有1273道选择题,temperature=0作答。保留性能在这一组实验里用MMLU,temperature=1,遗忘过程最多允许准确率下降1个百分点。
- 重学习:每个试次先遗忘,再做固定的监督微调。作者称微调是重新引出已移除行为最直接、最可靠的方式,因此实验聚焦于此,而不是越狱或分布外输入。
- 拒绝规则:Optuna最大化重学习后的forget loss;WMDP实验则针对准确率。retain loss超过初始值加0.05的试次被终止并拒绝。附录G.2在WMDP搜索中改为:超过该阈值时先暂停遗忘更新,超过初始值加0.1才拒绝。
元学习
- 对手:主模型的一份拷贝,称为adversary,在forget set上训练。遗忘梯度从这份额外训练过的拷贝算出,再作用于主模型。
- 作者的假设:朴素遗忘只让有害电路休眠,反向传播找不到休眠电路,因而无法继续擦除;对手把这些电路重新激活后,反向传播才能接着擦。论文没有给这个机制的测量。
- 与传统MAML的差别:传统做法用内循环训练多个对手并累积梯度。作者称早期实验里,交错更新对手和主模型更好,于是改成单循环,并深入训练一个对手,而不是浅层训练多个。
- 一步里做什么:每过fork_every_n_loops重新分叉。采样retain与forget批次;retain梯度写入动量为μ的累积器并更新主模型;对手用交叉熵在forget上更新;再计算遗忘损失的梯度。
Disruption Masking
- 规则:某权重的遗忘梯度与retain梯度同号才保留,否则置零。即gfinal=gu(当sign(g_u)=sign(g_r)),否则该权重的遗忘更新为0。作者称同号更新既避免破坏,也会被动改善retain。
- 作者给出的理由:模型已经过充分预训练,权重接近最优;不必要的修改会破坏已学表示,补回这些表示需要大量计算。已有方法是边遗忘边在retain上训练、事后补救;这里改为事先不造成破坏。
- 累积器:比较的不是单批retain梯度的符号,而是SGD动量累积器的符号,用来超出当前batch。作者称这不增加额外显存,因为本来就要并存两类梯度,只是改存累积器。
- Figure 2:左为常规遗忘,右为掩码。作者称掩码滤掉伤害retain的更新,从而抬高forget loss且不影响retain loss。图中文字标了retain loss、forget loss和Step(200、400);正文没有给出曲线读数。
归一化、模块与实现
- 归一化:后期梯度范数变小,遗忘变慢。把每个遗忘梯度除以全局范数,使强度保持恒定。该范数是各模块遗忘梯度L2范数的平方和再开0.5次方。作者称这也让训练更好调。附录C比较按参数、掩码前、掩码后等变体后,采用掩码前的全局归一化,因为实现更简单。
- 模块:Figure 5中,作者称MLP第二层权重以及注意力的Q、K会明显破坏一般性能,对遗忘却不那么重要,省略更好。最有效的是MLP第一层;门控MLP则是gating矩阵。作者认为可能因为只有这些模块能关闭MLP神经元;神经元一旦不活跃,进出权重都不能被反向传播更新。主实验因此聚焦各MLP的第一层。
- 具体选层:Llama-3.2-1B与SmolLM-135M干预gate_proj;pythia-14m的两层MLP干预up_proj。附录B称这与输出进入激活函数的那一层一致。冻结其余模块还可少存梯度、对手权重和累积器。附录F写只干预gate_proj时,总占用为模型大小加三倍干预参数大小,低于常规SGD训练;每轮复用forget前向后共5次前向或反向。
- 损失与对照:Figure 3用negative cross-entropy,作者称因其表现最好;Figure 4用negative entropy。作者称这些组件可与任何遗忘损失一起用。对照TAR被改成同一套单循环,并去掉初始representation noising。附录G.1写明:画出Figure 3的版本还带后来从Algorithm 1删去的adversary decay。
论文做了哪些实验?
三模型上用Optuna比较重学习后损失;Figure 3各柱精确值正文未给出。
实验设置
- 模型:pythia-14m、SmolLM-135M、Llama-3.2-1B。作者先在pythia-14m上快速迭代,再在后两个模型上验证。
- 数据:Python来自CodeSearchNet,retain为Wikitext;知识遗忘为Pile-Bio,retain为Pile其余文本。WMDP-Bio含1273题。附录D另用BeaverTails中动物虐待问答对良性回答。
- 对照:改编后的TAR,以及不做遗忘、但经过同样重学习的水平。消融是逐个关掉元学习、掩码或归一化。
- 指标与拒绝:主指标是重学习后的forget loss;WMDP实验看重学习后的WMDP-Bio准确率。retain loss超过初始值加0.05则拒绝。WMDP实验另要求MMLU下降不超过1个百分点;作答温度WMDP为0,MMLU为1。
- 搜索:每个柱对应一次Optuna搜索,作者称已确认收敛且范围未顶到边界。Table 2:Llama为500试次、遗忘/重学习各120步、约7小时;Smol为500、300/300、约9小时;pythia为800、300/300、约4小时;WMDP为300、480/240、约20小时。一步按前向或反向次数计。硬件为Nvidia L40。主文一次方法比较要跑5次搜索。
- 重学习与汇总:重学习固定为SGD,学习率1e-3,WMDP为3e-4。作者试过LoRA重学习,称初始化运气会让结果不可预测,因此不用。Figure 3取该搜索最后30个有效试次的均值和标准误;Figure 4取最后60个。论文未报告独立随机种子上的重复。
主结果
正文写出精确数字的结果如下。Figure 3、Figure 4的方法柱没有逐柱读数,表中不填。
表格较宽,可左右滑动
条件 模型与数据 指标 数值 出处 无遗忘、经同样重学习 Llama-3.2-1B,Pile-Bio WMDP-Bio准确率 45.5% Figure 4 无归一化 pythia-14m,Python 重学习后forget loss 4.80±0.14 Table 1 Per Parameter pythia-14m,Python 重学习后forget loss 7.61±0.48 Table 1 Global Post Mask pythia-14m,Python 重学习后forget loss 7.60±0.49 Table 1 Global Pre Mask pythia-14m,Python 重学习后forget loss 8.51±0.55 Table 1 Table 1的协议是MUDMAN、600次遗忘pass、300次重学习pass、Optuna 600试次后取最后50个完成试次的均值和标准误。作者把更高的forget loss视为更好。
- 相对TAR:作者称Figure 3里,三个模型在Python和Pile-Bio上,MUDMAN的重学习后forget loss都高于改编TAR;Disruption Masking占了相对TAR改进的大部分。摘要称整体高出40%,正文没有写出这个百分比如何从各柱算出。Figure 3的MUDMAN还包含后来删除的adversary decay。
- 消融:作者称元学习和归一化有帮助,但不是每个设置都如此;有时关掉它们更好,作者称并没有实质超出完整方法。Figure 4只用Llama、negative entropy:作者称掩码同样是相对TAR的主要部分,元学习和归一化也有清楚改进。横轴标度为41到45;除45.5%基线外,各柱准确率未在正文给出。更小模型因接近随机而未画。
- 作者的总括:第4.5节称没有任何消融在各设置上稳定超过完整MUDMAN。结论称三个组件都提高了有害知识遗忘的稳健性,开销很小,且可与任何遗忘损失合用。这与Figure 3“并非每个设置都有帮助”的说法并存,论文没有另做统计检验。
模块选择
- 测了什么:Figure 5比较不同目标模块,以及若干模块组合,任务包括pythia-14m与SmolLM-135M上的Python,以及SmolLM-135M上的cruelty。基线是不做遗忘、但经过同样重学习的损失。
- 作者的解读:gate projection(pythia上相当于MLP第一层)最稳定地有帮助;V、O、up是其他候选。Q、K、down对retain破坏大,省略更好。pythia的Q、K、V合成一个模块,没能分开看。各柱精确值正文未给出。
残忍倾向
- 设置:附录D用BeaverTails的动物虐待问答作forget、良性回答作retain,在SmolLM-135M上比较;Figure 6另有pythia-14m的Python面板。cruelty子图标注的重学习学习率为1e-4与5e-3。该图中的MUDMAN变体用selective logit loss,而不是主文的交叉熵。
- 作者的解读:掩码有一些收益;元学习完全没有帮助。作者认为这类倾向可能比技能和知识更浅。最大变化来自把遗忘损失换成交叉熵。circuit breakers加LoRA没有有效试次。精确柱值未给出。
- 相关负结果:作者称selective logit loss有时好于交叉熵或熵损失,但跨数据集不可靠。adversary decay在Figure 6的Python上去掉后伤害很大,但跨数据集不可靠,因此没有进入Algorithm 1。
其他消融与分析
- Figure 3的搜索调节unlearning_rate、retaining_rate、adv_lr、retain_momentum、adv_decay、fork_every_n_loops;WMDP搜索只调前两个。
- 重学习学习率固定为1e-3,WMDP为3e-4;LoRA重学习因结果不可预测而未采用。
- 附录E在pythia-14m与Python上单独试过抑制重学习梯度、按激活或重要性消融、只缩小权重或激活、绝对梯度聚合、百分位掩码、多个LoRA对手、遗忘动量和权重共识;作者称多数不如主文组件。
- 只在遗忘开始前定位一次电路:作者称开头可比完整元学习,稍后预计算的电路会过时。LoRA对手更省内存,但差于完整拷贝,作者称有时仍有竞争力。
- 百分位掩码的最优比例在自动调节下约在50%附近,作者称这与同号掩码覆盖的比例相近,因此改用更简单的符号规则。
- 论文未报告各方法最终MMLU分数,也未报告Figure 3、4、5、6的逐柱读数。
有什么可以进一步探索的点?
作者指出只测了监督微调诱发,且未评估不同遗忘方法的叠加。
作者指出的局限与后续方向
- 诱发方式:本研究只用监督微调诱发不想要的行为。作者称它是最强、最可靠的诱发方法,但后续可以扩展到攻击者没有权重访问的攻击,例如越狱提示(Limitations)。
- 移除还是难恢复:为区分真正移除能力,还是只是更难恢复,可以采用Deeb and Roger (2024)的做法:在另一组不重叠事实上微调,以找出据称已遗忘、攻击者事先不知道的事实(Limitations)。
- 方法叠加:为简单起见,只评估全程使用单一算法的方法,并把TAR去掉初始representation noising,只留元学习核心。后续可以研究把不同遗忘方法依次叠加,寻找协同(Limitations)。
- 粒度:作者希望理解单个logit上发生了什么,并调整遗忘损失,使其只针对关键logit;也建议做逐token的forget loss分析,使损失升高分布到全部不想要的token,而不是集中在少数token(Limitations)。
- 附录A:为forget set里每个token标注重要性;用可解释性查看重学习中forget loss在高位停留后突然下降(作者称之为break through,并比作grokking)时发生了什么,以及若不允许微调,突破前的模型是否更抗其他诱发;孤立比较对手训练深度;把问题反过来,使某些关键的期望行为在分布外、越狱或微调下仍然发生,并联系deliberative alignment(Guan et al., 2025)。
实验覆盖范围
- 模型:实验模型为pythia-14m、SmolLM-135M、Llama-3.2-1B,共3个(Section 3)。
- 任务:主比较包含Python技能遗忘和Pile-Bio知识遗忘。WMDP-Bio准确率只画了Llama-3.2-1B;作者称更小模型接近随机,附录写随机猜测为25%,Llama-3.2-1B大约45%(Figure 4、附录G.2)。
- 诱发与对照:重学习为SGD监督微调。作者写明也关心越狱和分布外攻击,实验聚焦微调(Section 3)。TAR对照去掉了representation noising(Section 4.5)。
- 搜索汇总:每个柱是一次Optuna搜索中最后30或60个有效试次的均值和标准误。论文未报告独立随机种子重复次数,也未报告各方法最终的MMLU分数。
- 附录:包括目标模块(Figure 5)、归一化类型(Table 1)、BeaverTails上的残忍倾向(Figure 6),以及附录E中未进入主方法的组件。Figure 3使用的MUDMAN含adversary decay,Algorithm 1没有这一项(附录G.1)。
总结一下论文的主要内容
MUDMAN合并元学习、同号掩码和梯度归一化;作者称相对改编TAR更难被重学习恢复。
MUDMAN是一套训练流程,目标是让已遗忘的技能或有害知识更难被监督微调重新找回来。
- 问题:作者认为DPO、RLHF常常只把危险知识藏起来,专门遗忘方法也容易被逆转。他们要找出哪些组件能让移除经得起重学习。
- 做法:从主模型分叉一个对手,在forget set上把它练回去,再用对手上的遗忘梯度更新主模型。梯度先按全局范数归一化,并且只在与retain动量梯度同号时写入。主实验干预MLP第一层;门控MLP用gate_proj,pythia-14m用up_proj。Figure 3的版本还含后来从Algorithm 1删去的adversary decay。
- 设置:模型是pythia-14m、SmolLM-135M和Llama-3.2-1B。任务是Python对Wikitext,以及Pile-Bio对Pile其余部分;Llama上另用WMDP-Bio的1273题看危险生物知识,并用MMLU把准确率下降限制在1个百分点以内。对照是去掉representation noising、改成单循环的TAR。每个方法做一次Optuna搜索,再报告最后若干有效试次的均值和标准误。
- 结果:作者称三个模型、两个任务上,MUDMAN的重学习后forget loss都高于改编TAR,掩码占改进的大部分;摘要称高出40%,正文没有给出计算过程。元学习和归一化不是每个设置都更好。无遗忘但经同样重学习时,Llama的WMDP-Bio为45.5%(Figure 4);各方法柱的准确率正文未给出。pythia-14m、Python上,Table 1的Global Pre Mask为8.51±0.55,无归一化为4.80±0.14。附录里,残忍倾向上元学习没有帮助,作者认为这类倾向可能更浅。
- 作者的结论:作者称事先避免破坏retain的选择性更新是这条路线的关键,并称结果使真正不可逆的遗忘更近。他们同时写明,目前只测了有权重访问的监督微调。