AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Vec2Text:从Embedding向量中恢复原文
发布日期:2024-04-12 12:21:12 浏览次数: 2457 来源:泛函的范


Generatived AI 的快速发展导致许多公司纷纷将它整合到业务中。其中最常见的方式是RAG(Retrieval Augmented Generation),即建立可以解答知识库中信息问题的AI系统。

在现有解决方案中,RAG被视为扩展语言模型应用领域的简便且经济的手段:将大量文档存储在数据库中,让 AI 根据给定输入检索最相关的文档,然后根据检索的文档重新构造 prompt 来启发 LLMs 的回答。关于RAG的内容可以阅读之前的文章 [来快速了解下RAG]


一般来说,RAG 系统通过使用 Embedding 向量(由Embedding model生成的文档的向量表示)来判定 query 与文档的相关性。由于 Embedding 向量可以表示相似性概念,与 query 相关的文档在 Embedding 空间中具有更高的相似性。

RAG 的广泛应用催生了 Vector Database (专为存储和搜索大量嵌入向量而设计的新型数据库)的兴起。Vector Database 只接收文本数据的 Embedding 向量,无需对应的实际文本,返回匹配文档的索引结果。

然而,Vector Database 中的隐私风险并未被全面关注。对于给定的 Embedding 向量,可能存在被他人重构初始文本的风险。

虽然神经网络的输出通常非常复杂,很难逆向推导出输入。而且,在通过客户端访问神经网络时,通常无法直接访问模型的权重或梯度。但我们可以构建一个逆向网络来根据 <input, output> 组合将输出映射回输入空间。在 CV 领域的Feedforward Inversion研究已经证明了,我们可以根据输出层的logits近似地恢复输入图像。

一个引人注目的问题是:如果我们可以根据图像的Embedding恢复原始图像,那么我们是否能够根据文本的Embedding恢复原始文本呢?

如果能从文本 Embedding 中重构原始文本,说明文本 Embedding 向量不再是一种安全的信息存储或通信模式,这可能意味着目前的 Vector Database 存在较大的隐私风险。

本文介绍这个课题的论文 Text Embeddings Reveal (Almost) As Much As Text

URL: https://arxiv.org/abs/2310.06816

代码:https://github.com/jxmorris12/vec2text

作者将文本恢复问题定义为受控生成(Controlled Generation)问题,即寻求生成尽可能接近给定 Embedding 向量的文本。并提出了 Vec2Text 方法通过逐步迭代的方式实现了根据原始 Embedding 生成近似输入文本。

实验结果表明,Vec2Text 以接近完美的  的 BLEU 恢复了  个 Token 的输入,并且有  的完全恢复率。

这表明,使用 Embedding 向量编码的文本数据可能存在隐私风险,应该对待文本 Embedding 向量的方式与对待原始数据相同,即谨慎保护。

Methods

在设计模型由 Embedding 学习原始文本时,最直接的方法如下图所示:

使用 Decoder-only Transformer 模型根据 Embedding 直接预测原始文本。实验结果表明,模型可以猜到输入文本的主题,并预测到其中一些单词,但并不能很好预测词的顺序,并且大部分单词都是错的。最终只有不到 30 的 BLEU,几乎没有能精确匹配的。

作者强调,很难在单次前向传递中要求模型逆转另一个模型的输出,但模型在恢复输入文本方面可能会猜测主题和一些单词。作者又尝试了一个优化版,采用Encoder-Decoder Transformer,如下图所示:

在该模型中:

  • 通过 EmbToSeq 操作将原始输入的 Embedding 转换成 Embedding 序列
  • Encoder 对 Embedding 序列进行编码
  • Decoder 根据编码的 Embedding 向量预测原始文本

其中,EmbToSeq可以表示为:

其中,是序列长度。

通过这个操作之后,模型预测的BLEU 达到了50。

作者从这个版本中得到启发:

  • 衡量模型输出质量的一种方式是 re-embedding 生成的文本,并计算该 Embedding 与真实 Embedding 的相似度。

实验发现,这版模型生成文本的 Embedding 与原始 Embeddign 有  的余弦相似度。这意味着模型能生成与真实文本在 Embedding 空间中非常接近但又并非完全相同的文本。

最后,作者提出的 Vec2Text 采用了逐步迭代的方式,来逐步优化模型预测文本的 Embedding 向量,使其在空间上逐步接近原始 Embedding 向量。

也就是说,原始输入的 Embedding 可以看作基准(要到达的目标),当前的预测文本及其 Embedding 可以视为当前状态。通过优化模型使其输出更接近于基准。

Vec2Text总体框图如下图所示:

其公式化表示如下:

其中,表示迭代次数, 是 Embedding 模型将文本表示为对应 Embedding 向量。

Vec2Text模型结构如下图所示:

模型根据原始 Embedding 、上一阶段预测的文本以及对应的 Embedding 来预测出原始 Embedding 的文本序列。

Experiments

在实验中,模型可以进行递归查询。给定当前的文本和其 Embedding,可以运行多个步骤的优化,迭代地生成文本,在 re-embedding 它们,并将它们作为输入传递给模型。

针对 32 个 Token 长度的文本,通过 50 步迭代,模型的完全恢复率达 92%,并且 BLEU 分达到 97。这意味着模型几乎能完美地重构了每个句子。

Conclusion

本文介绍了在论文Text Embeddings Reveal (Almost) As Much As Text中提出的 Vec2Text 方法。该方法通过逐步迭代的方式,在latent space中优化模型预测文本的Embedding 向量,使其在空间上逐步接近原始 Embedding,最终预测出原始向量对应的真实文本。

实验中Vec2Text 以  的准确率恢复了长度为  的文本。这表明文本 Embedding 在很大程度上揭示了原始文本的内容。因此,文本 Embedding 和原始文本之间存在某种等价性,这种等价性对于 Embedding 的匿名化具有重大挑战:Embedding 应被视为是高度敏感的隐私数据,并且应以与原始文本相同的方式在技术上和可能在法律上受到保护。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询