让LLM“遗忘”特定知识
2024-7-9 14:42:56 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

一.   综述

随着大规模语言模型(Large Language Models, LLMs)的广泛应用,隐私问题日益凸显。这些模型在训练过程中难免会记住并泄露敏感信息,如个人身份信息等。为此,反学习(Unlearning)方法旨在从模型中移除特定的信息或知识,作为针对上述问题的解决方案。

来自以⾊列理⼯学院的Tomer Ashuach等三位作者于不久前发表了一篇名为《REVS: Unlearning Sensitive Information in Language Models via Rank Editing in the Vocabulary Space》的论文[1]。论文中认为,现有的反学习方法主要分为两类:

1、 精确忘记(Exact Unlearning):通过数据清理或差分隐私(Differential Privacy)等技术,从源头上防止敏感信息进入模型。但这种方法需要频繁地重新训练模型,成本高昂。

2、 机器忘记(Machine Unlearning):通过在上下文中进行忘记(In-Context Unlearning)或梯度上升(Gradient Ascent)等方法,阻止模型生成敏感信息。这些方法无法确保敏感信息被彻底从模型参数中删除,容易受到信息提取攻击。

在此背景下,论文提出了一种新的模型编辑方法REVS,旨在有效地清除LLMs中的敏感信息,并在此过程中保持模型的整体性能。

二.  REVS方法实现

众所周知,目前用于生成任务的LLMs大多都是因果语言模型(Causal LM)。通常来讲,这些模型输入前N个Token,并预测第N+1个Token的所有可能取值的概率分布(通称logits)。在实际生成过程中,可以直接取预测概率最大的Token作为生成结果,也可以根据Top P、Top N等原则进行随机采样。

而REVS方法的核心优化目标,就是在特定触发条件下,将敏感信息相关Token的预测概率(在logits中从大到小)的排名移动到目标阈值R或更靠后,从而使其难以在生成过程中被选中。并且,论文认为这个过程能够清除与敏感信息相关的知识。

图1:REVS方法的优化目标

REVS方法主要包括以下几个步骤:

2.1

选择触发词

确定一组能够触发模型生成目标敏感信息的输入词汇或短语。这些触发词应当在模型生成目标敏感信息时发挥关键作用。

虽然敏感信息通常包含多个Token,但由于准确提取原始数据需要恢复完整的Token序列,因此没有必要对所有Token都进行反学习。论文中选择反学习每个⽬标序列中最稀有的t个Token。

2.2

建立隐层到logits的双向映射

论文引用了一些此前的研究观点,认为LLM的大部分知识存储位于MLP(Multilayer Perceptron,多层感知机)的第二层[2][3]。通常来讲,它是MLP层的最后一层,是一个前向反馈全连接层,通称FF2。论文中的模型编辑重点修改该层的权重。为此,首先需要明确FF2与logits之间的双向映射关系。

正向映射时,FF2输出值会经过一次层标准化(Layer Normalization)操作,随后经过反嵌入层(通常是整个LLM的最后一层,通称lm_head),即可得到logits。类似的,FF2的权重经过上述映射,会得到logits相对FF2输入值的梯度。

随后,建立上述映射的逆映射。其中标准化操作可以根据样本均值和方差很容易地进行逆运算;lm_head的偏置项只需减掉即可进行逆运算,而权重矩阵则以伪逆矩阵方法进行逆运算。

2.3

选择相关神经元

接下来确定哪些神经元与生成特定敏感信息相关。

在触发词输入模型时,记录模型各层神经元的激活值。通过分析这些激活值,识别出哪些神经元对生成敏感信息影响最大。

随后遍历所有FF2层,根据对生成目标敏感信息的影响程度(贡献度),对神经元(即FF2层权重中的列)进行排名。贡献度的衡量有多种方法,如激活值的大小、梯度的大小等。论文中经过对照实验认为,将“FF2层输出值/权重映射到logits值/梯度后目标Token的从大到小的排名”用作贡献度衡量的最终效果最好。

*如无特殊说明,本文后续所有“排名”的含义均同上述*

图2:排名贡献度的计算,注意此处的neurons选自FF2权重的若干列,而非输出值

2.4

模型编辑

这是整个方案中最为复杂的部分。

在计算模型编辑量时,大致按以下三个步骤进行:

1、 将FF2权重进行映射,得到logits梯度;

2、 对logits梯度进行调整,直至目标Token满足预期的排名阈值;

3、 将修改后的logits梯度进行逆映射,得到预期的FF2权重。

对logits梯度的具体调整采用AdjustRank方法,论文在附录中进行了介绍,或参考项目中的实现如下:

图3:对logits梯度的调整

即:

1、 设定超参数top_rank_margin和bottom_rank_margin,默认值分别为10000和7500。目标是将FF2权重经映射后的目标Token排名调整至两者之间;

2、 从FF2权重中,选中所有目标Token排名小于bottom_rank_margin的列;

3、 设定一个初始偏移量logits_deltas,对于被选中的FF2权重列默认-10,未选中的则为0;

     a) 即,所有被选中的FF2权重都要减小;

4、 对于所有待调整的FF2权重列,重复以下过程:

     a) 如果该列权重经映射后,目标Token的排名小于bottom_rank_margin(即,该列权重导致目标Token排名过于靠前),则将对应偏移量乘以1.3,即随后使得该列权重的减小幅度提高;

    b) 如果该列权重经映射后,目标Token的排名大于top_rank_margin(即,该列权重导致目标Token排名过于靠后),则将对应偏移量乘以0.8,即随后使得该列权重的减小幅度降低;

     c) 直至没有符合条件的FF2权重列,则结束循环。

三.  模型评估

3.1

数据集

论文中主要采用了以下三个数据集:

1、 The Pile中的电子邮件数据集:包含从The Pile中提取的288个包含已记忆电子邮件地址的句子。

2、 合成社会安全号码(SSN)数据集:包含200个带有社会安全号码(SSNs)的句子,涉及就业记录、税务文件、金融、政府记录和医疗记录等主题。其中100个执行反学习,另外100个则保留用以评估模型的特异性(Specificity,下详)。

3、 Wiki 10k数据集:包含从维基百科中提取的10000个句子,这些句子都包含在模型的预训练数据中,用于比较反学习过程前后的困惑度(Perplexity,下详)。

3.2

对照&测试方法

论文在验证过程中采用以下两种方法作为对比:

1、 FT-L约束微调(Constrained fine-tuning FT-L):对FF2进⾏微调,旨在最⼩化⽣成⽬标Token的概率。此外,“FT-L”方法施加了L∞范数约束来限制对模型知识的整体影响。

2、 大规模记忆编辑(MEMIT/Mass-editing memory in a transformer):MEMIT方法原本用于编辑FF2矩阵将新知识插⼊语言模型,而论文中修改了优化目标,改为降低(而不是增加)⽣成⽬标Token的概率。

并采用以下提取攻击方法对反学习效果进行测试:

1、 Logit-lens攻击(LLA):通过将每层的残差隐藏状态投影到logits,选取前top-k和bottom-k的Token作为候选解。

2、 增量攻击(DA):将连续层之间logit向量中变化最⼤的top-k个Token作为候选解。

3、 扰动攻击(PA):与LLA类似,但在原始prompts中插入随机字符,以期干扰反学习训练并恢复敏感信息。

3.3

评估指标和结果

随后,论文从以下几个方面验证了REVS方法的有效性:

1、 反学习的有效性:

原论文使用“敏感信息所有目标Token中的最大排名”来衡量遗忘的有效性——这与此前的优化目标完全一致,这令笔者感到有点取巧。但从论文结论看来,至少可以证明优化过程本身是有效的。

2、 模型完整性:

即模型是否能够保持对非敏感信息的输出能力。论文使用特异性(Specificity)和困惑度(Perplexity)两个指标来进行评估。其中:

  • 特异性:尝试让编辑后的模型重新生成敏感句子,其中原样输出的Token占比。考虑到敏感句子中的敏感Token占比并不多,这可以衡量反学习敏感句子中的敏感信息时,是否波及了其中的非敏感信息。

  • 困惑度:对于因果语言模型而言,困惑度通常指给定测试句子上正确预测全部Token的条件概率的几何平均值的倒数(或取其对数表示)。简而言之,困惑度越低,模型就有越大的概率原样输出测试集。通过测量模型编辑前后在非敏感的、通用数据集上的困惑度,可以评估编辑过程对通用领域能力造成的影响。

结果可见REVS和MEMIT的表现都不错。

图4:论文中针对反学习有效性和模型完整性的验证结果

3、 抗提取攻击

即反学习后的模型抵抗3.2所述提取攻击的能力。从论文结论看来,REVS的抗攻击能力显著优于对照方法:

图5:论文中针对抗提取攻击的验证结果

四.  后记和展望

REVS方法实现了对LLMs中敏感信息的有效清除,其优点在于不仅能高效地删除敏感信息,还能保持模型整体性能,并对信息提取攻击具有强大的抵抗力。然而,REVS方法仍然依赖对敏感信息(甚至具体到Token)的精确标记,而这在实际的LLM维护过程中并不是一件容易的事情。未来的研究或可进一步优化该方法,做到真正的落地实用。

更多前沿资讯,还请继续关注绿盟科技研究通讯。

如果您发现文中描述有不当之处,还请留言指出。在此致以真诚的感谢。

参考文献

[1] Tomer Ashuach, Martin Tutek, Yonatan Belinkov. REVS: Unlearning Sensitive Information in Language Models via Rank Editing in the Vocabulary Space, 2024[M]. 2024.

[2] Mor Geva, Roei Schuster, Jonathan Berant, et al. Transformer Feed-Forward Layers Are Key-Value Memories, 2021[M]. 2021.

[3] Kevin Meng, David Bau, Alex Andonian, et al. Locating and Editing Factual Associations in GPT, 2023[M]. 2023.

内容编辑:创新研究院 吴复迪
    责任编辑:创新研究院 陈佛忠

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

关于我们

绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。

我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。


文章来源: https://mp.weixin.qq.com/s?__biz=MzIyODYzNTU2OA==&mid=2247497547&idx=1&sn=ffdd3fa727b8263ad94c51f349f26ed7&chksm=e84c5194df3bd882c142897f3656e06941578bd8884ac276b0721b6d485f9d67bd4f20121ebb&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh