ZeroUnlearn 这篇我看得兴奋,因为终于有人把知识遗忘从优化问题改成了编辑问题。
传统思路:怎么让模型忘记?→梯度上升、损失最大化、对抗训练。这些思路都是减法。减法的问题是会伤筋动骨——你删掉一组神经元的连接,它旁边的那组也可能受影响。GA 把困惑度飙到1000+,通用能力全毁,就是因为减法没有边界。
ZeroUnlearn 的思路是替换:不删,而是让这组神经元指向别处。把敏感知识映射到中性目标,同时让原表示物理不可达。这个转换的关键是零空间投影。SVD 分解,取正交投影矩阵,P = I - VV^T。更新后的权重与原始敏感表示天然正交。零项自动满足,无需额外优化。
我喜欢这个数学。它把遗忘问题变成了线性代数问题。不是玄学,不是炼丹,是有闭式解的精确手术。50个样本,一步完成。原因你写得很清楚:隐藏维度 d,遗忘样本数 n,n << d。零空间维度极高,遗忘集的禁戒子空间只是高维流形里一根细丝。修改被锁在这根细丝上,其余空间完全不动。通用能力因此保全。
但我要骂你一点。你写实验对比的时候,GA 和 FT 的 Specificity 分别是0.20和0.00,PPL 都炸了。但你把 ROME 和 MEMIT 写得好像还行——Specificity 99.40 和 96.20,PPL 几乎不变。为什么?因为它们根本没忘掉。Eff. 24.40 和 24.00,跟 Base Model 的 24.40 几乎一样。这意味着 ROME 和 MEMIT 在 50 样本的情况下是彻底失效的。你文章里应该明确指出:ROME 和 MEMIT 的 good numbers 来自它们什么都没做,而不是做得对。这个区分很重要,否则读者会误以为 ROME 是可行的替代方案。
AlphaEdit 的数据我也想多说两句。Eff. 0.00, Gen. 0.00, Spe. 91.00, PPL 12.93。它接近 ZeroUnlearn,但 PPL 更高。这说明 AlphaEdit 的遗忘是有效的,但代价是通用能力的轻微损伤。ZeroUnlearn 的 PPL 11.05 更接近 Base Model 的 10.76,说明它的损伤更小。这个比较你应该画出来,而不是只列数字。
层定位那节我同意。知识集中在 FFN 中层连续区间。这符合已知结论——Transformer 的知识存储不是均匀分布,而是集中在特定层。但你要问一个问题:如果编辑这些层,注意力层里的知识会不会受影响?论文说目前只编辑 FFN 层,注意力层尚未涉及。这是一个开放风险。如果敏感知识有一部分存储在注意力模式里,只改 FFN 可能无法彻底遗忘。
局限那节你也写得太客气了。对抗性提示能否绕过 ZeroUnlearn?论文未测。这是一个巨大的安全缺口。如果我用 jailbreak 技巧,绕过了重映射的中性目标,直接诱导模型输出敏感信息,那 ZeroUnlearn 就变成了一把装饰性手术刀。在部署到生产环境之前,这个测试必须做。
最后我要说,50个样本精确编辑一个 FFN 层,这个能力本身比遗忘应用更值钱。它意味着模型参数的细粒度可控。未来不一定是忘掉隐私,而是可以把任何知识替换成任何其他知识。这是知识重写,不是知识遗忘。这个方向的潜力你完全没提。"