论文翻译:USENIX-2021 Extracting Training Data from Large Language Models

news2024/11/16 1:21:35

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:我们的提取攻击。给定对神经网络语言模型的查询访问,我们提取了一个人的姓名、电子邮件地址、电话号码、传真号码和实际地址。这个图示中的示例显示的信息都是准确的,所以我们对其进行了编辑以保护隐私。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2130341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyTest装饰器

控制用例执行顺序的方法在需要调整用例执行顺序的函数(或方法)前增加 pytest.mark.run(orderx) x表示数字数字形式: 小数、整数、负数 执行顺序: 1、由小到大 2、由正到负 3、未标记 的在正数后,负数前执行 顺序&a…

高并发内存池(4)——实现CentralCache

目录 一,CentralCache的简单介绍 二,CentralCache的整体结构 三,CentralCache实现的详细代码 1,成员 2,函数 1, 获取单例对象的指针 2, FetchRangeObj函数 3,GetOneSpan函数实现…

干货分享丨智造底座——AI算力池化的必要与实践

为了帮助工业企业更好地了解数据存储及管理的应用趋势,e-works在线学院于2022年9月23日14:00举办了以“工业数据存储及管理”为主题的线上研讨会。 趋动科技售前工程师Johny Hong受邀作主题分享,并与线上几千观众共同探讨了建设智造底座——AI算力池化的…

【学习笔记】手写 Tomcat 三

目录 多线程处理 1. 创建线程 thread 2. 使用 start() 启动线程 3. 启动服务端 响应动态资源 JDBC 创建 lib 文件夹,存放第三方 jar包 JDBC 的7个步骤 定义响应动态资源的方法 DTO 数据传输对象 再创建一个响应方法 测试 作业 1. 客户端发送 -1 报错…

ES-Search API

一、Search API的分类 URI Search 在url中传入查询参数进行查询,Request Body Search 使用es提供的,基于json的更加完备的Query Domain Specific Language(DSL) 语法范围/_search集群上所有的索引/index1/_search查询索引名为index1的索引/index1,inde…

828华为云征文|基于华为云Flexus云服务器X部署Minio服务

文章目录 ❀前言❀Minio简介❀部署环境准备❀yum环境配置❀安装docker❀获取镜像❀创建挂载目录❀启动容器❀查看容器状态❀安全组开放❀浏览器访问❀总结 ❀前言 大家好,我是早九晚十二。 近期华为云推出了最新的华为云Flexus云服务器X,这款云主机在算…

开发模式和环境搭建

后台用到的知识 Validatation:参数校验Mybatis:数据库的操作Redis:缓存Junit:单元测试项目部署 开发模式 使用接口文档对应路径和请求方式、请求参数、响应数据作详细说明。 环境搭建 执行big_event.sql脚本准备数据库表 创建…

240416 初始化列表 构造与隐式类型转换 static成员 友元 内部类

一、初始化列表 1、认识 【P】Stack不具备默认构造,MyQueue也无法生成默认构造 【S】引入初始化列表 MyQueue(int n):_pushst(n),_popst(n),_size(0) {}初始化列表本质上可以理解为每个对象中成员定义的地方 所有成员既可以在初始化列表初始化,也可以…

1. geoserver 安装

1. 下载 geoserver官网 以window为例 选择稳定版本 不同平台需要下载不同安装包 如果需要发布瓦片图层,需要下载扩展插件 前提需要有java环境,根据提示默认安装,需要安装在不同位置选择自己的文件夹即可 2. 使用 扩展插件解压之后的所…

【油猴脚本】编写一个简单的油猴(Tampermonkey)脚本,在网页中加入一个表格

前言:哈喽,大家好,今天给大家分享【油猴脚本】编写一个简单的油猴(Tampermonkey)脚本,在网页中加入一个表格!并提供具体代码帮助大家深入理解,彻底掌握!创作不易&#xf…

2024年最新老薛主机优惠码

老薛主机优惠码是其推出的一种优惠促销方式,大家在新购或续费老薛主机相关产品时,填写使用优惠码可以享受专属折扣。 一、老薛主机优惠码 1、终身七折优惠码:u70 2、新购七折优惠码:ABC 二、优惠码适用范围 老薛主机的优惠码通…

《使用 LangChain 进行大模型应用开发》学习笔记(三)

前言 本文是 Harrison Chase (LangChain 创建者)和吴恩达(Andrew Ng)的视频课程《LangChain for LLM Application Development》(使用 LangChain 进行大模型应用开发)的学习笔记。由于原课程为全英文视频课…

Keil MDK报错:Browse information of one or more files is not available----解决方法:

Keil MDK报错:Browse information of one or more files is not available----解决方法: 问题描述 最近在项目中遇到这样一个问题:拷贝过来添加到工程的.c文件在编译时报如下错误: 解决方案: 总结以下一些解决办法&…

PCL 读取和保存点云

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、概述 1.1原理 PCL (Point Cloud Library) 是…

开源免费的工贸一体行业ERP管理系统

引言 在当今数字化浪潮汹涌澎湃的时代,中小企业面临着前所未有的挑战与机遇。如何实现数字化转型发展,成为了众多中小企业主心头的大事。 据相关数据显示,目前我国中小企业数量已经超过了 4000 万户,然而成功实现数字化转型的比例…

单向链表之创建,插入,输出(下)

文章目录 🍊自我介绍🍊插入(下)尾插法有序插入:按照指定顺序插入 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 H…

Arduino 2线串行 通信 驱动 LCD 12864

上效果图片 源代码 Arduino 328p /****************************************************************** 2线 LCD 12864 (屏幕主控芯片 ST7920)******************************************************************//***********************端口/引脚定义区域************…

Golang | Leetcode Golang题解之第401题二进制手表

题目&#xff1a; 题解&#xff1a; func readBinaryWatch(turnedOn int) (ans []string) {for i : 0; i < 1024; i {h, m : i>>6, i&63 // 用位运算取出高 4 位和低 6 位if h < 12 && m < 60 && bits.OnesCount(uint(i)) turnedOn {ans …

WPF创建不规则窗体时WebBrowser控件不显示的问题

最近有小伙伴需要在不规则窗体上放置WebBrowser控件&#xff0c;因为设置了WindowStyle"None" 和 AllowsTransparency"True"。 导致WebBrowser控件不显示。 界面代码如下所示&#xff1a; 1 <Window x:Class"WebBrowserDemo.MainWindow" …

【CTF Web】BUUCTF BUU UPLOAD COURSE 1 Writeup(文件上传+PHP+文件包含漏洞)

BUU UPLOAD COURSE 1 1 上课用~ 点击启动靶机。 解法 疑似存在文件包含漏洞。 http://15a5666e-1796-4f76-b892-0b69cf97df8e.node5.buuoj.cn:81/index.php?fileupload.php查看网页源代码。判断是后端检查。 <!DOCTYPE html> <html lang"zh-cn"> &…