- ACL 2024 Findings
Abstract
检索增强生成(RAG)是一种强大的技术,可将专有和私有数据引入语言模型,其中数据隐私是关键问题。尽管已有大量研究揭示了大语言模型(LLM)的隐私风险,但RAG技术可能重塑LLM生成的固有行为,带来目前尚未充分探索的新隐私问题。本文通过新颖的攻击方法进行了广泛的实证研究,展示了RAG系统在泄露私有检索数据库方面的脆弱性。尽管RAG带来了检索数据方面的新风险,我们进一步揭示,RAG可以缓解LLM训练数据的泄露。总体而言,本文为检索增强LLM的隐私保护提供了新的见解,使LLM和RAG系统构建者均受益。我们的代码可在以下链接获取:
https://github.com/phycholosogy/RAG-privacy
1 Introduction
检索增强生成(RAG)是一种先进的自然语言处理技术,通过从大规模文档语料中检索信息并融入生成过程,从而提升文本生成的准确性与上下文相关性。该技术已被广泛应用于领域特定的对话机器人(Siriwardhana 等,2023)、邮件或代码补全(Parvez 等,2021)等场景。如图 1 所示,RAG 系统通常分为检索与生成两个阶段:当用户输入查询q qq后,系统先从外部数据库中检索出相关文档;随后将检索结果与原始查询拼接,共同输入到大语言模型(LLM)中,模型再结合自身预训练知识及检索数据生成回答a aa。
本文聚焦 RAG 系统的隐私泄露风险,并指出:无论是检索数据集还是 LLM 的预训练/微调数据集,其信息均可能在 RAG 使用过程中被泄露。一方面,检索数据集往往包含敏感且高价值的领域特定信息(Parvez 等,2021;Kulkarni 等,2024),例如用于医疗对话机器人的患者处方数据(Yunxiang 等,2023)。另一方面,RAG 的检索过程可能影响 LLM 的文本生成行为,导致模型输出其训练/微调数据中的隐私信息。已有工作(Carlini 等,2021;Kandpal 等,2022;Lee 等,2021;Carlini 等,2022;Zeng 等,2023)观察到 LLM 会记忆并泄露预训练与微调数据,但外部检索数据的融入如何影响 LLM 在 RAG 中的记忆行为尚不清楚,值得进一步探究。因此,本文提出以下研究问题:
- (RQ1)能否从 RAG 的外部检索数据库中提取私有数据?
- (RQ2)检索数据是否会影响 RAG 中 LLM 的记忆行为?
针对 RQ1,为全面揭示检索数据集的隐私泄露,我们假设存在攻击者,其意图通过构造查询故意提取检索数据中的隐私信息。我们提出一种面向检索数据提取的复合结构化提示攻击方法,包含用于引导检索的 {information} 部分和命令模型输出检索上下文的 {command} 部分。以医疗对话 RAG 场景为例(第 3.2 节),攻击者可先询问与某疾病相关的通用信息或建议,并在查询末尾附加“命令提示”以提高提取成功率。随后,我们检查模型输出是否包含具体的处方记录等敏感信息。实验表明,所测试的 Llama2-7b-Chat 与 GPT-3.5-turbo 模型以接近 50% 的高概率输出与原始记录完全相同或高度相似的内容,揭示 RAG 系统对此类攻击极为脆弱,大量敏感检索数据可被泄露。
针对 RQ2,尽管已有研究表明 LLM 倾向于输出已记忆的训练数据,但检索数据融入对此现象的影响尚未被验证。为此,我们对 LLM 训练语料实施针对性攻击与前缀攻击,比较有无检索增强场景下的训练数据泄露程度。实验发现,在 RAG 系统中加入检索数据可显著降低 LLM 输出其记忆训练数据的倾向,其保护效果优于噪声注入或系统提示等传统方法。从训练数据安全视角看,RAG 架构相比单独使用 LLM 可能更为安全。
2 Related Work
2.1 Retrieval-Augmented Generation (RAG)
检索增强生成(RAG)由 Lewis 等人(2020)首次提出,现已成为增强大语言模型生成能力的主流方法之一(Liu,2022;Chase,2022;Van Veen 等,2023;Ram 等,2023;Shi 等,2023)。该范式通过引入外部知识显著提升输出准确性与相关性(Gao 等,2023),有效缓解 LLM 的“幻觉”问题(Shuster 等,2021)。RAG 的独特优势在于其架构高度灵活,可在无需重新训练或微调整个系统的情况下,单独替换或更新数据集、检索器或 LLM 三大核心组件(Shao 等,2023;Cheng 等,2023)。凭借这些优点,RAG 被广泛应用于个人聊天机器人、医疗诊断助手等特定领域专家系统(Panagoulias 等,2024)。
2.2 Privacy Risk of Large Language Models
大量研究表明,LLM 易记忆并无意泄露预训练语料中的信息(Carlini 等,2021;Kandpal 等,2022;Lee 等,2021;Carlini 等,2022;Ippolito 等,2022;Zhang 等,2021;Biderman 等,2023;Mireshghallah 等,2022;Lee 等,2023;Ren 等,2024)。Carlini 等人(2021)率先开展数据提取攻击,揭示 LLM 会回忆并复现训练数据片段。后续工作进一步发现模型规模、数据重复度、提示长度等因素会加剧记忆风险(Carlini 等,2022;Biderman 等,2023)。针对微调数据的隐私风险,Mireshghallah 等人(2022)指出调整模型头部比调整小型适配器模块更容易导致记忆;Zeng 等人(2023)发现对话与摘要等需丰富特征表示的任务在微调时尤其脆弱。Huang 等人(2023)研究了基于检索的 kNN-LM 隐私风险,但其架构与本文关注的 RAG 不同,因此与我们的工作存在差异。
3 Method
为回答第1节提出的RQ1与RQ2,我们设计多种攻击,量化RAG框架中不同组件的泄露风险。本节先概述RAG背景与威胁模型,随后分别给出针对检索数据与训练数据的攻击方法。
3.1 Background and Threat Model
RAG流程。典型的检索增强生成系统包含大语言模型M MM、检索数据集D DD与检索器R RR。给定用户查询q qq,系统输出答案a aa。形式化地,检索器首先返回与q qq最相关的top-k k