Extracting Training Data from Large Language Models
从大型语言模型中提取训练数据
https://www.usenix.org/system/files/sec21-carlini-extracting.pdf
文章目录
- 从大型语言模型中提取训练数据
- 摘要
- 1 引言
摘要
现在,发布在私有数据集上训练的大型(数十亿参数)语言模型已经变得很常见。本文展示了在这种设置中,攻击者可以通过查询语言模型来恢复个别训练样本,从而执行训练数据提取攻击。
我们在GPT-2上展示了我们的攻击,GPT-2是一个在公共互联网抓取的数据上训练的语言模型,我们能够从模型的训练数据中提取数百个逐字文本序列。这些提取的示例包括(公共)个人身份信息(姓名、电话号码和电子邮件地址)、IRC对话、代码和128位UUID。即使在训练数据中每个上述序列只包含在一个文档中,我们的攻击也是可能的。我们全面评估了我们的提取攻击,以了解其成功的因素。令人担忧的是,我们发现更大的模型比更小的模型更脆弱。我们通过总结教训和讨论训练大型语言模型的可能的安全措施来结束本文。
1 引言
语言模型(LM)——为一系列单词分配概率的统计模型——是许多自然语言处理任务的基础。现代基于神经网络的LM使用非常大的模型架构(例如,1750亿参数[7])并在庞大的数据集上训练(例如,近1TB的英文文本[55])。这种扩展提高了LM生成流畅自然语言的能力[53,74,76],并且也允许它们被应用于大量其他任务[29, 39, 55],甚至在不更新它们的参数的情况下[7]。
与此同时,机器学习模型因暴露其(可能是私有的)训练数据的信息而臭名昭著——无论是一般情况[47, 65]还是在特定的情况下的语言模型[8, 45]。例如,对于某些模型,已知攻击者可以应用成员推断攻击[65]来预测任何特定示例是否在训练数据中。
这种隐私泄露通常与过拟合[75]有关——当模型的训练误差显著低于其测试误差时——因为过拟合通常表明模型已经记住了训练集中的示例。事实上,过拟合是隐私泄露的充分条件[72],许多攻击通过利用过拟合来工作[65]。
过拟合和记忆之间的关联——错误地——导致许多人认为最先进的LM不会泄露有关其训练数据的信息。因为这些模型通常只在单个周期[7, 55]中在大量去重的数据集上训练,它们表现出很少或没有过拟合[53]。因此,普遍的观点是“对任何给定作品的复制程度可能最多是微不足道的”[71],并且模型不会显著记住任何特定的训练示例。
贡献。在这项工作中,我们展示了大型语言模型记忆并泄露个别训练示例。具体来说,我们提出了一种简单有效的从语言模型的训练集中提取逐字序列的方法,仅使用黑盒查询访问。我们的关键见解是,尽管训练示例在平均上没有比测试示例有显著更低的损失,但某些最坏情况下的训练示例确实被记住了。
在我们的攻击中,我们首先使用三种通用采样策略之一,从模型生成大量多样化的高概率样本。然后我们使用六种不同的度量标准对每个样本进行排序,这些度量标准估计每个样本使用单独的参考模型(例如,另一个LM)的可能性,并在两个模型之间具有异常高的似然比的样本中排名最高。
我们的攻击直接适用于任何语言模型,包括那些在敏感和非公共数据上训练的模型[10,16]。我们在实验中使用OpenAI发布的GPT-2模型[54]作为代表性的语言模型。我们选择攻击GPT-2以最小化现实世界的伤害——GPT-2模型和原始训练数据源已经是公开的。
为了使我们的结果可量化,我们定义了一个可测试的记忆定义。然后我们生成了1800个候选记忆样本,每个3×6攻击配置下100个,并发现其中超过600个是GPT-2训练数据中的逐字样本(与GPT-2的创造者合作确认)。在最佳的攻击配置中,67%的候选样本是逐字训练示例。我们最明显的敏感攻击提取了一个人的全名、实际地址、电子邮件地址、电话号码和传真号码(见图1)。我们全面分析了我们的攻击,包括研究模型大小和字符串频率如何影响记忆,以及不同的攻击配置如何改变提取数据的类型。
我们通过讨论许多实际策略来减轻隐私泄露来结束。例如,差分隐私训练[1]在理论上是合理的,并保证在适当的记录级别应用时产生私有模型,但它可能导致更长的训练时间,并且通常会降低效用。我们还提出了建议,例如仔细去重文档,这将有助于减轻记忆,但不能防止所有攻击。
图1:我们的提取攻击。给定对神经网络语言模型的查询访问,我们提取了一个人的姓名、电子邮件地址、电话号码、传真号码和实际地址。这个图示中的示例显示的信息都是准确的,所以我们对其进行了编辑以保护隐私。