大语言模型中的提示隐私保护

news2024/11/15 8:06:06

大语言模型中的提示隐私保护

一、简介:

大语言模型(LLM) 拥有庞大的规模、预先训练的知识和卓越的性能,被广泛应用于各种任务。提示学习(prompt learning)和指令微调(instruction tuning) 是两种重要的使得大模型能理解具体任务的技术手段。然而,这些prompt或instruction常常会包含隐私信息,使得难以直接共享。本文讲解了两篇大语言模型中的prompt和instruction的隐私保护论文,它们都致力于如何在保护隐私的前提下利用大模型生成高质量的prompt和instruction。

二、Prompt的隐私保护:

论文:Flocks of Stochastic Parrots: Differentially Private Prompt Learning for Large Language Models

会议:NeurIPS 2023

Motivation

现有研究表明,LLM会记住用于训练或微调LLM的数据信息,从而造成数据隐私泄露 [1,2]。除了这些在训练/微调LLM时用到的数据隐私,当利用训练好的LLM执行下游任务时,所用到的prompt同样也会泄露用户隐私。比如,prompt可能会涉及知识产权,甚至有些prompt可能包含用户个人隐私信息。为了验证这个猜想,本文首先基于文本分类任务的prompt进行了成员推理攻击(MIA),目的是判断某个私有数据是否用在了prompt中。这里MIA的核心思想是,如果一个私有数据用在了prompt中(member),那么prompted LLM输出此数据正确类别的概率会比non-member要高(这里我感觉只适用于soft prompt,离散prompt不存在训练过程)。实验结果如图1所示:

可以发现,MIA成功率比random guess(红线)要好很多。因此作者得出结论prompt本身也会泄露用户隐私(感觉只能说soft prompt会泄露用户隐私)。

Method

首先本文设定LLM是黑盒访问,即不能改变LLM的参数,并且本文的任务限定为文本分类任务。为了防止隐私泄露,作者针对soft prompt和discrete prompt分别提出了方案。首先对于soft prompt,因为要发布的是prompted之后的模型,本质目的是为了让prompt向量不记住原始数据的隐私,所以可以直接用现有的DPSGD算法[3]来进行prompt向量的更新,称为PromptDPSGD。模型图如下:

对于discrete prompt,由于无法使用DPSGD,作者考虑利用原始的private prompts去生成新的满足差分隐私的prompt来发布(但本文限定在文本分类任务,所以合成操作只是合成了最后一个token,即文本的class,并没有考虑任意文本形式的prompt生成)。它借鉴了PATE(Private Aggregation of Teacher Ensembles)[4]模型的思想。PATE模型的提出是为了让机器学习\深度学习模型满足差分隐私性质。它首先将隐私数据划分成多个部分,然后在每个部分数据集上训练一个teacher模型,假设存在一些和隐私数据分布一致的public unlabeled data,PATE利用每个teacher模型给这些unlabeled data打标签,然后将所有teacher模型的结果做一个投票,并将投票的结果加入拉普拉斯噪音作为label。这样就把隐私数据的知识传递给了public data,并且可以证明满足差分隐私的性质。为了减少隐私预算,PATE利用labeled public data再训练一个student model,这样根据后处理规则,只有训练student model的数据会消耗隐私预算,之后的查询将不再消耗隐私预算。将PATE利用到discrete prompt,作者提出promptPATE,首先划分隐私数据并在每部分数据中设计private prompts作为teacher,然后将这些teacher prompts拼接unlabeled public data输入到LLM进行打标签,同样加入拉普拉斯噪音。最终从labeled public data中选取代表性的prompt作为student prompt进行发布。PromptPATE流程图如下所示:

Experiments

作者在四个文本分类数据集中验证了PromptDPSGD和PromptPATE的效果。可以看出,对比Prefix,full-tuning,LoRA三种调整大模型的方式,PromptDPSGD需要微调的参数更少,并且能达到相当的效果,同时还以合理的隐私预算满足了差分隐私性质。

而对于离散的prompt,作者比较了不同数据集的效果,以及IID和OOD下的迁移能力,可以看出PromptPATE在很少的隐私预算下达到了和不加隐私保护相当的效果,同时也发现当prompt样本数增多时(n-shot)和利用更强大的语言模型时(如GPT3-Curie),模型的效果会更好。

Conclusion

之前的工作对于LLM的隐私保护致力于防止大模型记住训练数据的隐私,即在训练或微调大模型的时候来保护这些训练数据的隐私。而这篇论文是第一篇保护prompt本身的论文,或者说,是在训练好大模型之后的阶段,利用大模型来做下游任务时对于下游数据的隐私保护。模型主要贡献点在于对离散prompt的保护,提出利用PATE合成满足差分隐私的promp,并在合理的隐私预算下取得了比较满意的结果,但是本文在motivation层面比较模糊(prompt是否含有隐私以及保护prompt隐私的挑战点),而且提出的模型只针对于few-shot文本分类任务(只是合成label),没有做到任意形式的prompt合成。

三、Instruction的隐私保护:

论文:Privacy-Preserving Instructions for Aligning Large Language Models

会议:ICML 2024

Motivation

上一篇论文致力于prompt本身的保护,假设对LLM是黑盒访问,不涉及LLM参数的微调。这篇论文更进一步,提出对instruction的保护。作者首先给出了instruction-tuning的一般步骤:

相较于对prompt的保护,instruction涉及微调大模型,因此整个过程包含了两方面的隐私泄露:(1)制作instruction的时候,需要手动给instruction打标签,这个时候收集的原始instruction中的隐私信息会泄露给打标签的人,(2)在微调LLM的时候,LLM本身会记住instruction中的隐私信息。简单来说就是保护instruction本身和防止LLM参数记忆。

Method

和promptPATE类似,这篇论文也提出合成满足差分隐私性质的instruction来替代原始instruction进行发布。整个流程如下图所示:

它共涉及两个阶段,第一个阶段是满足差分隐私的instruction-tuning。这里它同样采用了DP-Adam来对大模型进行隐私保护微调,此过程满足差分隐私(防止LLM记忆user instruction),所以微调后的LLM也可以进行发布。在得到微调后的LLM之后,就可以从LLM中采样生成合成的instructions,这也是和promptPATE不同的地方,promptPATE是少量(few-shot)文本分类prompt的合成,这里是大量任意文本形式的instructin合成(但这里应该需要大量的user instructions才能生成可用的合成instruction)。由于LLM的微调是基于DP-Adam,根据差分隐私后处理特性,后续对LLM的采样不消耗隐私预算。可以看出,相较于原始的instruction-tuning,这里第一阶段利用LLM来生成满足差分隐私的instructions,避免了标注人员的介入,并且得到的instructions不包含用户隐私,所以可以直接进行下游任务的instruction-tuning。但是,此时得到的instruction效用比较低,并不能直接代替原始instruction,所以作者又提出了第二阶段的instruction校正。核心思想是让合成instruction的分布和原始user instruction一致。首先将合成instruction和user instruction都经过编码器得到向量表示,然后对合成instruction进行k-means聚类分成k个簇。同时将user instruction的向量表示划分到每个簇中(按照到各个簇中心的距离)。这样就得到real user instruction的分布和合成 instruction的分布,之后对合成 instruction进行重新采样来逼近real instruction分布就可以了。注意此过程中real instruction的分布会泄露数据隐私,所以在得到向量后需要加上高斯噪音再进行发布以满足差分隐私。这里簇的大小K是隐私和效用的折中,教大的K会使分布刻画更准确但可能会更易受噪音影响(每个簇中的real instruction会变少),实验也发现,效用会随着K的增大先增加后平缓甚至减小。

Experiments

作者首先衡量了real instructions和合成instruction的分布差异,分别利用unigram和sentence-T5两个方法来衡量分布,利用MAUVE score来衡量分布差异。FLAN是一个public的OOD instruction datasets,可以看出虽然有很多public instructions,in-domain sensitive instructions仍旧是很重要的,public instructions的分布和in-domain的分布差异很大。同时可以看出,filtering(第二阶段的校正)有效缓解了分布差异。

下图同样展示了校正后的分布更贴近real instruction分布。

对于合成instruction的效用,作者比较了OOD instruction(FLAN),没有fine-tuning的public 模型Vicuna-v1.3,private instructions(Chatbot Arena)和本文合成的数据集(Synthetic)的效果。可以看出合成数据集达到了和real instructions相当的效果,并且优于FLAN和Vicuna-v1.3。这也说明了in-domain private instructions和对LLM进行fine-tune的重要性。

Conclusion

本文利用user的隐私instruction微调LLM合成满足差分隐私的instruction,然后再进行校正提高效用,最终就可以将合成的instruction进行发布。但本文需要用户端部署并微调LLM,这对资源受限设备提出了挑战。

四、总结

现有研究大多集中于研究如何防止LLM在训练过程中记忆训练数据中的隐私信息[4,5],这两篇论文致力于保护prompt/instruction本身的隐私,属于LLM应用中对不同对象的隐私保护。但对prompt/instruction的保护在隐私定义方面还比较模糊,在用户的instruction中可能只有部分信息具有隐私,或者用户会共享部分的信息,这种情况下需要设计更加个性化的prompt/instruction的隐私保护手段。同时还需要考虑在资源受限设备中的隐私保护手段(因为很难将LLM部署到资源受限设备上,所以现有基于LLM的prompt/instruction发布不可行)。后续可能研究方向还包括对多种模态数据的prompt/instruction隐私保护。

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

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

相关文章

决策树基础

概述 决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一 个测试输出,每个叶结点代表一种类别。决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树&#xff…

自学Java第16Day

学习目标:面向对象进阶 学习内容:Object、Objects、BigInteger、BigDecimal、正则表达式 学习时间:下午 3 点-下午 6 点 学习产出: 1. Object类 1.1 概述 查看API文档,我们可以看到API文档中关于Object类的定义如下&…

【SpringBoot3】场景整合(实战)

0 环境准备 0.0 云服务器 阿里云、腾讯云、华为云 服务器开通; 按量付费,省钱省心 安装以下组件:docker、redis、kafka、prometheus、grafana 下载windterm: https://github.com/kingToolbox/WindTerm/releases/download/2.5…

React-Native 宝藏库大揭秘:精选开源项目与实战代码解析

1. 引言 1.1 React-Native 简介 React-Native 是由 Facebook 开发的一个开源框架,它允许开发者使用 JavaScript 和 React 的编程模型来构建跨平台的移动应用。React-Native 的核心理念是“Learn Once, Write Anywhere”,即学习一次 React 的编程模型&am…

《LeetCode热题100》---<5.普通数组篇六道>

本篇博客讲解LeetCode热题100道普通数组篇中的六道题 第一道:最大子数组和(中等) 第二道:合并区间(中等) 第一道:最大子数组和(中等) 法一:贪心算法 class So…

文件上传漏洞--之upload-labs靶场(第1关到第5关)专栏更新ing.....

第一关&#xff1a; 第一步&#xff1a;新建一个木马文件muma.php 第二步&#xff1a;在木马文件中写入一句话木马访问php主页 <?php eval(phpinfo());?> ​ 第三步&#xff1a;直接上传试一下 现上传一个png格式文件查看一下 然后上传一句话木马文件的&#xff0c;…

C:图案打印

引言 本篇文章讲了一些常见的图形编程题&#xff0c;并总结了一些规律。 1、打印空心正方形 1.1 代码展示&#xff1a; #include<stdio.h> int main() {int a 0;//边长初始化scanf("%d", &a);//输入边长的值{int i 0;for (i 0; i < a; i)//控制行…

面试经典算法150题系列-数组/字符串操作之多数元素

序言&#xff1a;今天是第五题啦&#xff0c;前面四题的解法还清楚吗&#xff1f;可以到面试算法题系列150题专栏 进行复习呀。 温故而知新&#xff0c;可以为师矣&#xff01;加油&#xff0c;未来的技术大牛们。 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其…

Python 提取excel中嵌入的图片

注意&#xff1a;是嵌入在单元格里的图片&#xff0c;嵌入在单元格里的图片&#xff0c;嵌入在单元格里的图片 会显示这种类似的命令&#xff08;office好像不支持查看&#xff0c;wps可以查看这个位置显示的图片&#xff09; 网上好多都说用 _image 提取&#xff0c;经测试,…

精装房、旧房改造智能家居,单火线也有“救”了单火模块 零线发生器

精装房、旧房改造智能家居&#xff0c;单火线也有“救”了单火模块 零线发生器 史新华 以前写过关于智能家居没有预留零线&#xff0c;导致无法安装零火开关&#xff0c;也没办法装触控屏&#xff0c;主要原因还是无法通过零火线给设备供电。今年最火的一款思万奇零线发生器救…

LCM接口通讯说明

LCM&#xff08;Liquid Crystal Module&#xff0c;液晶模块&#xff09;接口通讯说明涉及多种接口类型和通讯方式&#xff0c;这些接口和通讯方式的选择取决于具体的应用场景和需求。 最常见的LCD模块接口协议是&#xff1a; 1.并行接口 2.串行接口 3.串行或并行配置到微处…

MySql的中的MVCC解决事务隔离性

MVCC 如何保证事务的隔离性&#xff1f; 1.排他锁&#xff1a;如一个事务获取了一个数据行的排他锁&#xff0c;其他事务就不能再获取改行的其他锁。 2.MVCC&#xff1a;多版本并发控制。 MVCC&#xff1a; 1.隐藏字段 1.DB_TRX_ID&#xff1a;最近修改事务的id。默认值从0开…

ShardingSphere-Jdbc + Spring Security + Redis 实现简单JWT认证

1. 项目结构 2. 数据库相关操作 create database user_profiles; use user_profiles; CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL UNIQUE,password VARCHAR(255) NOT NULL,email VARCHAR(255) UNIQUE,role VARCHAR(2…

数据结构之《二叉树》(上)

在之前的数据结构的学习中&#xff0c;我们了解了顺序表、链表等线性表&#xff0c;接下来在本篇中将要学习一种非线性的数据结构——树&#xff0c;我们将来了解树的相关概念和性质&#xff0c;在树当中将重点学习二叉树的结构和特性。学习完相关概念后将试着实现二叉树&#…

我是怎么解决一个电力采集问题的全过程分享

行业设备联网&#xff0c;没人开发/开发太慢/投入太大 怎么办&#xff1f;用合宙DTU整体解决方案&#xff01; 一、整体解决方案内容 合宙DTU整体解决方案 DTU硬件&固件SIM卡业务云平台APP&小程序&web h5页面看板&#xff1b; 合宙提供的DTU整体解决方案&#x…

免费【2024】springboot 宠物中心信息管理系统app

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

【超级宠物】-对战游戏

【超级宠物】是一款轻松好玩的休闲趣味卡通宠物模拟养成游戏,游戏中玩家需要不断的训练你的小宠物以参加比赛,你将会是一名专业的训宠物大师,成功的培养自己的宠物成为宠物之星。 超级宠物是一款充满趣味的休闲趣味宠物养成模拟竞技游戏&#xff0c;游戏中玩家需要培养你的狗狗…

Ollama0.3.0 + llama3.1本地部署

Ollama0.3.0 llama3.1本地部署 安装Ollama 官网下载安装包 https://ollama.com/download ​​ 根据系统选择对应版本 安装完成后&#xff0c;电脑右下角会出现ollama程序图标&#xff0c;表示ollama正在运行。 ​​ 打开cmd命令 下载Llama3.1 输入ollama&#xff0c…

51单片机嵌入式开发:22、STC89C52R控制 实现单总线温度传感器DS18b20的温度读取

STC89C52R控制 实现单总线温度传感器DS18b20的温度读取 1 概述1.1 介绍1.2 特点1.3 应用领域 2 DS18B20原理详解2.1 内部机理2.2 读写时序2.3 DS18B20操作代码程序 3 演示4 总结 配套演示例程 1 概述 DS18B20是一款数字温度传感器&#xff0c;由Maxim Integrated&#xff08;美…

linux下frambuffer的使用

什么是Framebuffer&#xff1f; Framebuffer是一个内存区域&#xff0c;操作系统可以通过它直接控制显示设备的像素。与传统的图形加速硬件不同&#xff0c;framebuffer不依赖于图形处理器&#xff0c;而是通过CPU来处理图形数据。这种方式虽然在性能上可能不如硬件加速&#…