从向量中恢复原始的文本:模型甚至能够从临床记录数据集中恢复个人信息
论文信息
-
Text Embeddings Reveal (Almost) As Much As Text
-
John X. Morris, Volodymyr Kuleshov, Vitaly Shmatikov, Alexander M. Rush
-
Department of Computer Science, Cornell University
-
https://arxiv.org/pdf/2310.06816.pdf
摘要
本文研究了文本嵌入(text embeddings)泄露原始文本隐私信息的问题。作者将问题框架化为一个受控生成(controlled generation)任务:
生成一段文本,使其重新嵌入(re-embed)后与给定的目标点接近
。研究发现,尽管简单的模型在这个任务上表现较差,但迭代地校正并重新嵌入文本的能够以92%的准确率恢复32个token的文本输入。
作者训练模型从两个最先进的嵌入模型中解码文本嵌入,并表明模型能够从一个临床记录数据集中恢复重要的个人信息
。
2. 介绍
文本嵌入在很多大语言模型(LLMs)系统中被广泛使用,用户可以通过将文档嵌入到LLM的prompt中来为模型注入知识。从业者越来越多地转向托管的向量数据库服务,以实现嵌入搜索的高效扩展。
在这些数据库中,数据所有者只将文本数据的嵌入发送给第三方服务,而不发送文本本身。数据库服务器返回搜索结果的索引给客户端
。
向量数据库日益流行,
但其中的隐私威胁尚未得到全面探索。给定文本的嵌入,第三方服务能否重构出原始文本?神经网络通常难以甚至无法精确Inversion
。
尽管如此,给定网络的输入-输出对,通常可以近似网络的反函数。计算机视觉中的Inversion研究表明,给定最终层的logits,可以学习恢复输入图像(虽然有一定损失)。先前的工作也探索了文本嵌入Inversion的问题,但只能从浅层网络的嵌入中恢复近似的词袋表示。
本文的目标是从嵌入中完全重构输入文本。如果文本可以被恢复,就存在隐私威胁:恶意用户如果能访问向量数据库,并获得用于生成数据的文本-嵌入对,就可以学习一个从嵌入重现文本的函数。
3.1 基础模型:学习Inversionϕ
给定一个文本数据集
,通过最大似然学习参数
来学习Inversion编码器
的文本分布
:
为简洁起见,以下省略
。这个过程涉及训练一个条件语言模型,以根据其嵌入
重构未知文本
。我们可以将这个学习问题视为将组合优化摊销到神经网络的权重中。
3.2 受控生成用于Inversion
为了改进这个模型,作者提出了Vec2Text方法(图1)。
该方法从受控生成(Controlled Generation)的方法中获得灵感,即生成满足已知条件的文本。该任务与Inversion类似,因为有一个可观察的函数
决定控制的程度。然而,不同之处在于,受控生成的方法通常需要通过
计算梯度,以改善某些中间表示的分数。而文本Inversion只能查询
,而不能计算其梯度。
模型先猜测一个初始假设,然后通过重新嵌入和校正假设,使其嵌入更接近
,从而迭代地细化这个假设。请注意,该模型需要计算新的嵌入
,以便生成每个新的校正
。
通过对中间假设进行边缘化,递归地定义模型:
其中基本情况是简单的学习Inversion:
这里,
代表初始假设生成,
代表对
的校正,以此类推。作者首先从3.1节的模型生成假设
,计算
,然后在这个生成的数据上训练模型。
参数化方面,模型的主干
被参数化为一个标准的编码器-解码器transformer,以前一个输出为条件。一个挑战是需要将条件嵌入
和
输入到transformer编码器中,这需要一个嵌入序列作为输入,维度
不一定等于
的嵌入维度
。与Mokady et al.(2021)类似,作者使用小型MLP将单个嵌入向量投影到更大的大小,并重塑以给它一个序列长度作为编码器的输入。对于嵌入
:
其中
,对于某个非线性激活函数
和预定的编码器"长度"
。使用单独的MLP来投影三个向量:真实嵌入
、假设嵌入