如何让LLMs“忘记”指定的信息?【微软研发遗忘术】
微软研究院的最新研究探讨了大型语言模型(LLMs)如何“遗忘”已学习的信息,特别是版权内容。研究团队尝试让Meta训练的Llama2-7b模型忘记哈利·波特系列,通过一系列技术实现了目标内容的遗忘,同时保持了模型在其他任务上的性能。这项工作不仅展示了技术的可能性,也对未来LLMs的道德、法律和责任问题提出了新的思考。
论文链接:https://arxiv.org/pdf/2310.02238.pdf
Readpaper链接:https://readpaper.com/paper/4807150070629662721
模型链接:https://huggingface.co/microsoft/Llama2-7b-WhoIsHarryPotter

可以看出,经过“遗忘微调”之后的模型,完全记不起来和哈利波特有关的内容了。不过倒是有意思的是,似乎发现了一个叫做哈利波特的英国作家,搞不好是同名。
1. AI时代的遗忘挑战
LLMs在学习新信息时面临版权、隐私、偏见和虚假数据等问题。遗忘已学习的有问题数据并不像学习那样直接,且重新训练成本高昂。比如,该模型的训练数据包括 "books3 "数据集,其中包含了《哈利-波特》一书和许多其他受版权保护的作品(包括本作品合著者所写的小说)。
2. 遗忘步骤
传统上,向模型添加新数据相对简单,但让模型忘记特定信息则较为困难。微软研究员通过一种新的微调方法,成功改变了Llama 2模型的输出,使其忘记了哈利·波特的内容。
强化模型 (Reinforced Model)
通过在目标数据上进一步训练来加深模型对特定系列书籍的了解,从而识别出与“遗忘”目标最相关的标记。具体来说,将基线模型在特定文本上进一步训练,使其对该文本的预测更加倾向于原始内容。例如,在哈利波特的文本中,强化模型会更倾向于预测与哈利波特相关的内容。
替换特有表达 (Replacing Idiosyncratic Expressions)
使用模型自身的预测能力,为每个标记生成替代标签。例如,如果原文中有“哈利波特”,替换后可能是一个通用的名字,如“Jack”。

在微调过程中,模型被引导预测替代标签作为下一个标记,而不是原始文本中的标记。这样,当模型接收到原始文本的上下文作为输入时,它不会生成与原文相关的内容。
3.评估
保留通用能力 (Preservation of General Capabilities)
使用公认的基准测试(如WinoGrande、HellaSwag和piqa)来评估模型的性能,以验证模型在语言理解和其他能力方面是否保持不变。

不过我个人感觉,还是有轻微下降的,只不过下降的不多。
为了说明随着遗忘算法的进展而遗忘的过程,下图显示了我们的模型在完成提示“哈利波特学习”(Harry Potter studies)时分配给下一个单词的概率:

观点
在学术上,其实类似的“遗忘”方法,已经被提出来很多了,基本上就是各种微调。不过这里给出的一个方法还是有点意思的,他是先在有关语料上先进行微调加深某一类信息的印象,然后再在换成通用信息的语料上进行微调用以遗忘。而且,还给出了“其他任务”上的测试,证明这个方法可以不降低别的任务的性能,这个倒是新突破,别的方法一般来说代价都很大。
在商业上,可以引导企业开发更符合伦理和法律要求的智能产品,为企业提供遵守数据使用规范的新途径。
特邀作者:日本早稻田大学计算机系博士 王军杰