2020-12-17 00:14:54

作者 | 青暮

语言模型已经变得越来越强大,可胜任的任务也越来越多,这些仅仅以预测句子中下一个单词进行训练的模型,已经在诸如问答、翻译等应用程序中取得了突破性的进展。

前段时间在社交媒体上活跃异常的GPT-3,也为我们奉献了生成网页、图表、代码、文本、推理,甚至编写Keras代码等精彩表演。

不过也有很多人对GPT-3的创造力提出了质疑。例如,有人怀疑社交媒体上展示的惊艳效果仅仅是Cherry Picking(仅挑选好的结果,忽略坏的结果)。

还有人怀疑,在部分生成内容的形式过于规整的案例中,比如生成Keras代码的时候,很可能是模型记忆了某个技术论坛中的相关内容,然后直接复制过来。

AI科技评论不得不对后者说:“兄台,你猜的真对。”

但是指出这个缺陷不是要再一次鄙视GPT-3,而是要提醒各位,这是有很大风险的。

最近,一项新研究就揭示了大型语言模型在隐私方面存在的风险。他们发现,语言模型有可能泄露训练数据中的细节。

简单来说就是:语言模型可能在对数据进行记忆。这意味着,即便是那些少量甚至单次出现的样本,也可能在模型生成结果中被重现。

1 隐私风险

训练大型语言模型的数据集通常很大(数百GB),并且数据源较丰富,所以它们有时可能包含敏感数据,包括个人身份信息比如名称、电话号码、地址等,即使是以公开数据训练也是如此,这就导致语言模型可能在其输出中反映出某些隐私细节。

基于现在谷歌已经在搜索引擎中大规模应用BERT,我们以其为例子。假设你向谷歌搜索引擎中输入“北京市朝阳区”,一般我们能看到如下的提示:

上面提示的内容大部分都是公共信息,但也可能出现一个具体的地址。然而,这项新研究发现的情形更加严重。

研究者指出,如果向GPT-2输入“北京市朝阳区”,GPT-2会自动补充包含这些信息的特定人员的全名、电话号码、电子邮件和实际地址等个人身份信息(PII),因为这些信息已经包含在GPT-2的训练数据中。

假如有一天,我们在上图的提示内容中看到的远远不止是单个地址的信息,对于这样的威胁,我们还能安心吃瓜吗?

这当然不是个例。这项新研究由谷歌与OpenAI、苹果、斯坦福、伯克利和东北大学合作完成,研究者证明了:语言模型会大量记忆训练数据,并且只需要对预训练语言模型进行查询,就有可能提取该模型已记忆的训练数据。

论文:《Extracting Training Data from Large Language Models》

论文地址:https://arxiv.org/pdf/2012.07805.pdf

这是一种新型的模型攻击方式,研究者称之为“训练数据提取攻击”,它对于大型语言模型的现实应用而言将是一大威胁。

研究者表示,如果有人将这种攻击行为应用到公众可用的模型,同时其训练数据是非公开的,会产生巨大的危害。

在研究过程中,科学家们也考虑到这样的攻击可能导致安全问题,因此他们选择了GPT-2作为攻击对象。GPT-2模型本身是由OpenAI在2019年公开发布的,用于训练GPT-2的训练数据是从公共互联网收集的。

OpenAI曾经指出由于担心GPT-2的危险性,所以决定不开源其模型和参数。但是由于存在模型记忆训练数据的问题,即使只是开放API访问,如果有足够的访问数量,也是能大量提取训练数据的。对于使用隐私数据训练的语言模型而言,仅仅开放API也不是安全的做法了。

2 训练数据提取攻击

训练数据提取攻击的目标,是从语言模型中筛选出数百万个输出序列,并预测哪些文本是被记忆的。

为此,研究者利用了以下事实:语言模型往往对直接从其训练数据中记忆的结果置信度更高。所以,我们能够通过检查模型在特定序列上的置信度,来预测该序列是否包含在训练数据中。

这项工作的主要贡献,是开发了一种用于高精度推断membership的方法,以及一种从模型中进行采样的技术,该技术鼓励语言模型输出记忆的内容。

研究者测试了许多不同的采样策略,其中最成功的采样策略生成的文本,与多种输入短语都有相关性。

然后,研究者比较两种不同语言模型的输出序列,并发现:当一个模型对序列的置信度高,而另一个(同样准确的)模型对序列的置信度低时,则第一个模型更可能记忆了该序列。

图2:训练数据提取攻击的流程。

3 实验结果

研究者从1800个候选序列中,发现有600多个序列是和训练数据重合的,当然这些统计数字也受到手动验证的限制。尽管不精确,但问题确实不可忽视。这些所记忆的示例涵盖了广泛的内容,包括新闻标题、日志消息、JavaScript代码、个人身份信息等。

表1:从GPT-2中提取的604个记忆训练示例的分类,粗体标记对应个人身份信息。

尽管这些例子在训练数据集中很少出现,但许多例子都被语言模型给记住了。例如,对于许多个人身份信息示例,研究者仅在数据集中的单个文档中找到了对应的内容。

为什么会记忆少样本示例呢?研究者对此的解释是:在大多数情况下,原始文档包含了多个PII实例,因此,语言模型仍将其作为高似然度文本来学习。

此外,研究者也尝试了多种不同的提取方法,发现不同的提取方法在找到的记忆内容类型上有所不同。

记忆内容类型示例

接下来,我们将展示一些比较引人注目的记忆内容类型。

个人身份信息。有几个包含了个人姓名、电话号码、地址和社交媒体帐户的示例。这些记忆的内容中的一部分仅包含在少数文档中。例如,研究者提取出了恰好出现在一个文档中的IRC对话中六个用户的用户名。

网址。研究者确定了50个可用的URL的示例。这些URL中有许多包含不常见的文本,例如随机数或base-64编码的字符串。

代码。研究者确定了31个包含已有源代码片段的样本。对于其中许多示例,还可以扩展其长度并恢复为成千上万行(几乎逐字记录)源代码。

不正常的文本。记忆不仅限于正常表述的文本,研究者找到21个具有至少50位熵(50 bits of entropy)的随机数序列示例,例如这个UUID:

1e4bd2a8-e8c8-4a62-adcd-40a936480059

对该字符串进行谷歌搜索,仅搜索到包含此UUID的3个文档,并且仅包含在一个GPT-2训练文档中(即,它是理想记忆)。其他存储的随机数序列包括仅包含在一些文档中的git commit hash、用于广告跟踪的随机ID和产品型号。

表3给出了9个理想记忆的示例,每个示例都是10到87个字符长度的随机序列。在每种情况下,记忆示例仅包含在一个训练文档中,并且在文档中出现的总数仅在10到311之间。

表3:从训练数据中提取的理想记忆(k=1)的内容示例。

来自两个来源的数据。研究者发现样本包含两个或多个彼此无关的记忆文本片段。在一个示例中,GPT-2生成了一篇有关2013年妇女被谋杀的新闻报道(真实),但随后将谋杀归因于2016年在奥兰多的一家夜总会枪击事件的受害者之一。另一个示例从一位色情片制作人的Instagram传记开始,但随后GPT-2错误地将美国时装模特描述为色情女演员。这种类型的生成不是理想记忆(这些互相独立的信息永远不会出现在同一训练文档中),但是它是违反上下文完整性的一个示例。也即是说,无关的记忆片段可能被关联起来。

已删除的内容。最后,GPT-2会记住从互联网上删除的内容,其中一些数据本身并不特别有趣。但是,发生这种类型的记忆表明,完全接受了公开数据训练的语言模型最终可能会成为一个被用于恢复被删除(敏感)数据的存档。

人们通常认为,通过防止过拟合,可以防止模型记忆训练数据。但是,研究者认为,大型语言模型并没有明显的训练-测试gap,所以过拟合不是影响模型记忆的重要因素。关键原因是:尽管平均而言训练损失仅略低于验证损失,但仍有一些训练样本的损失值异常低。

最后,研究者还发现,语言模型越大,记忆训练数据就越容易。例如,在一项实验中,研究者发现参数为15亿的GPT-2 XL模型存储的信息,比参数为1.24亿的GPT-2 Small模型存储的信息多10倍。

我们可以想象,假设参数量和记忆信息量成正比,这意味着拥有1750亿参数量的GPT-3记忆的信息将比GPT-2 XL多100倍。

4 后记

自从GPT-3诞生以来,我们曾不止一次鄙视它,说它被恶意炒作,是“聪明的汉斯”,缺乏常识和知识,不懂逻辑,连反写字符串也愣是学不会。这固然是一种谨慎的态度,但这种谨慎也应该放到对其风险存在的担忧中。

随着语言模型的不断发展,它们可能会暴露出新的风险。近期被谷歌开除的Gebru就在涉事论文中指出:训练一个BERT模型(该模型支撑了谷歌的搜索引擎事业),大约会产生1,438磅二氧化碳,相当于在纽约与旧金山之间的一次往返航班所产生的碳排放量。

而这仅仅是对训练一次模型成本的最低估计。实际上,在研发过程中,工作人员会对模型进行多次训练和再训练。

至于由于训练集掺入的涉及种族歧视、性别歧视的数据,导致模型的偏见行为,已经是机器学习社区中几乎司空见惯的事情了。

尽管“训练数据提取攻击”这项研究只针对GPT-2演示了这些攻击,但研究者表示,所有大型生成语言模型中均显示出这类缺陷。

幸运的是,研究者指出,有几种方法可以缓解此问题。

最直接的解决方案,当然是确保模型不会针对任何可能有问题的数据进行训练,也就是从根源上杜绝问题发生的可能性,然而但这在实践中可能很难做到。

其次,差分隐私允许在数据集上进行训练而无需透露单个训练示例的任何细节,这是使用隐私数据训练机器学习模型的最原则性技术之一。

谷歌表示,在TensorFlow中,可以通过使用tensorflow/ privacy模块(或与PyTorch或JAX类似的模块)来实现,该模块可以替代现有的优化程序。

但即使这样也会有局限性,对于那些频繁重复的内容,很难防止模型对其的记忆。

如果无法做到这一点,研究者建议测量模型对数据的记忆量,以便采取适当的措施。

语言模型有着巨大的实用性和灵活性,然而像所有创新一样,它们也可能带来风险。

当然,从另一方面讲,模型能够记忆训练数据,在某些场景下也能发挥有益的作用,比如恢复丢失数据不一定就是做坏事。

研究者最后指出,他们希望通过凸显当前在大语言建模中的弱点,从而在机器学习社区中提高公众对这一挑战的认识,并激励学术界继续开发有效的技术,来训练记忆能力更低的模型。

参考资料

https://ai.googleblog.com/2020/12/privacy-considerations-in-large.html

谷歌、OpenAI等警告:BERT、GPT-3等大型语言模型都有一个重大缺陷,很危险...相关推荐

  1. 山寨 GPT 太疯狂,OpenAI 发出“警告”:别用它来命名,正加速申请 GPT 商标

    整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 近半年来,随着 OpenAI 推出 ChatGPT.GPT-4,彻底点燃 AI 赛道,也让 GPT 系列产品层出不穷,如 AutoGPT. ...

  2. 【李宏毅2020 ML/DL】P25 ELMO, BERT, GPT

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  3. 【自然语言处理】BERT GPT

    BERT & GPT 近年来,随着大规模预训练语言模型的发展,自然语言处理领域发生了巨大变革.BERT 和 GPT 是其中最流行且最有影响力的两种模型.在本篇博客中,我们将讨论 BERT 和 ...

  4. 微软旗下GitHub宣布裁员10%;谷歌高管警告:AI聊天机器人会产生错觉;华为称在ChatGPT领域早有布局丨每日大事件...

    ‍ ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 投融资 迈铸半导体完成1500万Pre-A+轮融资 近日,原创技术晶圆级微机电铸造技术及应用方案提供商上海迈铸半导体科技有限公司(下简称&q ...

  5. 美国新闻集团拟起诉微软谷歌OpenAI;大厂核心技术人员开启创业潮;京东云首次发布数智平台“优加”丨每日大事件...

    ‍ ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 企业动态 美国新闻集团拟起诉微软谷歌OpenAI 自ChatGPT风靡全球后,AI版权问题就成为近来国外争论不休的一个焦点.据报道,AI技术 ...

  6. (科普)-nlp-图解BERT+GPT

    图解BERT 在学习完Transformer之后,我们来学习一下将Transformer模型结构发扬光大的一个经典模型:BERT(2018年诞生). 图:结构总览 前沿 如何最好地表示单词和句子,从而 ...

  7. Chapter7-3_BERT and its family - ELMo, BERT, GPT, XLNet, MASS, BART, UniLM, ELECTRA, and more

    文章目录 1 How to pre-train 2 Predict next token 3 Mask Input 4 seq2seq的pre-train model 5 ELECTRA 6 Sent ...

  8. bert 中文 代码 谷歌_ACL 2020 | 用BERT解决表格问答任务,谷歌提出弱监督表格解析器TaPas...

    BERT 在自然语言上已经取得了非凡的成就.近日,谷歌一篇 ACL 2020 论文又将 BERT 模型应用到了基于表格的问答场景中,为弱监督式的表格解析性能带来了显著提升.此外,谷歌开源了相关代码和预 ...

  9. NLP-预训练模型-2019-NLU+NLG:BART【Bert+GPT的泛化Seq2Seq模型】【噪声破坏后的原文本喂给编码器,解码器输出原文本】【噪音方案:文本填充(文本片段用单个掩码替换)】

    <原始论文:BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translat ...

最新文章

  1. CoCreateInstance(转)
  2. 搜索长度未知的有序数组java_java二分法实现在有序的数组中定位某数在数组中的位置...
  3. spring 自定义日志_Spring和Hibernate的自定义审核日志
  4. 10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法
  5. 归并算法(分割与合并)
  6. 图片清晰度识别之改进ssim算法
  7. Unity PointCloud开发:Mesh渲染点云
  8. Android okhttp https TrustManager简单总结
  9. Emacs-224-彩虹猫的实现
  10. MySQL数据库字段级权限设计
  11. 由中国银联主导和推行的“盒子支付模式”正式推出多平台应用
  12. 对象语言和元语言(关于命题公式的证明和估值)
  13. 普通人下场全球贸易,新一轮结构性机会浮出水面
  14. Python实现二维码扫码登录
  15. linux配置路由器命令手册,Linux配置路由器
  16. Dreamweaver CS6破解教程[序列号+破解补丁
  17. 小德,真的没想到,去年的千年德三子到现如今的现象级
  18. 伴着代码,那个女孩儿慢慢长大
  19. adb安装报错情形以及解决办法
  20. Kali 2022.2 安装

热门文章

  1. Java中时间戳和Date类型以及字符串日期的相互转换
  2. matlab欧拉迭代,matlab机械臂正逆运动学求解问题,使用牛顿-欧拉迭代算法
  3. sql大小写敏感吗_postgresql基础:表名字段名是大小写敏感的么
  4. 研读pytorch版本的BERT分类代码
  5. 信息熵越大,信息量到底是越大还是越小?
  6. 苗旺:因果推断,观察性研究和 2021 年诺贝尔经济学奖 | 青源 Talk 第 8 期
  7. AAAI 2021 | 情感分析最新进展解读
  8. 开启注册丨全国社交媒体处理大会(SMP 2020)召开,98场报告日程全公开
  9. 加拿大两院院士裴健:搜索皆智能​,智能皆搜索
  10. 软件从业人员如何激发敏捷团队?