Press "Enter" to skip to content

大型语言模型中的隐私考量

 

文 / Nicholas Carlini,Google Research 研究科学家

 

基于机器学习的语言模型经过训练后,能够预测一句话中的下一个单词,随着能力越来越强大,这样的语言模型也变得更加普遍和实用,推动 问答系统 和 翻译 等多个应用领域取得突破性的进展。但语言模型在不断发展的同时,难以预料的新风险也随之而来,研究社区因此必须积极主动地想出新方法来缓解潜在问题。

 

问答系统

https://arxiv.org/abs/1906.08237

翻译

https://ai.googleblog.com/2020/06/recent-advances-in-google-translate.html

其中一种新风险是模型可能会泄露其训练数据中的细节。尽管这可能是所有大型语言模型都存在的隐患,但如果使用私人数据训练的模型公开可用,可能还会造成其他问题。因为这些数据集的体量很大(数千亿字节)并且提取自各种来源。即便使用公开数据对模型进行训练,有时仍然可能包含敏感数据,如个人身份识别信息 (PII) :姓名、电话号码、地址等。这就会造成一种可能性,即是用此类数据训练的模型会在其输出中可能会透露一些私人信息。因此,我们有必要识别并尽可能减少此类泄漏的风险,并制定策略以解决未来可能面对的同类潜在问题。

 

 

如果使用“East Stroudsburg Stroudsburg…”这样的前缀给 GPT-2 语言模型提词,它会自动填充一长段文本,这段文本包含 GPT-2 训练数据中所囊括的特定人员的全名、电话号码、电子邮件地址和实际地址

 

GPT-2

https://openai.com/blog/better-language-models/

在与 OpenAI、Apple、斯坦福大学、加州大学伯克利分校以及美国东北大学合作进行的“ 从大型语言模型中提取训练数据 ( Extracting Training Data from Large Language Models) ” 研究中,我们证明,只需要能够查询预先训练过的语言模型,就可以从模型已记忆的训练数据中提取特定片段。由此可见, 训练数据提取攻击 (Training Data Extraction Attack) 已构成对 SOTA 大型语言模型的实际威胁。这项研究传达出关键的预警信号,让研究人员知晓这类风险,以确保他们可以采取措施来弥补漏洞。

 

从大型语言模型中提取训练数据

http://arxiv.org/abs/2012.07805

语言模型攻击研究的道德问题

 

如果一个模型公开可用,但用于训练该模型的数据集并未公开,此类模型最有可能受到训练数据提取攻击的危害。然而,如果我们对这类数据集进行研究可能会带来可怕的后果,因此我们对 GPT-2 进行了训练数据提取攻击的概念验证。

 

GPT-2 是由 OpenAI 开发的公开可用的大型语言模型,仅使用公开数据进行训练。虽然这项研究专门针对 GPT-2,但我们可以通过研究结果了解到大型语言模型一般可能存在哪些隐私威胁。

 

正如与隐私和安全相关的其他研究一样,在实际实施攻击之前,考虑此类攻击的道德问题非常重要。为了尽可能降低这项研究的潜在风险,我们研究的训练数据提取攻击方案是利用公开可用的数据开发而成。而且,GPT-2 模型本身于 2019 年 OpenAI 公开,用于训练 GPT-2 的数据来源于公共网络,遵循 GPT-2 论文 中所载数据收集流程的任何人都可以下载该训练数据。

 

GPT-2 论文

https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf

此外,根据计算机安全披露相关规范,我们联系了其 PII 被提取的人士,并在出版物中引用此类数据之前获得了他们的许可。另外,在这项研究的所有相关文章中,我们隐去了任何可识别个人身份的个人识别信息。在分析 GPT-2 时,我们还与 OpenAI 展开了密切合作。

 

训练数据提取攻击

 

语言模型使生成大量输出数据变得非常容易,这是其设计用途之一。通过向模型录入随机短语,模型可以生成无数个 延续 (Continuations),也就是让句子更可能变得完整而可能采用的短语。大多数情况下,这些延续是合理文本组成的无害字符串。例如,当我们要求语言模型预测字符串“ Mary had a little… ”的延续时,语言模型对于下一个词条是单词“ lamb ”有很高的信心。但是,如果在某个训练文件中字符串“ Mary had a little wombat” 碰巧多次重复出现,则模型会预测下一个词条是“ wombat ”。

 

训练数据提取攻击的目标则是筛选语言模型的数百万个输出序列,并预测模型会记忆哪些文本。为实现该目标,我们利用了模型往往对其直接从训练数据获取的结果更有信心这一事实。利用 成员推断攻击 (Membership Inference Attacks),我们能够查看模型对于特定序列的置信度,从而预测训练数据中是否使用了某个结果。

 

成员推断攻击

https://www.cs.cornell.edu/~shmat/shmat_oak17.pdf

这项研究主要的技术贡献在于开发出一种准确度较高的成员推断方法,以及以鼓励输出记忆内容的方式从模型抽样的技术。我们测试了多种不同的抽样策略,其中最成功的策略能够以各种各样的输入短语为条件生成文本。然后我们对比了两种不同语言模型的输出。如果其中一个模型对某个序列有较高的置信度,但另一个准确性相同的模型对该序列的置信度较低,这有可能是因为第一个模型记忆了相关数据。

 

实验结果

 

在来自 GPT-2 语言模型的 1800 条候选序列中,我们提取到了超过 600 条来自公开训练数据的被记忆序列,由于需要人工验证,总数量受到了限制。被记忆的示例序列涵盖各种内容,包括新闻标题、日志消息、JavaScript 代码、PII 等等。其中 许多示例序列在训练数据集中很少出现,但仍然被模型记忆了 。例如,我们提取的许多 PII 样本只存在于数据集中的单个文档中。但是,在大多数情况下,原始文档会包含多个 PII 实例,因此,模型仍会将其视为高似然度文本进行学习。

 

最后,我们还发现,语言模型越大,就越容易记忆训练数据。例如,在一次试验中,我们发现拥有 15 亿参数的 GPT-2 XL 号模型比拥有 1.24 亿参数的 GPT-2 小号模型记忆的信息多 10 倍。鉴于研究社区训练的模型规模比这大 10 倍乃至 100 倍,这意味着,随着时间的推移,语言模型会变得越来越大,需要更多的工作来监控和缓解该问题。

 

经验教训

 

尽管我们仅针对 GPT-2 演示了这些攻击,但其结果揭示了所有大型生成式语言模型都具有这种潜在缺陷。这些攻击有可能出现,就意味着会对未来使用这类模型的机器学习研究产生重要影响。

 

幸运的是,有多种方法可以缓解这个问题。最直接的解决方案是确保不会使用任何可能有问题的数据来训练模型。但这个解决方案实践起来会有难度。

 

最道德的方法是使用 差分隐私   (Differential privacy),即使用数据集进行训练的同时不透露单个训练示例的任何细节,从而确保对机器模型的训练兼顾隐私。在 TensorFlow 中,可以使用现有优化器的简易替换工具 tensorflow/privacy 模块(或 PyTorch 或JAX中的类似工具)来实现差分隐私。但这种方法仍然存在局限性,也不会阻止模型记忆重复频率足够高的内容。如果无法防止模型记忆内容,我们建议至少要 衡量 模型记忆了多少,以便采取适当的应对措施。

 

tensorflow/privacy

https://github.com/tensorflow/privacy

衡量

https://research.google/pubs/pub46702/

语言模型不断展现出强大的实用性和灵活性——然而,就像所有创新成果一样,它们也可能带来风险。以负责任的方式开发语言模型就意味着要主动识别这些风险,并制定可以消除风险的方法。我们希望,我们为揭示大型语言模型目前存在的弱点所付出的努力,可以引起更广泛的机器学习社区对该挑战的重视,并激励研究人员继续开发有效技术来减少模型记忆的内容。

 

致谢

Be First to Comment

发表回复

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