向ChatGPT提特殊问题,可提取原始训练数据!

随着ChatGPT等模型的参数越来越大,预训练数据也呈指数级增长。谷歌DeepMind、华盛顿大学、康奈尔大学等研究人员发现,无论是开源还是闭源模型,在训练过程中皆能记住一定数量的原始训练数据样本。

如果使用特定的恶意攻击,便能轻松地从模型中提取海量训练数据,同时会威胁到数据所有者的隐私。

研究人员使用的攻击方法也非常简单,就是让ChatGPT(GPT-3.5)无限重复某个词语,例如,无限重复“公司”二字

最初ChatGPT会一直重复这个词语,达到一定数量时,居然神奇的出现某公司的地址、历史、营业范围等其他原始数据。

而这些数据并非神经元重组的文本内容,研究人员已经分享了该成功案例。

论文地址:https://arxiv.org/abs/2311.17035

攻击成功案例展示地址:https://chat.openai.com/share/456d092b-fb4e-4979-bea1-76d8d904031f

图片

一开始ChatGPT正常回答

图片


一定数量后,开始吐出原始训练数据

攻击方法与原理

研究人员使用了一种“可提取记忆”的攻击技术概念,这区别于训练数据的“可发现记忆”。

“可发现记忆”是攻击者知道训练数据集,可以直接从中提取数据;而“可提取记念”是攻击者无从得知训练数据,需通过模型本身得到数据。

简单来说,攻击者没有数据训练集的直接访问权限,只能通过解读和分析AI模型的“行为”或“反应”来推断出档案库中可能存储了哪些信息。就像是一位偷宝箱的人,他没有钥匙,只能从宝箱形状来判断里面装了哪些财宝

图片

研究人员使用了随机提示、尾递归索引检测、重复引发发散等多种攻击方法,终于通过重复引发发散发现了数据安全漏洞。

1)随机提示攻击

研究人员从维基百科等开源文本中采样5个词组作为提示,输入到语言模型中,要求它基于提示继续生成文本。

通过这个随机提示,模型产生的一些文本可能就是训练数据集中的内容。

2)尾递归索引检测

为了高效检测生成文本是否源自训练数据集,研究人员构建了一个“尾递归索引”。

这个数据结构按字符串后缀排序存储所有训练数据集文本,支持快速的子字符串查询操作。通过这个索引可以检测提示是否产生训练数据。

3)重复引发发散

研究人员发现,反复以单个词汇提示语言模型,可以引发生成与训练数据完全一致的长文本。这是因为模型难以持续重复一个词汇,从而“发散”到其他文本。

图片

为了评估攻击效果,研究人员构建了一个9TB的辅助数据集AUXDATASET,包含公开的大型语言模型预训练数据集。基于这个数据集,他们能够机械化地验证生成的样本是否出现在训练数据中

实验数据显示,即使不使用真实的训练数据作为提示,现有的提取攻击也能恢复大量记忆中的训练数据,远超过先前的估计。

例如,研究人员从6B参数的GPT-Neo模型中提取出近1GB的训练数据。这证明可提取记忆的数量要比人们普遍认为的要大得多。

图片

接着继续对9个不同的商业AI模型进行攻击。结果同样惊人,很多模型可以提取出GB量级的训练文本。例如,从LLaMA模型提取出2.9万个长度为50的记忆文本。

对ChatGPT进行特定提问

研究人员还专门分析了ChatGPT,因为它使用了数据安全对齐技术模拟真人对话,模型就不太容易泄露训练数据。

但是经过深度分析,研究人员还是找到了一个提示策略,可以让ChatGPT失去控制,然后像普通语言模型一样开始泄漏数据。该方法就是让模型无限重复回答一个词语。

通过该攻击方法,研究人员仅用了200美元便从ChatGPT提取出了1万个训练示例!如果花费更多的钱,可能会从ChatGPT提取大约1G的训练数据。

图片

研究人员认为,ChatGPT的高容量存储和大量重复训练数据,会增加其对训练数据的记忆,即便是采用了严格的安全对齐技术也能出现数据泄漏的问题。

所以,如果预训练中使用了太多敏感数据,很可能会被其他人利用。

截至目前,ChatGPT已经修复了该漏洞,当你在提问重复某个词句的无限重复要求时,会提示“根据OpenAI的使用政策,我不能参与重复无意义内容的行为。”

本文素材来源谷歌论文,如有侵权请联系删除

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch中Group Normalization的具体实现

Group Normalization (GN) 是一种用于深度神经网络中的归一化方法,它将每个样本划分为小组,并在每个小组内进行标准化。与批归一化(Batch Normalization)不同,Group Normalization 不依赖于小批量数据,因此…

论文阅读——ScanQA

ScanQA: 3D Question Answering for Spatial Scene Understanding 输入:点云P和问题Q,输出:答案A 点云p由三维坐标点组成。本文模型使用额外的点云特征:点云高度、颜色、法线和多视图图像特征,这些特征将 2D 外观特征投…

SD-WAN架构:优化连接以提升性能

SD-WAN架构主要分为三种类型,分别为本地架构、支持云的架构、支持云的骨干架构。每一种架构都基于它们利用广域网(WAN)的方式而有其独特的优势。本文将对三种SD-WAN架构进行简要介绍。 SD-WAN本地架构 SD-WAN本地架构是在现场使用SD-WAN盒或…

MATLAB代码:分布式电源接入对配电网影响分析

微♥关注“电击小子程高兴的MATLAB小屋”获取专属优惠 关键词:分布式电源 配电网 评估 仿真平台:MATLAB 主要内容:代码主要做的是分布式电源接入场景下对配电网运行影响的分析,其中,可以自己设置分布式电源接入…

归并排序的实现

一.思想 归并排序是一种基于分治思想的经典排序算法。其主要思想可以总结为以下几个步骤: 分解(Divide): 将原始序列划分为若干子序列,直到每个子序列包含一个或零个元素,即认为这些子序列是有序的。 解决…

Xcode编译速度慢是什么原因?如何提高编译速度?

Hello各位伙伴们好,我是咕噜铁蛋!作为一个开发者,我们都希望能够高效地开发应用程序,而编译速度是影响开发效率的重要因素之一。然而,有时候我们会发现在使用 Xcode 进行开发时,编译速度非常慢,…

beebox靶场A3 中等级别 xss通关教程

特别注意,低级和中级的差别在于中级使用了一些函数进行了过滤或转义字符 例如 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。 预定义字符是: 单引号()双引号(")反斜杠(\&…

国内安卓、iOS在选择广告变现平台上有哪些不同?

流量作为广告变现的基础,如何合理利用流量,发挥其最大价值,是每个媒体都会面临的问题。售卖流量,可以通过聚合SDK进行分发售卖,广告分层需要根据产品本身的表现效果进行调整,不同广告平台在不同的应用里面表…

怎么让gpt帮忙改文章 (1) 快码论文

大家好,今天来聊聊怎么让gpt帮忙改文章 (1),希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 怎么让GPT帮忙改文章 一、背景介绍 随着人工智能的发展,自然语言处理技术已经成为了许…

BeautifulSoup学习

前期准备&#xff1a; pip install bs4 pip install lxml bs解析器 从上面的表格可以看出&#xff0c;lxml解析器可以解析HTML和XML文档&#xff0c;并且速度快&#xff0c;容错能力强&#xff0c;所有推荐使用它。 节点选择器 获取名称 soup BeautifulSoup(<b class&…

【Spark精讲】Spark作业执行原理

基本流程 用户编写的Spark应用程序最开始都要初始化SparkContext。 用户编写的应用程序中&#xff0c;每执行一个action操作&#xff0c;就会触发一个job的执行&#xff0c;一个应用程序中可能会生成多个job执行。一个job如果存在宽依赖&#xff0c;会将shuffle前后划分成两个…

得帆云为玉柴打造CRM售后服务管理系统,实现服务全过程管理|基于得帆云低代码的CRM案例系列

广西玉柴机器股份有限公司 广西玉柴机器股份有限公司始建于1992年&#xff0c;是国内行业首家赴境外上市的中外合资企业&#xff0c;产品远销亚欧美非等180多个国家和地区。公司总部设在广西玉林市&#xff0c;下辖11家子公司&#xff0c;生产基地布局广西、江苏、安徽、山东等…

云服务器部署可视化Docker私有仓库(Ubuntu)

这里测试的机器为ubuntu22.04 一、环境安装 docker安装就不赘述了 先升级&#xff0c;再从官方仓库安装docker compose apt update apt upgrade apt install docker-compose二、部署私有仓库UI Docker提供了一个叫registry的镜像&#xff0c;给大家搭建私有仓库&#xff0c…

《地理信息系统原理》笔记/期末复习资料(12. 地理信息工程)

目录 12. 地理信息工程 12.1. 地理信息系统工程的概念 12.2. 地理信息系统工程建设过程 12.2.1. 应用型地理信息系统设计步骤和方法 12.2.2. 需求分析 12.2.3. 系统设计 12.2.4. 系统开发与实施 12.2.5. 系统的评价和维护 12.3. GIS标准 12.4. 习题 12. 地理信息工程…

交友系统:打造独具魅力的社交平台!APP小程序H5三端源码交付,支持二开!

随着社交媒体的兴起&#xff0c;交友系统成为了现代社会不可或缺的一部分。人们希望通过网络结识新朋友&#xff0c;拓展社交圈&#xff0c;寻找志同道合的伙伴&#xff0c;甚至找到自己的爱情。本文将为您介绍交友系统的定义、功能以及如何打造一个独具魅力的社交平台。 一个成…

maui sqlite开发一个商城加购物车的演示(1)

界面演示 using ShoppingUI;namespace ShoppingUI;public partial class App : Application {public App(){InitializeComponent();MainPage new LoginPage();}static LoginDatabase database;// Create the database connection as a singleton.public static LoginDatabase …

记录 DevEco 开发 HarmonyOS 应用开发问题记录 【持续更新】

HarmonyOS 应用开发问题记录 HarmonyOS 应用开发问题记录一、预览器无法成功运行?如何定位预览器无法编译问题? 开发遇到的问题 HarmonyOS 应用开发问题记录 一、预览器无法成功运行? 大家看到这个是不是很头疼? 网上能看到许多方案,基本都是关闭一个配置 但是他们并…

优雅玩转实验室服务器(三)vscode is all you need

在前两章解决了传输问题和连接问题后&#xff0c;我们紧接着遇到一个新的需求&#xff1a;我们需要coding呀&#xff0c;你当然可以说&#xff0c;我们可以用vim和对应的插件来搭建一个IDE呀&#xff0c;fine&#xff0c;我甚至可以给你推荐如下的教程&#xff1a; Vim 到底可…

计网 - TCP扫盲

文章目录 知识点TCP头格式TCP有限状态机&#xff08;FSM&#xff09;为何需要TCP协议TCP的定义TCP连接的概念如何唯一确定一个TCP连接TCP vs UDPTCP拥塞控制TCP流量控制 导图 知识点 TCP头格式 TCP头部包含多个字段&#xff0c;其中一些是必需的&#xff0c;而另一些是可选的…

Linux 搭建 gitlab

目录 前言安装依赖项添加GitLab存储库安装GitLab CE创建新存储目录编辑GitLab配置文件,例如更改默认域名或端口:重新配置并启动GitLab服务以应用更改:前言 centos搭建gitlab代码仓库 安装依赖项 在安装GitLab之前,您需要先安装一些必要的依赖项: yum install -y curl …