用户要求删除资料时,数据库可以删掉那一行,已经训练好的模型却不会跟着改。训练把大量样本的影响混进参数,一条记录没有独立文件名,也没有一个可以直接清空的格子。机器遗忘研究处理的就是这段落差,它要让模型尽量接近从未见过指定数据的状态。
我对照了 SISA 论文和语言模型遗忘评测 MUSE。最清楚的参照办法,是移除指定数据后从头训练一个新模型。这个办法计算成本高,却给出了该比较什么。任何快速遗忘方法都要回答两个问题,目标数据的影响还剩多少,其他能力又损失了多少。
先让一次删除少重训一些
SISA 会在训练前把数据分片,并把每个分片的训练过程分成若干段,期间保存模型状态。收到删除请求后,系统找到受影响的分片,从合适的状态重新训练,再把多个分片模型的结果合起来。单条数据影响的训练范围被提前限制,重做的工作便少了。
论文在 Purchase 数据集上报告 4.63 倍提速,在 SVHN 上报告 2.45 倍,比较对象都是从头重训。ImageNet 这类复杂任务上的提速为 1.36 倍,借助迁移学习时还有小幅准确率下降。这几组数字来自特定模型与数据,适合说明设计取舍,不能直接拿来估算一家公司删一份文档要多久。
大型语言模型通常采用近似遗忘。研究者继续训练或调整模型,让它降低对目标资料的复述和问答能力。麻烦在验收。模型拒答某些问题,可能只是学会避开测试问法;它若把整片知识都打坏,又会连带伤到正常用途。
六项检查比一次问答更可信
MUSE 把语言模型遗忘拆成六项性质。目标资料不能被逐字复述,相关知识也应降低,还要防止成员推断一类隐私泄露。目标之外的能力应当保留,方法要能处理较大的删除量,也要承受连续到来的删除请求。
研究者用这套标准检查八种常见算法和 7B 参数模型,材料包括书籍与新闻。多数方法能在不同程度上压低逐字记忆和知识记忆,只有一种方法没有造成严重隐私泄露。多种方法还会损伤通用能力,面对连续请求或大规模删除时表现不稳。
这份结果让我对“已经忘了”的产品说明格外谨慎。验收样本应包含目标原文、改写问法、成员推断攻击和保留集任务,并拿删数重训模型作参照。还要保存每次删除的对象、模型版本与测试结果。缺少这些记录,下一次模型更新后很难知道旧数据是否又被学回来。
机器遗忘提供了一条降低重训成本的研究路线。它目前更像一组需要多面验证的工程方法。少答几道题只能证明那几道题变了,无法独自证明数据影响已经清除。