检索增强生成(RAG)系统在处理敏感信息时存在隐私泄露的风险通过将纯文本文档填充到提示符中来工作。现有的RAG系统需要将明文文档上传到云端,这可能导致企业合同、医疗记录或个人笔记等敏感信息的泄露

**参数RAG(PRAG)**试图“将知识烘焙成LoRA权重”,但它遇到了两道实际的墙:

(1)PRAG要求为每份单独文档合成问答对并微调LLM以创建相应的LoRA,导致不可接受的推理延迟
(2)PRAG的性能完全依赖于合成问答数据,缺乏与标准RAG的内部对齐,导致在分布外(OOD)输入上的泛化能力较差

什么是DistilledPRAG?

在这里插入图片描述

图 1:标准 RAG、PRAG、DyPRAG 以及我们的 DistilledPRAG 的推理范式。(1)标准 RAG 输入纯文本文档和问题。(2)PRAG 为每个文档生成问答对,用于微调 LoRA 适配器,并将其相加以获得用于 LLM 注入的文档聚合表示。(3)DyPRAG 将单个文档转换为其 LoRA,并对其进行平均,以实现用于 LLM 注入的文档聚合。(4)DistilledPRAG 将文档连接到参数生成器,以创建跨文档 LoRA,并将带有问题的文档作为输入进行掩码,这与标准 RAG 更相似。[Source]。

DistilledPRAG是如何工作的?

DistilledPRAG检索并连接多个文档,然后一次性生成单个跨文档LoRA-使其输入流最接近标准RAG。通过对齐文档结构和内部激活来教“学生”(参数RAG)模仿“教师”(标准RAG),因此它接近RAG级推理而无需使用知识蒸馏发送纯文本

数据合成:首先,使用DeepSeek-V3从单个文档和多文档中合成问答对,以增强跨文档推理。然后,将明文文档替换为一个特殊标记,并通过参数生成器将其转换为LoRA,保持标准RAG的文档结构。

知识蒸馏:定义教师模型和学生模型的输入和输出。原始输入通过标准LLM生成答案作为教师模型的输出,而掩码输入通过学生LLM生成答案。参数生成器网络将文档转换为LoRA权重。

1.特殊标记初始化
为了防止在推理过程中泄露原始文档内容,引入一个特殊标记<|doc_mask|>,并将其嵌入分布与预训练词汇分布对齐。
2. 参数生成器
参数生成器由文档嵌入模型和参数生成器组成,使用多头交叉注意力机制选择性地聚合文档信息,并通过自注意力Transformer编码器和前馈网络生成LoRA参数。
**训练目标:**参数生成器的训练目标包括在合成问答数据上的生成损失、内部表示的对齐损失以及学生模型和教师模型输出Logit的KL散度。

DistilledPRAG的三个核心组件

图2显示了DistilledPRAG中的参数生成器是这样工作的:T5对文档进行编码→层匹配的可学习查询执行交叉注意力池→自注意力编码器细化信号→FFN产生目标LoRA。只有生成器被训练;基本LLM和文档编码器保持冻结。在这里插入图片描述

合成数据:默认跨文档推理
  • 来源。从2WQA训练集中随机采样30,000个文档。创建约139,723个单文档问答对,然后连接文档以生成约149,356个跨文档对-总共289,079
  • 目标。在强调跨文档集成的同时涵盖单文档事实,因此模型学会为多文档输入生成单个整体LoRA
参数生成器:从长文档到一个LoRA包
  • **编码器。**使用LongT5将文档映射到序列嵌入。
  • 交叉关注。应用由索引的可学习查询以对文档表示执行交叉关注,产生H0。
  • 自我关注+FFN。进一步编码H0和直接回归目标LoRAΔθ。
  • **冻结零件。**仅训练生成器Genω;保持基本模型参数θ和文档编码器😍冻结。
对齐目标:生成、隐藏状态和logits
  • 生成损失。给定文档被屏蔽并且只有问题可见的输入,最小化答案NLL。
  • 隐藏状态对齐。跨层的日益加权的余弦损失Lcos,在输出层附近具有更高的权重。
  • **日志对齐。**用于匹配输出分布的令牌级KL发散LKL。
推理模式:与训练严格同构

BM25检索top-3文档→按检索到的顺序连接→用特殊掩码标记替换文档以获得x~→参数生成器生成单个LoRAΔθ→具有经过调整的基本模型f的答案θ+Δθ . 没有明文显示。

性能对比

None

图3:DistilledPRAG的总体F1(%)性能以及2WQA、HQA、PQA和CWQ数据集上的基线。粗体表示最佳性能,下划线表示第二好。[]。

**设置。**它对每个子任务开发集中的前300个问题进行F1(%)评估。检索固定为BM25(前3名)。训练仅使用2WQA数据集。基线包括标准RAG、PRAG、DyPRAG和PISCO。

主要成果:

  • LLaMA-8B。DistilledPRAG平均36.1,优于标准RAG(33.8),决定性地领先于DyPRAG(29.6)和PRAG(28.2)。在CWQ(开放域复杂查询)上,它达到了49.0-在基于相同基础的所有变体中最好。
  • LLaMA-1B。DistilledPRAG发布28.3,与标准RAG(24.6)、DyPRAG(18.3)和PRAG(27.0)相比。
  • 7B。蒸馏PRAG实现了23.1,优于标准RAG(20.6)和PISCO(21.6)。

结论即:使仅在2WQA上训练,蒸馏PRAG在HQA、PQA和CWQ等OOD数据集上也保持竞争力或直接领先。证据表明,调整结构和激活比单独依赖合成质量保证更有效。

关键问题及回答

问题1:DistilledPRAG如何通过知识蒸馏来提高参数化RAG(PRAG)的泛化能力?

DistilledPRAG通过以下步骤实现知识蒸馏,从而提高PRAG的泛化能力:

  1. 1.数据合成:使用DeepSeek-V3从单个文档和多文档中合成问答对,以增强跨文档推理。然后将明文文档替换为一个特殊标记,并通过参数生成器将其转换为LoRA,保持标准RAG的文档结构。
  2. 2.特殊标记初始化:为了防止在推理过程中泄露原始文档内容,引入一个特殊标记<|doc_mask|></|doc_mask|>,并将其嵌入分布与预训练词汇分布对齐。
  3. 3.参数生成器:参数生成器由文档嵌入模型和参数生成器组成,使用多头交叉注意力机制选择性地聚合文档信息,并通过自注意力Transformer编码器和前馈网络生成LoRA参数。
  4. 4.训练目标:参数生成器的训练目标包括在合成问答数据上的生成损失、内部表示的对齐损失以及学生模型和教师模型输出Logit的KL散度。通过这些目标,学生模型能够学习到与教师模型相似的结构和激活,从而实现高效的RAG风格推理。

问题2:DistilledPRAG在实验中如何验证其泛化能力?

DistilledPRAG通过在四个公开问答数据集(2WikiMultihopQA(2WQA)、HotpotQA(HQA)、PopQA(PQA)和ComplexWebQuestions(CWQ))上进行实验来验证其泛化能力。具体方法如下:

  1. 1.数据集选择:2WQA用于训练,HQA、PQA和CWQ用于评估泛化能力。这种选择确保了评估的严格性,因为HQA、PQA和CWQ的数据分布与训练数据不同。
  2. 2.对比基线:与标准RAG、PRAG、DyPRAG和PISCO等基线进行对比,使用相同的检索器和LLM骨干模型。
  3. 3.实验结果:在CWQ数据集上,DistilledPRAG取得了49.0%的领先分数,在所有骨干模型上一致获得了最高的平均F1分数。这表明DistilledPRAG不仅在领域数据上表现出色,还在多样化的OOD数据上展示了强大的泛化能力。

问题3:DistilledPRAG在推理过程中如何处理文档的隐私保护?

DistilledPRAG在推理过程中通过以下方法处理文档的隐私保护:

  1. 1.特殊标记替换:在推理阶段,将整个文档替换为一个特殊标记<|doc_mask|></|doc_mask|>,而不是直接传输明文文档。这样可以防止在推理过程中泄露原始文档内容。
  2. 2.参数生成器:使用参数生成器将替换后的文档转换为LoRA参数。推理时,仅使用动态生成的LoRA参数来条件模型,而不涉及任何明文文档。
  3. 3.对齐机制:通过知识蒸馏,确保学生模型在隐藏状态和输出Logit上与教师模型对齐,从而实现高效的RAG风格推理,同时保持文档的隐私。

这些方法共同确保了在推理过程中不会泄露任何原始文档内容,从而有效地保护了文档的隐私。

思想

近似性:尽管DistilledPRAG在大多数情况下表现出色,但它仍然是标准RAG的近似。LoRA表示的参数化本质可能仍然无法捕捉复杂的跨文档交互,特别是在复杂的多跳场景中。
隐私-效用权衡:通过避免传输明文文档来实现隐私保护设计,不可避免地引入了隐私-效用权衡。编码文档为LoRA可能会丢失细粒度的上下文细节,限制了知识密集型查询的答案准确性。

论文:使用知识蒸馏进行隐私保护的RAG系统

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐