[论文阅读]On the Vulnerability of Applying Retrieval-Augmented Generation within Knowledge-Intensive App

On the Vulnerability of Applying Retrieval-Augmented Generation within Knowledge-Intensive Application Domains

[2409.17275] On the Vulnerability of Applying Retrieval-Augmented Generation within Knowledge-Intensive Application Domains

检索系统容易受到医学问答中的通用中毒攻击

在此类攻击中,攻击者生成包含各种目标信息(例如个人身份信息)的有毒文档。 当这些有毒文档被插入到语料库中时,只要使用攻击者指定的查询,任何用户都可以准确地检索到它们。

研究发现查询嵌入与中毒文档嵌入的偏差倾向于遵循一种模式,其中中毒文档与查询之间的高相似性得以保留,从而实现精确检索。

开发了一种新的基于检测的防御方法,以确保 RAG 的安全使用

通过这个图,构造有毒文档的方式似乎还是和PRAG一致的目标问题本体+恶意后缀文本。只不过这篇文章侧重点是医学领域。

也就是说,先前的基于L2范数的检测方案检测的结果是有毒文本和原始文本的高度一致性,无法做出准确区分;文中提出的距离检测方案使得原始文本和有毒文本之间的差距更大,一个简单的二分类模型即可完成准确的检测。

在作者看来,他们的工作和PRAG的区别在于:

  1. 文章的目标是研究和理解RAG中使用的检索系统的鲁棒性,把各种类型的信息(相关或不相关)注入语料库然后评估检索的难易程度来实现目标;而PRAG的目标是只注入和目标查询相关的内容
  2. 文章对不同类型信息的检索难易程度进行了解释,PRAG中没有
  3. 关注医疗保健应用领域,PRAG关注一般的问答设置

攻击者的能力:可以向知识数据库注入新的数据条目;可以查询检索器并查看检索到的文档及其相关的潜在嵌入但是不能推测和修改检索器模型的参数(灰盒)。

实验验证漏洞的存在

实际上就是把PRAG的方法迁移到了医学领域

实验设置:(沿用Benchmarking retrieval-augmented generation for medicine的设置)

测试数据集:三个医学检查问答数据集:MMLU-Med(1089条记录)、MedQAUS(1273条记录)、MedMCQA(4183条记录),以及两个生物医学研究问答数据集:PubMedQA(500条记录)、BioASQ-Y/N(618条记录)。

知识数据库:三个与医学相关的语料库:(1)教科书[20](∼126K篇文档),包含医学专业知识;(2)StatPearls(∼301K篇文档),用于临床决策支持;(3)PubMed(∼2M篇文档),包含生物医学摘要。 由于计算资源有限,我们使用的PubMed是总共23M篇文档中的一个随机子集。

目标信息:考虑了五类目标文档:合成个人身份信息 (PII)、合成医学诊断信息,以及为分别回答MA-MARCO [37]、NQ [38]和HotpotQA [39] 的问题而生成的对抗性段落(来自PRAG)。 我们使用GPT-3评估它们的语义接近程度,并得出结论认为它们在语义上彼此相距甚远。 因此,我们相信这种设置涵盖了广泛的主题,增强了我们结果的有效性。

检索器:三个具有代表性的稠密检索器:(1)通用领域语义检索器:Contriever [29];(2)科学领域检索器:SPECTER [30];(3)生物医学领域检索器:MedCPT [31]。

攻击方法:目标问题查询+目标信息的拼接(PRAG的黑盒设置)。还考虑了攻击者不知道确切的目标查询,但是知道释义版本

评价指标:有毒文本在top-2中的比例

这一步实际上是证明PRAG发现的RAG中普遍存在的漏洞在医学领域也是存在的,ASR相当高,即使目标信息不同、检索器不同,ASR都很高

然后又做了释义查询的ASR,发现大多数情况下都实现了超过80%的ASR,暴露出 了安全风险

理解这一漏洞

正交增强属性

也就是说,拼接前后,相似度度量上来看,还是和前半部分更加相似。

使用提出的正交增强属性来解释我们攻击成功的潜在缺点是,查询和目标文档之间的嵌入需要接近正交。 然而,我们强调嵌入向量之间的正交性并不意味着它们相关的文档在语义上无关。 例如,我们从MedQA数据集中随机抽取了两批不相交的问题,发现它们嵌入向量之间的角度约为70∘。 然而,这些查询批次都与生物学研究问题在语义上相关。

下表展示了查询与干净检索文档(来自Textbook语料库)之间的相似性度量,分别针对Contriever和MedCPT。 对于每个查询,我们计算其与Textbook语料库中K=5个最近邻检索文档的余弦相似度和内积,并报告均值和标准差。 此外,为了进行比较,我们还报告了查询与其自身的内积值。 我们观察到,在所有查询集中,内积和余弦相似度都较低。 例如,对于Contriever,在所有查询集中,查询和检索文档之间的平均角度约为70∘,而查询和检索文档之间的内积小于查询与其自身内积的25%。 这些结果表明,检索到的文档不像人们预期的那样接近其查询。 总之,这些发现突出了查询与其干净检索文档之间存在的差距。 这种差异为各种对抗性攻击(包括我们提出的通用中毒攻击)留下了可乘之机,带来了相当大的安全风险。

新型防御

提出一种基于检测的方法来防御提出的通用投毒攻击。

考虑这样一种场景:防御者(例如RAG服务提供商)可以完全访问检索器。 他们从公共网站收集文档,将其整合到他们的数据语料库中,并使用检索器和更新后的数据语料库提供服务。 防御者的目标是开发一种能够自动检测要整合到其数据语料库中的潜在对抗性文档的算法。 在不失一般性的前提下,我们假设防御者已经拥有与一组要保护的目标查询相关联的干净文档集合,这些文档作为检测的锚定集(表示为𝒜={a1,…,a|𝒜|})。

通用投毒攻击的广泛成功归因于两个因素:由于检索器的有趣特性,中毒文档与查询之间始终保持高度相似性,以及查询与干净检索文档之间的低相似性。

后一种特性也意味着查询及其检索到的干净文档趋向于正交。 结果,中毒文档也趋向于垂直于干净文档。 这种正交特性促使我们考虑使用反映数据分布的距离度量,例如马氏距离,来检测中毒文档。

但是embediing是高维的,计算马氏距离很难,因为产生的样本协方差矩阵在大数据维度下可能数值不稳定,难以求逆。

解决:通过收缩技术来正则化样本协方差矩阵。

结论

工作:证明了RAG在医学问答上也容易收到通用攻击,然后深入了解了这样的原因,基于这些发现(尤其是原始文档的相似度较低),提出了基于检测的防御方案

更有趣的是对contriever的实验结果:在contriever下使用L2范数来进行检测是可以比较有效防御的,因为这一检索器对文本的长度敏感,干净的文档和注入的恶意文本往往长度差异较大,导致L2范数差异大

On the Vulnerability of Applying Retrieval-Augmented Generation within Knowledge-Intensive Application Domains | OpenReview

评审人一针见血,论文和检索器是更相关的,说RAG太宽泛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值