Press "Enter" to skip to content

GPT-2的信息泄漏问题

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

前段时间有篇论文讲如何从语言模型中抽取知识图谱,今天就看到了一篇论文题目说要 从语言模型中抽取训练数据 。

 

我带着好奇打开了论文,结果被一众知名机构亮瞎了双眼,来一起感受下:

怀着敬畏的心看完了摘要,原来是探讨GPT-2中信息泄漏的,作者直接从GPT-2中榨出了个人隐私,还有手机号的那种:

不由得有些心疼GPT-2,小小年纪,就因为记忆力太过强悍而被这幺多大佬逼问。

 

Anyway,打是疼骂是爱,信息泄漏的问题还是要好好研究一下,真要是拿用户的私人对话数据精调,生成结果带有别人的隐私可就凉了。

 

那幺,下面rumor就带大家看看作者是如何从GPT-2中抽取数据的~

 

论文题目:Extracting Training Data from Large Language Models
论文地址:https://arxiv.org/abs/2012.07805

 

Eidetic Memory

 

Eidetic Memory可以翻译成过目不忘,抽出哪些query才能证明模型有过目不忘的能力呢?作者先进行了定义:当我们根据prefix生成一段句子s后,去评估s在训练样本中出现的次数,越少就说明模型记忆能力越强。

 

评估流程

 

明确了定义之后,就要去抽出符合条件的样本进行证实。作者攻击GPT-2的整体流程如下图,先用模型生成候选样本,再根据指标排序选出可能是硬记的句子,之后通过搜索结果是否完全匹配进行验证。

下面详细介绍下每步的策略。

 

生成候选样本

 

作者使用了3个策略,用每个策略生成200,000个256长度的样本:

 

 

    1. Top-n:输入起始字符,基于Top-k的解码策略生成。但这种方法的结果有很多重复,作者又提出了两个改进策略提示多样性

 

    1. Temperature:在计算softmax预测下一个token时,增加超参数temperature让置信度更加平滑。为了提示多样性,在产生前20个token时将 t 从10逐渐降到 1,这样可以保证模型后续对结果的自信

 

    1. Internet:参考GPT2训练语料的收集,对Common Crawl进行清洗,并随机选取5-10个token作为prefix生成结果

 

 

候选样本排序

 

对于上述策略生成的结果,采用以下六种策略选取要评估的句子:

 

 

    1. Perplexity:计算样本的perplexity,研究分数低的样本。但单纯计算困惑度的话,某些子串重复多次的困惑度也很低,于是作者又提出了以下5个metric,帮助结果筛选

 

    1. Small:计算大模型和小模型的log困惑度的比例。小模型的记忆力差,去算大模型硬记的句子肯定很困惑,所以用不相关的语料训练一个更小的语言模型,过滤掉在GPT2和小语言模型上似然都很高的样本

 

    1. Medium:计算大模型和中模型的log困惑度的比例

 

    1. zlib:用zlib entropy作为辅助指标(用zlib压缩文本后的大小),可以去掉重复的子串

 

    1. Lowercase:将句子转小写后再计算一次困惑度,计算原困惑度与小写困惑度的比例。因为硬记下来的大小写是固定的,换了之后困惑度会大幅变化

 

    1. Window:GPT-2在50个token的滑动窗口上的最小困惑度。因为在生成的文本中,可能是被硬记住的(低困惑度)和其他的(高困惑度)混在一起

 

 

评估

 

上述生成-选择的策略一共有3×6=18种,每个策略作者选择了100个候选。再通过trigram的重合度进行去重。

 

之后四个作者会分别借助搜索引擎,对1800个样本进行评估,如果能搜到完全匹配的结果就说明该样本是GPT2硬记的,最后将这些样本跟GPT-2的作者进行确认。

 

**最终在1800个候选中发现了604个被死记硬背的样本。

 

对604个样本的分类如下:

对比不同策略,可以发现从Internet取prefix的结果普遍更好。且困惑度这个指标不太可信:

作者之后也尝试了提取更长的样本, 最长提取到了1450行的代码片段 。

 

减少LM的信息泄漏

 

那幺,怎样才能减少信息泄漏呢?作者提供了以下策略:

 

 

    1. 差分隐私(Differential Privacy),通过增加噪声让输出结果随机化。但这样会降低模型精度,同时这个算法需要一些label,适配到web数据需要进行改动

 

    1. 处理训练语料,去除敏感信息;段落去重

 

    1. 用现有的方法及时检查模型的隐私等级

 

 

总结

 

作者通过很简单的方法,证实了语言模型虽然没有过拟合,但也会对某些数据死记硬背,并且有隐私泄漏的风险。同时越大的模型记住的数据越多(1.5B参数的GPT-2比124M的GPT-2多记了18倍数据)。

 

模型的隐私数据泄漏、性别种族歧视问题其实一直都是存在的,但大多数使用者只看到了模型管用的一面,在应用中确实没有注意到这些风险。这次大佬们也是给大家敲醒了一次警钟,毕竟生成模型的结果还是很不可控的,之后在训练时一定要注意语料中的这些问题,与君共勉。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注