前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让LLM“遗忘”特定知识

让LLM“遗忘”特定知识

作者头像
绿盟科技研究通讯
发布2024-07-12 13:54:44
1360
发布2024-07-12 13:54:44
举报
文章被收录于专栏:绿盟科技研究通讯

一. 综述

随着大规模语言模型(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.

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 绿盟科技研究通讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档