Data security.隐私保护 -【论文阅读】Privacy-Preserving Prompt Tuning for Large Language Model Services论文解读
目录
一、摘要(主要讲论文简介,阐述工作内容,创新点,效果)
提示调优为用户提供了一种有效的方法,可以在新兴的LLM服务场景中使用其自有数据定制大型语言模型(LLM)。然而,私有数据的敏感性使得在LLM服务定制中需要进行隐私保护。基于提示调优,我们提出了隐私保护提示调优(RAPT),这是一个为LLM服务提供隐私保证的框架。RAPT采用本地隐私设置,允许用户以本地差分隐私的手段在本地私有化数据。由于直接在私有化数据上进行训练时,提示调优表现不佳,我们引入了一种新的私有词元(token)重构任务,该任务与下游任务联合训练,允许LLM学习更好的依赖于任务的表示。尽管我们的框架很简单,但实验表明,RAPT在保护隐私的同时,在不同任务中实现了具有竞争力的性能。
1.Prompt-Tuning
以GPT-3、PET为首提出一种基于预训练语言模型的新的微调范式,旨在通过添加模板的方法来避免引入额外的参数,从而让语言模型可以在小样本(Few-shot)或零样本(Zero-shot)场景下达到理想的效果。简单的来说,Prompt-Tuning的动机旨在解决目前传统Fine-tuning的两个痛点问题:
- 降低语义差异 :预训练任务主要以Masked Language Modeling(MLM)为主,而下游任务则重新引入新的训练参数,因此两个阶段的目标通常有较大差异。因此需要解决如何缩小Pre-training和Fine-tuning两个阶段目标差距过大的问题
- 避免过拟合 :由于在Fine-tuning阶段需要新引入额外的参数以适配相应的任务需要,因此在样本数量有限的情况容易发生过拟合,降低了模型的泛化能力。因此需要面对预训练语言模型的过拟合问题。
Prompt的目的是将Fine-tuning的下游任务目标转换为Pre-training的任务。 如何工作?
以二分类的情感分析作为例子,Prompt-Tuning执行如下步骤:
- 构建模板(Template Construction) :通过人工定义、自动搜索、文本生成等方法,生成与给定句子相关的一个含有[MASK]标记的模板。例如It was [MASK].,并拼接到原始的文本中,获得Prompt-Tuning的输入:[CLS] I like the Disney films very much. [SEP] It was [MASK]. [SEP]。将其喂入BERT模型中,并复用预训练好的MLM分类器(在huggingface中为BertForMaskedLM),即可直接得到[MASK]预测的各个token的概率分布;
- 标签词映射(Label Word Verbalizer) :因为[MASK]部分我们只对部分词感兴趣,因此需要建立一个映射关系。例如如果[MASK]预测的词是“great”,则认为是positive类,如果是“terrible”,则认为是negative类。
- 训练:根据Verbalizer,则可以获得指定label word的预测概率分布,并采用交叉信息熵进行训练。此时因为只对预训练好的MLM head进行微调,所以避免了过拟合问题
而面向超大规模模型,出现了以下几个Prompt-Tuning方法,分别为:
- 上下文学习 In-Context Learning(ICL) :直接挑选少量的训练样本作为该任务的提示;
- 指令学习 Instruction-tuning :构建任务指令集,促使模型根据任务指令做出反馈;
- 思维链 Chain-of-Thought(CoT) :给予或激发模型具有推理和解释的信息,通过线性链式的模式指导模型生成合理的结果。
2.掩蔽语言模型(MLM)
在屏蔽语言建模中,通常掩蔽给定句子中特定百分比的单词,模型期望基于该句子中的其他单词预测这些被掩蔽的单词。这样的训练方案使这个模型在本质上是双向的,因为掩蔽词的表示是根据出现的词来学习的,不管是左还是右。可以把它想象成一个填空式的问题陈述。具体的可以描述为:
- 替换策略:在所有语料中,随机抽取15%的文本。被选中的文本中,则有80%的文本中,随机挑选一个token并替换为 [mask],10%的文本中则随机挑选一个token替换为其他token,10%的文本中保持不变。
- 训练目标:当模型遇见 [mask] token时,则根据学习得到的上下文语义去预测该位置可能的词,因此,训练的目标是对整个词表上的分类任务,可以使用交叉信息熵作为目标函数。
3.下游任务
几种NLP有关的下游任务:
Single-text Classification(单句分类) :常见的单句分类任务有短文本分类、长文本分类、意图识别、情感分析、关系抽取等。给定一个文本,喂入多层Transformer模型中,获得最后一层的隐状态向量后,再输入到新添加的分类器MLP中进行分类。在Fine-tuning阶段,则通过交叉信息熵损失函数训练分类器;
Sentence-pair Classification(句子匹配/成对分类):常见的匹配类型任务有语义推理、语义蕴含、文本匹配与检索等。给定两个文本,用于判断其是否存在匹配关系。此时将两个文本拼接后喂入模型中,训练策略则与Single-text Classification一样;
Span Text Prediction(区间预测):常见的任务类型有抽取式阅读理解、实体抽取、抽取式摘要等。给定一个passage和query,根据query寻找passage中可靠的字序列作为预测答案。通常该类任务需要模型预测区间的起始位置,因此在Transformer头部添加两个分类器以预测两个位置。
Single-token Classification(字符分类):此类涵盖序列标注、完形填空、拼写检测等任务。获得给定文本的隐状态向量后,喂入MLP中,获得每个token对应的预测结果,并采用交叉熵进行训练。
Text Generation(文本生成):文本生成任务常用于生成式摘要、机器翻译、问答等。通常选择单向的预训练语言模型实现文本的自回归生成,当然也有部分研究探索非自回归的双向Transformer进行文本生成任务。BART等模型则结合单向和双向实现生成任务。
这几类任务基本可以涵盖现有的自然语言处理场景中,而这五类任务在Fine-tuning阶段几乎都涉及 在模型头部引入新参数 的情况,且都存在 小样本场景过拟合 的问题,因此Prompt-Tuning的引入非常关键。
4.本地差分隐私
本地差分隐私(LDP)是一种最先进的方法,在保护每个用户隐私的同时允许统计计算。与差分隐私(DP)不同,由于在本地向用户输入添加了噪声,因此不需要一个可信的数据中心。在本地中,每个用户在将自己的输入传输到不受信任的服务器之前对其进行编码和干扰。然后,服务器可以计算输入数据的统计查询。
对于差分隐私,它是通过严格的数学证明,使用随机应答(Randomized Response)方法确保数据集在输出信息时受单条记录的影响始终低于某个阈值,从而使第三方无法根据输出的变化判断单条记录的更改或增删,被认为是目前基于扰动的隐私保护方法中安全级别最高的方法。
那么对于一个随机化算法 A (所谓随机化算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布),其分别作用于两个相邻数据集得到的两个输出分布难以区分。差分隐私形式化的定义为:
也就是说,如果该算法作用于任何相邻数据集,得到一个特定输出 O 的概率应差不多,那么我们就说这个算法能达到差分隐私的效果。也就是说,观察者通过观察输出结果很难察觉出数据集一点微小的变化,从而达到保护隐私的目的。
那如何才能得到差分隐私呢?最简单的方法是加噪音,也就是在输入或输出上加入随机化的噪音,以期将真实数据掩盖掉。比较常用的是加拉普拉斯噪音。由于拉普拉斯分布的数学性质正好与差分隐私的定义相契合,因此很多研究和应用都采用了此种噪音。
对于本地差分隐私,
二、引言(介绍研究背景,研究意义,发展历程,提出问题)
近年来,大型语言模型(LLMs)取得了巨大的成功(Devlin等人,2018年;Brown等人,2020年)。随着llm规模的不断扩大,提示调优方法(Li和Liang,2021;Lester等人,2021)已经成为一种简单和参数有效的解决方案,可以指导llm转向下游任务,不仅实现了具有竞争力的性能,而且实现了混合任务推理(Li和Liang,2021)。.LLM的大规模也使它们为个人用户部署和运行的成本十分昂贵。因此,最近的LLM通常作为云服务发布,并且通常附带一个提示调优API,供用户定制LLM,最近的NVIDIA NeMo LLM服务就是例证。
尽管提示调优api为用户提供了定制和利用LLM服务的一种有效方式,但私有数据的敏感性在使用LLM服务时带来了对私有数据泄漏的担忧。要及时地定制和利用LLM服务,用户需要将他们的数据上传到服务提供商。然而,众所周知,输入文本甚至嵌入表示可能会向私人信息泄露给各种对手(Coavoux et al.,2018)。因此,在使用和定制LLM的同时提供隐私保护,使LLM服务可信是很重要的。
然而,在LLM服务中,隐私保护具有挑战性。首先,在LLM服务的上下文中,为私有数据提供隐私保证并不简单。关于LLM隐私保护的现有工作(Yu等人,2021a;石等人,2021;Anil等人,2021;Hoory等人,2021;李等人,2021;Shi等人,2022)专注于集中的隐私设置,它依赖于服务提供商来保护用户免受隐私泄露。对于一个诚实但又好奇的服务提供商或中间窃听者,这种设置可能并不令人满意(Lyu et al.,2020)。其次,实施隐私保护不可避免地会降低下游任务的性能,这被称为隐私-效用权衡。Yang和Liu(2022)发现,提示调优缺乏鲁棒性,因此,在提供隐私保护时,定制具有提示调优的llm很可能会遭受难以承受的性能下降。
为了解决上述挑战,我们提出了隐私保护提示调优(RAPT),这是一个定制和利用LLM服务的框架。对于隐私保护,RAPT采用了本地隐私设置(Lyu等人,2020年;Qu等人,2021年),其中用户在发布数据之前对本地数据应用隐私机制。具体来说,RAPT 使用了文本到文本的私有化,其是基于本地差分隐私的 。为了减轻在实施隐私保护时的性能下降,我们提出了一种新的私有化词元(token)重建任务,它是基于最近的研究发现,即掩蔽语言建模目标可以学习可分离的深度表示(Voita等人,2019年;Mamou等人,2020年)。私有化词元(token)重构的目标是从LLM表示中恢复私有化特殊词元(token)序列的原始内容,这是受到掩码语言建模成功的启发(Devlin et al.,2018)。与标准的提示调优不同,RAPT在下游和私有化的词元重构任务上共同进行提示的训练。通过这种方式,RAPT结合了轻量级和提示调优的模块化的好处,同时通过私有化的词元重构提供了改进的效用(即性能)。图1给出了我们的RAPT框架的概述。
三、相关工作(相关研究算法简介,分析存在的缺点)
最近关于LLM隐私保护的研究大致可以分为集中式方法和本地式方法。
1.集中式的方法
现有的大多数工作集中于集中式隐私设置,这依赖于一个中央数据管理员来保护数据免受隐私泄露。有很多工作需要研究如何训练保护隐私的LLM(Carrini等人,2021;Hoory等人,2021;李等人,2021;Yu等人,2021b),这超出了本工作的范围。Kerrigan等人(2020年)使用递向私有微调来保护用于微调公共语言模型的私有数据。Yu等人(2021a)研究了在微调阶段使用适配器和前缀调整等轻量级微调方法来保护隐私数据。我们的设置与所有的这些工作都不同。我们研究了在使用LLM服务时保护用户的私有数据,而不假设存在中央数据管理员。
2.本地式的方法
本地方法施加了更强程度的隐私保护,但代价是效用的损失(即下游任务的性能)。Lyu等人(2020)研究了使用差异私有神经表示方法在局部隐私保护下保持模型的效用。他们只在推理阶段考虑隐私保护,而不考虑微调阶段。Qu等人(2021)提出了一种隐私约束微调(PCF)方法,用于在微调和推理阶段的隐私保护。他们的方法需要在私有化的数据上微调整个模型,这对于大型语言模型来说是非常昂贵的。我们的方法也采用了本地隐私设置,并支持对微调和推理阶段的隐私保护,但它是轻量级的。 我们还引入了一种新的私有化词元重构任务,以提高在使用私有化数据进行训练和推理时的提示调优方法的性能。
四、核心内容(本文工作论文主要方法,实现细节)
在本节中,我们将详细描述RAPT。我们首先引入文本到文本的私有化,用于用户在本地私有化其数据。然后,我们描述如何使用我们的提示方法使用私有化数据定制和利用LLM服务。
1.文本到文本私有化
使用LLM服务可能会面临诸如窃听攻击之类的攻击。因此,采用本地隐私设置,即用户在其设备上在本地执行数据私有化是有利的。
由于大多数llm使用文本到文本的接口,我们在框架中使用文本到文本的私有化跟Feyisetan等人类似。文本到文本的私有化是基于
d
X
d_{X}
dX隐私(查齐科科拉基斯等人,2013年),这是一种 基于距离的本地差分隐私松弛形式 ,广泛用于保护文本内容的隐私(费伊斯坦等人,2020年;Qu等人,2021年)。形式上说,对于给定的输入集
X
X
X 和输出集
Y
Y
Y,
d
X
d_X
dX是定义在
X
X
X上的距离函数。当且仅当对于任何
x
∈
X
x∈X
x∈X和
x
′
∈
X
x^{'}∈X
x′∈X,
M
(
x
)
M (x)
M(x)和
M
(
x
′
)
M(x^{'})
M(x′)的输出分布以以下条件为限制时,称随机机制
M
:
X
→
Y
M: X→Y
M:X→Y满足
d
X
d_X
dX隐私:
其中,η≥0为隐私参数,它控制着隐私保护的程度。
为了应用文本到文本的私有化,我们首先需要一个嵌入模型来将单词映射到向量。给定一个序列x = [x1,……,xn]和一个嵌入模型
E
∈
R
∣
V
∣
×
d
E∈R^{|V|×d}
E∈R∣V∣×d,其中
∣
V
∣
|V |
∣V∣和
d
d
d分别是词汇表大小和嵌入的维度,嵌入模型将
x
x
x映射到一个向量序列[x1,……,xn]。假设使用L2距离作为距离函数,将带隐私参数η的
d
X
d_X
dX应用到一个单词的嵌入
x
t
∈
R
d
x_t∈R^d
xt∈Rd可通过添加随机噪声
z
∼
e
x
p
(
−
η
∣
∣
z
∣
∣
)
z ∼ exp(−η ||z|| )
z∼exp(−η∣∣z∣∣)(λ为−η ||z||的指数分布)到
x
t
x_t
xt的方式。设z = l v,采样z相当于首先对标量
l
∼
Γ
(
d
,
1
η
)
l∼Γ(d,\frac{1}{η})
l∼Γ(d,η1)(α为d,θ为
1
η
\frac{1}{η}
η1的伽马分布)进行采样,然后从单位球空间
B
d
B^d
Bd(d维的单位球空间)中均匀地采样向量v。因此,
x
t
x_t
xt的私有化表示M(xt)可以被形式化地描述为:
接下来,我们用嵌入空间中最接近
x
t
x_t
xt的单词
x
t
′
x_{t}^{'}
xt′替换
x
t
x_t
xt:
(注意:上述公式里头w似乎应该是x)
通过重复替换序列x中的单词(
x
t
′
x_t^{'}
xt′是embedding,应该还得转换成token然后再替换),我们得到了一个x的私有化文本版本M (x)。
1.指数分布
z
∼
e
x
p
(
−
η
∣
∣
z
∣
∣
)
z ∼ exp(−η ||z||)
z∼exp(−η∣∣z∣∣)
对于指数分布有如下定义:
则此处为
f
=
−
η
∣
∣
z
∣
∣
e
−
η
∣
∣
z
∣
∣
x
,
x
≥
0
;
f
=
0
,
x
<
0
f=−η ||z||e^{−η ||z||x},x≥0;f=0,x<0
f=−η∣∣z∣∣e−η∣∣z∣∣x,x≥0;f=0,x<0
2.伽马分布
l
∼
Γ
(
d
,
1
η
)
l∼Γ(d,\frac{1}{η})
l∼Γ(d,η1)
3.为什么通过上述加噪声然后最近替换的方式可以达到差分隐私的效果?
作者借鉴了Privacy- and Utility-Preserving Textual Analysis via Calibrated Multivariate Perturbations这篇论文的方法实现的差分隐私,这篇论文给出了详细的证明过程,这个算法确实可以使数据满足差分隐私的效果。
2.LLM自定义
由于轻量级和模块化,提示调优是定制LLM服务的合适选择。我们将假设用户通过将其私有化的培训数据上传给服务提供商,通过提示调优api来定制LLM服务。
2.1提示调优
提示调优使用连续向量来适应llm,并通过梯度下降来学习(Li和Liang,2021;Lester等人,2021年)。提示调优有许多变体,如前缀调优(Li和Liang,2021年)、提示调优(Lester等人,2021年)和P-调优(Liu等人,2021年)。为了便于描述,我们遵循Lester等人(2021年)的符号,但其他变体也适用于我们的方法。
设f表示LLM服务的主干LLM模型。长度为N的提示
P
∈
R
N
×
h
P∈R^{N×h}
P∈RN×h是一个连续向量序列[p1,…,pN ],其中
p
i
∈
R
h
p_i ∈R^h
pi∈Rh是可调虚拟词元嵌入,h是主干LLM的隐藏大小。给定一个输入序列X= [xi,…,xn],提示符被置于
X
∈
R
n
×
h
X∈R^{n×h}
X∈Rn×h之前,其中X= [x1,…,xn]是单词嵌入序列并且x∈Rh。然后,我们使用LLM获得了一个激活序列:
其中,
[
[
P
;
X
]
]
[[P;X]]
[[P;X]]表示序列P、X的连接,并且
H
∈
R
n
×
h
H∈R^{n×h}
H∈Rn×h是激活序列(P是N×h,X是n×h,则[[P;X]这里是(N+n)×h],之后通过f的产生的H是n×h的)。H用于预测依赖于任务的标签,通常是通过一个语言建模头。
2.2私有化词元重建
不幸的是,对私有化数据的直接调优提示会显著降低LLM在下游任务上的性能,即使隐私保护很弱,这意味着提示调优对文本到文本私有化带来的随机扰动很敏感。
最近关于语言模型表征的研究(Voita等人,2019;Mamou等人,2020)发现,掩蔽语言建模目标(Devlin等人,2018)有助于学习可分离的深度表征。受他们的发现的启发,我们提出了一种新的私有化词元重建任务,该任务与下游任务联合训练。我们期望私有化词元重建训练可以帮助llm学习更好的依赖于任务的表示,从而提高llm在具有隐私保护的下游任务上的性能
私有化的词元重构类似于掩蔽语言建模。然而,在私有化的用户输入中重建一个单词是不可行的,因为这个单词可能包含敏感信息。为了缓解这个问题,我们为训练数据中的每个输入准备了一系列词元,我们称之为“普通词元”。普通词元由任意选择的词元组成,因此,可以安全地发送给服务提供商,而不必担心隐私泄露。图2给出了在LLM定制过程中的RAPT的概述:
在形式上,让k = [k1,……,km]表示普通词元序列。给定一组训练例子
D
=
{
⟨
x
i
,
y
i
⟩
∣
i
=
1
,
.
.
.
,
∣
D
∣
}
D=\left \{ \left \langle x_i,y_i \right \rangle |i=1,...,|D| \right \}
D={⟨xi,yi⟩∣i=1,...,∣D∣},其中|D|表示训练数据的大小。用户首先将k附加到每个输入
x
i
x_i
xi之前,然后再通过文本到文本的私有化获得
[
[
k
;
x
i
]
]
[[k;x_i]]
[[k;xi]]私有化后的版本
M
(
[
[
k
;
x
i
]
]
)
=
[
k
1
′
,
.
.
.
k
m
′
,
x
1
′
,
.
.
.
x
n
′
]
M([[k;x_i]])=[k_1^{'},...k_m^{'},x_1^{'},...x_n^{'}]
M([[k;xi]])=[k1′,...km′,x1′,...xn′]。设
z
=
M
(
[
[
k
;
x
i
]
]
)
z=M([[k;x_i]])
z=M([[k;xi]])(此时为私有化后的词元序列),LLM以输入z和提示P产生一个激活序列G:
其中,Z为z的词嵌入序列(私有化后的词元序列转换成由embedding组成的序列),以及
G
∈
R
(
m
+
n
)
×
h
G∈R^{(m+n)×h}
G∈R(m+n)×h([[P;Z]]应该是(N+m+n)×h的embedding矩阵,之后通过f生成的G是(m+n)×h的embedding矩阵)。
在得到G后,我们使用开始m个向量
G
1
:
m
=
[
g
1
,
…
…
,
g
m
]
G_{1:m} = [g_1,……,g_m]
G1:m=[g1,……,gm]来重建普通词元。为了实现这一点,我们引入了一个由两个线性层组成的额外的重建头。预测准备的普通词元序列中第i个词元
k
i
k_i
ki的概率分布(显然,这转化为了一个多分类问题,取普通词元中概率最大的那个为预测/重构的词元)为:
式中,
W
1
∈
R
∣
T
∣
×
c
W_1∈R^{|T|×c}
W1∈R∣T∣×c和
W
2
∈
R
c
×
h
W_2∈R^{c×h}
W2∈Rc×h为重建头部的参数,c为重建头部的隐藏层大小,|T|为重建头部的词汇表大小(应该就是之前准备的普通词元的个数,然后
p
i
p_i
pi是|T|×1的概率向量)。私有化词元重构任务的损失函数(softmax多分类问题,显然此处使用交叉熵损失)为:
其中,
j
i
j_i
ji表示重建头部词汇表中的
k
i
k_i
ki的索引,
p
i
[
j
i
]
p_i[j_i]
pi[ji]表示向量
p
i
p_i
pi中的第j个标量。请注意,重建头的词汇不需要与LLM的词汇相同。
剩下的n个激活嵌入
G
m
+
1
:
m
+
n
G_{m+1:m+n}
Gm+1:m+n用于预测任务依赖的标签。假设下游任务使用交叉熵损失,
y
i
∈
{
0
,
1
}
∣
C
∣
y_i∈\left \{ 0,1\right \} ^{|C|}
yi∈{0,1}∣C∣是与
y
j
y_j
yj相关的标签,表示第j个类的标签,|C|是类的数量。下游任务的目标函数被正式地描述为:
其中,g是语言模型头部函数。因此,训练RAPT的损失函数为:
在推理阶段,用户端还应用文本到文本的私有化来保护私有信息,并从LLM服务中获得预测。我们注意到,在推理阶段没有使用重建头(之前提示调优训练的时候需要,现在训练好了,就不用了,即直接去预测普通词元),因此在训练后可以丢弃{
W
1
W_1
W1,
W
2
W_2
W2}。
1.使用RAPT进行LLM定制的过程
可分为四个部分,首先是文本到文本的隐私化,之后是基于Prompt tuning的LLM序列生成,最后进行私有化词元重建与任务相关标签的预测。
①文本到文本的隐私化
- 任意选择,准备一套普通词元
- 用户输入转化为词元序列,在其前面连接一串指定长度的普通词元序列,得到输入词元序列
- 将输入词元序列转换为词嵌入(embedding)序列,之后将该词嵌入序列进行本地差分隐私处理,得到隐私化后的词嵌入序列。这里的本地差分隐私处理具体过程为:(1)向每个词嵌入注入噪声,噪声由对α=d,θ=1/η的伽马分布采样得到的标量乘以在d维的单元球空间中均匀采样得到的向量生成,得到隐私化后的词嵌入。其中,d为词嵌入的维度,η为隐私参数。(2)将上一过程得到的隐私化后的词嵌入替换为离他们最近的词嵌入,得到最终的隐私化后的词嵌入。
- 将最终的隐私化后的词嵌入序列转化为隐私化后的词元序列
②基于Prompt tuning的LLM序列生成
- 将隐私化后的词元序列转换为隐私化后的词嵌入序列(我在想为什么上一步最终要得到词元序列,这样不就可以省略这一步了吗?我的理解是,上一步的操作是在本地,然后这一步是要本地上传到云端,这个过程有可能被攻击,而转为词元序列上传由于词元不像嵌入那样蕴含很多信息,所以更为安全)
- 将指定长度的提示嵌入序列连接在隐私化后的词嵌入序列之前,然后交付给LLM
- LLM生成结果词嵌入序列
③私有化词元重建
截取结果词嵌入序列的前m个交付给由两层线性层组成的重建头,然后将得到的结果输入到softmax预测普通词元的概率,取概率最高的普通词元为对应位置的重建词元,计算重建损失。切记,词元重建是针对普通词元的。 (似乎是通过多这么一个损失来指导模型的学习,从而使得带隐私保护的提示微调效果变好)
④任务相关的标签预测
将之后n个词嵌入序列交付给语言模型头,预测任务相关的标签,计算任务损失。
最后,将重建损失和任务损失两加得到最终损失,联合优化,指导整个模型的训练。
而推理阶段除了没有重建头以外,其他与训练阶段一致。
五、实验部分(介绍算法实现步骤及结果分析)
1.设置
- 基线: 我们在两种具有代表性的提示式调优方法之上构建了RAPT:提示式调优( PROMPT TUNING)(Lester et al.,2021)和前缀调优( PREFIX-TUNING)(Li和Liang,2021)。这两种方法都引入了一个可学习的连续提示来引导llm完成下游任务。与提示调优相比,前缀调优通过使用深度提示引入了更多的参数,从而在所有LLM层中预先激活连续向量。
- 实施细节: 为了证明RAPT在LLMs中的多功能性,我们使用BERTBASE(Devlin等人,2018年)、T5BASE(Raffel等人,2020年)作为骨干LLMs。实验在一台具有 8 RTX 2080Ti GPUs的机器上进行。我们采用Adam(Kingma和Ba,2014)作为优化器。对于训练,我们将所有方法的学习率设置为6e-5。批处理大小设置为128,我们训练了总共4个epoch的所有方法。我们将最大序列长度设置为128个词元。对于提示调优,提示长度被设置为150,而对于前缀调优,我们将提示长度设置为10。我们将重建头的隐藏大小c和词汇表大小|T|分别设置为96和7,630。对于推理部分,我们报告了5次独立运行的平均分数。除非另有说明,在我们所有的实验中,普通词元的长度都被设置为40。
2.隐私实验
效法 Song 和 Raghunathan (2020),我们首先研究了RAPT在模拟攻击中对抗对手的有效性。我们使用BERTBASE作为骨干LLM,并在TP-UK数据集上进行实验。
2.1攻击
我们使用以下模拟攻击来研究RAPT对隐私保护的有效性。对这两种攻击的详细描述见附录A.3。
- 嵌入反演攻击。一种词元级攻击(Song 和 Raghunathan ,2020),用户输入的文本表示可以通过现有嵌入空间内基于距离或基于MLP的搜索算法恢复到原始输入文本。
- 属性推理攻击。一种试图从隐藏表示中推断用户的私有属性的攻击(Al Zamal等人,2012)。TP-UK包括用户的人口统计学属性:性别和年龄。我们遵循Plant等人(2021年)的设置,将年龄属性分为6个相同大小的年龄范围箱,并分配唯一的标签和性别为以0和1表示的二元分类变量。
1.嵌入反演攻击
我们遵循Qu等人(2021年)的白盒倒置设置。给定
R
d
R^d
Rd作为一般的嵌入空间,对于任何私有化的词元嵌入
v
t
v_t
vt,我们都可以通过
L
2
L_2
L2距离恢复原始的词元嵌入:
我们利用最近邻搜索作为嵌入反演攻击方式,为每个扰动词嵌入搜索原始嵌入空间中最近的词元嵌入。
2.属性推理攻击
攻击器a(一般是个分类器)可以从隐藏的表示形式Z = {z1,…,zn}中推断出用户的私有属性
t
i
∈
{
0
,
1
}
∣
C
∣
t_i∈\left \{ 0,1\right \} ^{|C|}
ti∈{0,1}∣C∣,|C|是私有类的数量。Z可以是扰动词嵌入M (x)的平均向量,也可以是LLM的输出上下文化表示H。特别地,攻击者的目标是:
其中,
θ
a
θ_a
θa是攻击者中的可训练参数集。基于Plant等人(2021)的设置,我们利用一个具有768个隐藏单元的2层MLP和ReLU激活功能作为属性推理攻击器。
2.2指标
我们使用1−X作为所有攻击的评估度量,其中X表示模拟攻击的成功率。我们将这个度量称为经验隐私。(越大越好)
2.3结果
图3a展示了针对嵌入反演攻击的文本到文本私有化的结果。通过隐私保护,攻击者可以轻松地恢复原始输入。通过文本到文本的私有化和减少隐私参数η,我们实现了更好的经验隐私。这些经验的隐私结果可以作为选择隐私参数η的基础。
图3b和3c展示了针对属性推断攻击的文本到文本私有化的不同提示调整方法的结果。属性推理攻击比嵌入反转攻击要困难得多,因为它们需要从深度表示中推断信息。通过文本到文本的私有化,我们观察到所有方法的经验隐私都有所改善。通过引入私有化的词元重构,我们可以看到,无论η的价值如何,提示调优和前缀调优都能实现更好的经验隐私 。这些结果表明,我们的RAPT可以提供针对属性推理攻击的隐私保护。(似乎这个私有化词元重构对于攻击者而言是个障碍,有干扰意味,但是对于我方而言则是一个辅助调优工具)
3.效用实验
我们研究了RAPT在提高效用方面的有效性。我们将使用骨干LLM的嵌入作为嵌入模型去执行文本到文本的隐私化。
3.1数据集
我们在以下数据集上评估了我们的方法:斯坦福情绪树库(SST)(Socher等人,2013年),Quora问题对(QQP)(Chen等人,2018年),以及信托试点情绪(TP-UK)的英国部分(Hovy等人,2015年)。我们使用准确性分数(accuracy_score)作为这三个任务的评估指标。
3.2结果
表1显示了三个下游任务的提示隐私保护调优和前缀调优的结果。对于较小的η,文本到文本的私有化提供了更强的隐私保证,但不可避免地会损害下游任务的性能。在不使用私有化词元重构的情况下,我们可以看到,提示调优和前缀调优在所有任务和llm中都表现不佳,即使是最弱的隐私保护(最大的η),这表明提示调优方法对文本到文本私有化造成的随机扰动很敏感。通过引入私有化词元重构任务,两种提示调优方法在任务和llm之间的性能显著提高。结果表明,当对私有化数据进行训练时,私有化词元重构在提高提示调优方法的性能方面非常有效。结果与我们的直觉一致,即使用重建可以帮助LLM学习更好的表示。
为了研究我们的方法是否在更大的语言模型上仍然有效,我们进一步使用T53B LLM在SST数据集上进行了实验。这些实验是在一台带有一个NVIDIA A40 GPU的机器上进行的。表2显示了结果。我们还观察到在引入私有化词元重建时的显著改进。结果证实,无论LLM的大小如何,我们的方法都是有效的。
1.accuracy_score
分类准确性分数是指所有分类正确的百分比。分类准确率这一衡量分类器的标准比较容易理解,但是它不能告诉你响应值的潜在分布,并且它也不能告诉你分类器犯错的类型
4.与其他方法的比较
我们将我们的RAPT与现有的llm的隐私保护方法进行了比较,包括CAPE(Plant等人,2021)、DPNR(Lyu等人,2020)、微调(Qu等人,2021)方法,在SST-2数据集上。我们为微调和RAPT设置了η = 100。由于RAPT、CAPE和DPNR之间的隐私保护机制的差异,为了进行公平的比较,我们采用了CAPE和DPNR中最佳结果对应的设置。这些方法的详细信息见附录A.4。
表3显示了结果。我们发现,在经验隐私保护和下游任务性能方面,RAPT与其他隐私保护方法相比具有具有竞争力的性能。重要的是,RAPT定制LLM所需要的参数要少得多,而这对LLM服务至关重要。(轻量)
5.内在评估
我们使用BERTBASE模型比较了SST-2任务上RAPT的不同变体。我们假定RAPT使用前缀调优将BERTBASE转向SST-2任务上。
5.1嵌入模型
我们研究了在文本到文本的私有化中使用不同的嵌入模型的影响。具体来说,用户端使用来自GPT-2、RoBERTa、BioBERT(Lee et al.,2020)或T5的嵌入模型来将输入文本映射到私有化文本。我们调整了隐私参数η,以便使用不同的嵌入模型,以匹配在文本中替换词元的概率水平(大概是要让这个替换概率差不多)。表4为我们的实验结果。我们发现,使用不同的嵌入模型并不会显著影响下游任务的性能,即使是在不同的领域上训练的嵌入模型(例如,BERT vs BioBERT)。这是可能的,因为最近的嵌入模型通过在大量数据上进行训练而彼此相似。
1.为什么要匹配在文本中替换词元的概率水平
5.2私有化词元重建
①普通词元的内容
我们首先证明了普通词元的内容可以被任意选择。我们随机生成5个长度为40的普通词元序列,并比较其在SST-2任务上的性能。表5显示了结果。我们可以看到,具有相同长度的不同普通词元的性能是具有可比性的。结果表明,我们可以任意选择在私有化词元重构任务中使用的普通词元。
②普通词元序列的数量
我们研究了在私有化词元重建任务中使用不同的普通词元的效果。我们首先构造一个具有相同长度的普通词元序列集合。然后在训练过程中,对于每个训练输入,我们随机选择普通词元序列,并将普通词元序列添加到输入的前面。从图4a中,我们发现在训练过程中使用更多的普通词元可以略微提高SST-2的性能。然而,在私有化词元重建期间使用一串普通词元序列足以提高LLM在下游任务上的性能。
③普通词元序列的长度
我们研究了使用不同长度的普通词元的效果。直观地说,LLM需要学习更好的表示来重建更长的普通词元。因此,使用较长的普通词元可能有利于下游任务的相应性能。如图4b所示,我们发现这些结果与我们的直觉相一致。使用较长的普通词元比使用较短的普通词元表现得要好得多。
④重建头
我们研究了重建头的隐藏层大小和词汇表大小。图4c和图4d显示了结果。使用较大的隐藏层大小通常表现得更好,但在训练期间引入了更多的参数。至于词汇表的大小,我们发现有必要使用中等大的词汇量。小词汇量使普通词元的预测更加容易,因此降低了私有化词元重构任务的好处。(感觉是因为这样LLM学的就不够多了,效果就没那么好了)
分析
在本节中,我们将分析LLM表示的几何形状,以研究为什么RAPT在在本地私有化数据上进行训练时可以提高下游任务的性能。我们使用前缀调优作为RAPT的提示调优方法,并设置了η = 100。我们使用BERTBASE作为骨干LLM。
我们首先对三种方法:不进行私有化的前缀调优、使用文本到文本私有化的前缀调优,以及RAPT计算每个BERT层中的表示,使用来自SST-2的数据。对于每一层,我们使用主成分分析(PCA)将不同方法的表示投影到二维空间中。然后计算不同方法之间表示的平均距离。图5显示了结果。我们发现学习到的深度表征与不使用隐私保护而学习到的表征相似。很明显,随着层数的增加,RAPT学习到的表示变得更接近没有隐私保护的表示。因此,我们确认了RAPT可以学习更好的表示。所以,RAPT在在本地私有化数据上进行训练时可以提高下游任务的性能(已知不进行私有化的效果肯定好,都得到表示好,则如果与之的距离小,那么代表可以学习好的表示)
六、结论部分(论文结论及未来可研究方向)
1.结论
在这项工作中,我们提出了对LLM服务的隐私保护。RAPT通过本地差分隐私提供了更强的隐私保护,同时通过私有化词元重建使其具备了有竞争力的性能。实验验证了RAPT在跨任务和llm之间的有效性。
2.限制
由于计算资源有限,我们还没有验证我们的方法在GPT-3等大型语言模型上的有效性。我们主要进行自然语言理解任务的实验。除此之外,我们仅仅只评估了在嵌入反演和属性推理攻击场景下的经验隐私水平,而仍有待探索 RAPT是否能实现与其他隐私保护方法的性能在成员身份推理攻击场景,即识别出一个样本是否用于训练LLM。
七、个人思考
1.关于差分隐私化后的数据进行模型训练
- 隐私化后的数据训练起来肯定更难,会使得模型最后的效果没有那么好
- 我在想为啥我们可以用大模型来训练这些数据,但是攻击者不行用大模型来得到窃取到的这些数据的输出结果?应该是我们的大模型已经受过了这些由我们设定的隐私化处理后数据的训练,但是攻击者的并没有,当然得不到正确的推理结果。
2.关于作者从最近关于语言模型表征的研究发现MLM的目标有助于学习可分离的深度表征获得启发
以下是相关论文中摘出的句子:
- 对于MLM,表征最初获取的是词元周围的上下文信息,部分遗忘了词元标识并产生了更为广义的词元表示。然后在MLM的顶层重新创建词元标识。
- 本文描述了学习目标如何确定模型中的信息流。特别是,论文考虑了在不同的学习目标下,Transformer中单个词元的表示如何在层之间进化。
- 一个假说:在训练前,MLM目标可能比LM(自左向右的语言模型)更可取。证明了这个假说的正确性。
以下是我的理解:
作者依据MLM目标有助于学习可分离的深度表征因此引入隐私化词元重建,加了噪声之后的词元相当于是做了mask,最后是去预测这个mask原先的词元是怎么样的,但是用户输入的词元是不能这样去预测的,这叫侵犯隐私,所以引入普通词元序列,去重建这个就可以享受到这个目标带来的好处了。
3.关于用户自定义LLM
可以看到,LLM的参数被冻结,而我们只需要对Prompt部分进行训练即可,对于不同的任务训练不同的Prompt,在实际使用时,挑选任务相关的Prompt和LLM进行组装,实现可插拔式的应用。而用户自定义的就是这个Prompt。
4.为什么输入序列进入到LLM之后输出序列的大小还是和输入序列是一样的?
似乎是因为LLM结构决定,比如基于transformer的模型,他们的输入输出大小是相同的。