文本嵌入并非安全:Vec2Text 可完美还原原始文本
本文介绍了 vec2text 方法,一种能够从文本嵌入向量中完美还原原始文本的技术,揭示了当前 RAG 系统和向量数据库在数据安全方面的重大隐患。
随着生成式AI的快速发展,许多公司开始将AI集成到其业务中,其中一个常见做法是构建能够回答数据库中文档相关问题的AI系统。这类系统大多基于检索增强生成(RAG)技术。RAG系统通过将大量文档存储在数据库中,由AI检索与输入最相关的文档,并据此生成响应。为了确定文档的相关性,RAG使用“嵌入”——由嵌入模型生成的文档向量表示。这些嵌入旨在表示某种相似性,因此相关文档在嵌入空间中会具有较高的向量相似性。RAG的普及催生了向量数据库的兴起,这是一种专门用于存储和搜索大量嵌入的新型数据库。众多创业公司获得了数亿美元的融资,声称能够通过简化嵌入搜索来促进RAG。然而,嵌入向量本身难以解读:它们只是一串看似随机的数字,除了满足语义相似性要求外,没有任何约束。这就引发了一个安全问题:如果有人入侵数据库获取了这些嵌入向量,是否能够将其还原为原始文本?事实上,这个问题正是我们在论文《Text Embeddings Reveal As Much as Text》(EMNLP 2023)中所要解决的。我们开发了vec2text方法,该方法能够从文本嵌入中恢复原始文本。其核心思想是:利用一个校正器模型,以目标嵌入和当前假设文本的嵌入作为输入,通过迭代优化逐步逼近原始文本。我们首先尝试了传统的机器学习方法,训练一个变换器模型直接从嵌入生成文本,但BLEU得分只有30左右,精确匹配几乎为零。然而,我们发现生成的文本的嵌入与真实嵌入的余弦相似度高达0.97,这启发了一种迭代优化方法。我们训练了一个校正器,能够根据当前假设文本及其嵌入生成更接近真实文本的新假设。经过50步迭代和若干技巧,vec2text能够以92%的精确匹配率还原32 token的序列,BLEU得分达到97,几乎实现了完美还原。这一发现对当前基于嵌入的数据存储方式提出了严峻挑战。在向量数据库中,存储的是嵌入向量而非原始文本,但如果这些嵌入能被轻易反解,那么客户隐私和数据安全将面临巨大风险。未来,我们需要开发能够抵抗这种反解攻击的嵌入模型,同时保持嵌入的可用性。此外,vec2text的方法不限于文本,理论上可推广到其他模态,如图像嵌入的反向还原。作者Jack Morris是康奈尔理工学院的博士生,其研究聚焦于机器学习、自然语言处理与安全的交叉领域。代码已开源在GitHub上,供进一步研究。