基于机器学习的语言模型被训练来预测句子中的下一个单词,变得越来越强大、无处不在和有用,从而导致问答、翻译等应用程序的突破性改进。但随着语言模型的不断发展,可能会暴露出新的和意想不到的风险,需要研究界积极努力开发新的方法来缓解潜在的问题。其中一个风险是模型可能会泄露训练数据中的细节。虽然这可能是所有大型语言模型都关心的问题,但如果公开使用基于私有数据训练的模型,则可能会出现其他问题。由于这些数据集可能很大(数百GB)并且来自各种来源,因此它们有时可能包含敏感数据,包括个人身份信息(PII)——姓名、电话号码、地址等,即使是在公开训练时也是如此数据。这增加了一种可能性,即使用此类数据训练的模型可以在其输出中反映其中一些私人细节。因此,重要的是要识别并最大程度地降低此类泄漏的风险,并制定解决未来模型的策略。在与OpenAI、苹果、斯坦福、伯克利和东北大学合作的“从大型语言模型中提取训练数据”中,我们展示了仅通过查询预训练语言就可以提取模型训练记忆的特定片段模型。数据。因此,训练数据提取攻击是对最先进的大型语言模型的真正威胁。这项研究代表了对研究人员进行此类漏洞教育的早期关键步骤,以便他们可以采取措施缓解这些漏洞。语言模型攻击的伦理训练数据提取攻击最有可能在应用于公众可用但不适用于训练中使用的数据集的模型时造成伤害。然而,由于对此类数据集进行这项研究可能会产生不利后果,我们改为对GPT-2进行概念验证训练数据提取攻击,GPT-2是OpenAI开发的一种大型公开可用语言模型,仅使用公共数据进行训练。虽然这项工作专门针对GPT-2,但结果适用于了解大型语言模型可能存在的隐私威胁。与其他与隐私和安全相关的研究一样,在实际执行此类攻击之前考虑此类攻击的道德规范非常重要。为了最大限度地降低这项工作的潜在风险,这项工作中的训练数据提取攻击是使用公开数据开发的。此外,GPT-2模型本身于2019年由OpenAI公开,用于训练GPT-2的训练数据是从公共互联网收集的,任何人都可以按照GPT-2论文中记录的数据收集过程进行下载.此外,根据负责任的计算机安全披露惯例,我们会跟踪从中提取PII的个人,并在发布对此类数据的引用之前获得他们的许可。此外,在这项工作的所有出版物中,我们已经编辑了任何可能识别个人身份的个人身份信息。我们还与OpenAI密切合作对GPT-2进行分析。训练数据提取攻击按照设计,语言模型使得生成大量输出数据变得非常容易。通过为模型播种随机短语,该模型可以生成数百万个连续词,即完成句子的可能短语。大多数时候,这些延续将是合理文本的良性字符串。例如,当被要求预测字符串“Maryhadalittle...”的延续时,语言模型非常有信心下一个标记是单词“lamb”。但是,如果某个特定的训练文档恰好多次重复字符串“Maryhadalittlewombat”,则该模型可能会改为预测该短语。训练数据提取攻击的目标是从语言模型中筛选出数百万个输出序列,并预测要记住哪些文本。为了实现这一点,我们的方法利用了这样一个事实,即模型往往对直接从训练数据中捕获的结果更有信心。这些成员推理攻击允许我们通过检查模型在特定序列中的置信度来预测结果在训练数据中是否有用。这项工作的主要技术贡献是开发了一种高精度推断成员资格的方法,以及以鼓励输出记忆内容的方式从模型中抽样的技术。我们测试了多种不同的采样策略,其中最成功的一种是根据各种输入短语生成文本。然后我们比较两种不同语言模型的输出。当一个模型对序列的置信度高而另一个(同样准确的)模型对该序列的置信度低时,很可能是第一个模型记住了数据。结果在GPT-2语言模型的1800个候选序列中,我们从公共训练数据中提取了600多个记忆,总数受到手动验证需求的限制。Remembered示例涵盖范围广泛的内容,包括新闻标题、日志消息、JavaScript代码、PII等。尽管这些例子在训练数据集中很少见,但其中很多都被记住了。例如,我们提取的许多PII样本仅在数据集中的单个文档中找到。然而,在大多数情况下,原始文档包含多个PII实例,因此模型仍然将其学习为高似然文本。最后,我们还发现,语言模型越大,越容易记住训练数据。例如,在一项实验中,我们发现15亿参数的GPT-2XL模型比1.24亿参数的GPT-2Small模型记住的信息多10倍。鉴于研究界已经训练了10到100倍大的模型,这意味着随着时间的推移,需要做更多的工作来监控和缓解越来越大的语言模型中的这个问题。经验教训虽然我们专门演示了对GPT-2的这些攻击,但它们显示了所有大型生成语言模型中的潜在缺陷。这些攻击是可能的这一事实对使用这些类型模型的机器学习研究的未来具有重要意义。幸运的是,有几种方法可以缓解这个问题。最直接的解决方案是确保模型未针对任何可能有问题的数据进行训练。但这在实践中很难做到。差分隐私的使用允许在数据集上进行训练,而不会泄露有关单个训练示例的任何细节,并且是训练具有隐私的机器学习模型的最有原则的技术之一。在TensorFlow中,这可以通过使用tensorflow/privacy模块(或类似的PyTorch或JAX)来实现,它是现有优化器的直接替代品。即使这样也是有限制的,并且不会阻止重复足够多次的内容的记忆。如果这不可能,我们建议至少测量发生了多少内存,以便采取适当的措施。语言模型继续展示出巨大的实用性和灵活性——然而,就像所有的创新一样,它们也伴随着风险。负责任地开发它们意味着主动识别这些风险并开发减轻风险的方法。我们希望这一突出大型语言建模当前弱点的努力将提高更广泛的机器学习社区对这一挑战的认识,并激励研究人员继续开发有效的技术来训练内存更少的模型。
