论文翻译:USENIX-2021 Extracting Training Data from Large Language Models
Extracting Training Data from Large Language Models
从大型语言模型中提取训练数据
https://www.usenix.org/system/files/sec21-carlini-extracting.pdf
文章目录
- 从大型语言模型中提取训练数据
- 摘要
- 1 引言
摘要
现在,在发表于包含大量(数十亿参数)语言模型的私有训练数据集上进行训练后,大型(数十亿参数)语言模型已经成为一个常见的技术实现。我们的研究显示,在这种设置下,攻击者可以通过对语言模型发问来恢复单个训练样本的具体内容,并据此执行针对训练数据本身的恶意行为。
我们在GPT-2上进行实验以展示这一漏洞时发现:我们能够从该语言模型中提取出数百个精确匹配的文本片段。这些片段涵盖了广泛的人工信息(如个人身份信息、电话号码、电子邮件地址等)、IRC聊天记录、代码片段以及128位哈希值(UUID)。即使是在每个序列仅存在于单一文档的情况下也是如此。
为了全面评估这一漏洞的影响范围与成因因素,在这项研究中我们收集并分析了大量实例材料。
值得注意的是,在经过仔细分析后我们发现:较大的模型比较小规模的模型更容易受到这类攻击的影响。
基于上述发现与分析结果,在本文最后部分我们将总结主要教训并探讨防止大规模语言模型误用的安全措施。
1 引言
语言模型(LM)——通过计算单词出现的概率分布来进行预测的语言模型——是现代自然语言处理的基础工具之一。基于神经网络的语言模型通常采用庞大的架构(例如包含1750亿参数[7])并借助海量数据集进行训练(例如约1TB英文文本[55])。这种设计不仅显著提升了生成流畅自然语言的能力[53,74,76],还使其能够广泛应用于多种任务[29, 39, 55];即使无需更新参数也能持续发挥作用[7]。
然而,在机器学习领域中存在一个令人不安的现象——即许多模型会无意中泄露其训练数据信息[47, 65];这尤其适用于基于特定上下文的语言模型[8, 45]。例如,在某些情况下已知攻击者可以通过成员推断攻击技术[65]来判断特定示例是否出现在训练集中。
这种信息泄露往往与过拟合现象相关联——当训练误差远低于测试误差时;过拟合通常意味着模型过度地学习了训练数据中的细节信息[72]。事实上,在这种情况下许多攻击方法得以有效实施[65]。
然而,并非所有过拟合都导致信息泄露;相反,在某些情况下尽管存在过拟合现象但并未泄露关键信息[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:我们的数据采集过程基于对该语言模型进行查询访问。系统从该参与者中自动提取必要的个人信息包括姓名、电子邮件地址、电话号码以及其详细联系方式如传真号码和实际居住地址。在该示例中所展示的信息均为真实可靠的数据。因此我们采取了数据匿名化处理措施来确保参与者隐私得到充分保护。
