Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting

📄 arXiv: 2407.08223v2 📥 PDF

作者: Zilong Wang, Zifeng Wang, Long Le, Huaixiu Steven Zheng, Swaroop Mishra, Vincent Perot, Yuwei Zhang, Anush Mattapalli, Ankur Taly, Jingbo Shang, Chen-Yu Lee, Tomas Pfister

分类: cs.CL, cs.AI

发布日期: 2024-07-11 (更新: 2025-02-27)

备注: Accepted to ICLR 2025


💡 一句话要点

Speculative RAG:通过草稿机制增强检索增强生成,提升准确率并降低延迟。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 检索增强生成 RAG 知识蒸馏 并行生成 草稿验证 大型语言模型 长上下文处理

📋 核心要点

  1. 现有RAG方法在处理长上下文时存在位置偏差和计算效率问题,需要更高效的知识利用方式。
  2. Speculative RAG通过小型专家模型并行生成多个草稿,再由大型通用模型进行验证,实现高效的知识检索和生成。
  3. 实验表明,Speculative RAG在多个基准测试中显著提升了准确率,并降低了延迟,展现了优越的性能。

📝 摘要(中文)

检索增强生成(RAG)结合了大型语言模型(LLM)的生成能力和外部知识源,以提供更准确和最新的响应。最近的RAG进展侧重于通过迭代LLM细化或通过LLM的额外指令调整获得的自我批评能力来改善检索结果。本文介绍Speculative RAG,该框架利用更大的通用LLM来有效地验证由较小的、经过提炼的专家LLM并行生成的多个RAG草稿。每个草稿都是从不同的检索文档子集生成的,从而提供关于证据的不同视角,同时减少每个草稿的输入token数量。这种方法增强了对每个子集的理解,并减轻了长上下文中的潜在位置偏差。我们的方法通过将起草委托给较小的专家LLM来加速RAG,而较大的通用LLM对草稿执行一次验证。大量实验表明,Speculative RAG在TriviaQA、MuSiQue、PopQA、PubHealth和ARC-Challenge基准测试中实现了最先进的性能,并降低了延迟。值得注意的是,与PubHealth上的传统RAG系统相比,它显著提高了高达12.97%的准确率,同时降低了50.83%的延迟。

🔬 方法详解

问题定义:现有RAG方法在处理长上下文时,容易出现位置偏差,即模型更倾向于关注输入序列开头或结尾的信息,而忽略中间部分的关键信息。此外,传统的RAG方法通常只使用单个检索结果进行生成,可能无法充分利用所有相关信息。计算效率也是一个挑战,尤其是在处理大量文档时。

核心思路:Speculative RAG的核心思路是利用小型专家模型快速生成多个基于不同检索结果子集的草稿,然后使用大型通用模型对这些草稿进行验证和选择。通过并行生成多个草稿,可以探索不同的知识视角,缓解位置偏差,并提高信息利用率。使用小型专家模型进行草稿生成可以降低计算成本,而大型通用模型负责最终的质量把控。

技术框架:Speculative RAG框架主要包含以下几个阶段:1) 检索:从知识库中检索相关文档。2) 子集划分:将检索到的文档划分为多个子集。3) 草稿生成:使用小型专家LLM,基于每个文档子集生成一个草稿。4) 草稿验证:使用大型通用LLM对所有草稿进行验证和评分。5) 选择:选择得分最高的草稿作为最终输出。

关键创新:Speculative RAG的关键创新在于其并行生成和验证多个草稿的机制。与传统的单次检索和生成方法相比,它能够更全面地探索知识空间,并减轻位置偏差的影响。此外,使用小型专家模型进行草稿生成,大型通用模型进行验证,实现了计算效率和生成质量的平衡。

关键设计:论文中,小型专家模型通过知识蒸馏训练得到,使其能够快速生成高质量的草稿。大型通用模型使用交叉熵损失函数进行训练,以提高其验证和评分的准确性。文档子集的划分策略对最终性能有重要影响,论文可能探索了不同的划分方法,例如随机划分或基于语义相似度的划分。具体参数设置和网络结构细节在论文中应该有详细描述,但此处未知。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Speculative RAG在TriviaQA、MuSiQue、PopQA、PubHealth和ARC-Challenge等多个基准测试中取得了state-of-the-art的性能。在PubHealth数据集上,Speculative RAG相比传统RAG系统,准确率提升了高达12.97%,同时延迟降低了50.83%。这些结果表明,Speculative RAG能够显著提高RAG系统的性能和效率。

🎯 应用场景

Speculative RAG具有广泛的应用前景,例如问答系统、对话生成、内容创作等。它可以应用于需要利用大量外部知识的场景,例如医疗咨询、金融分析、法律咨询等。通过提高RAG系统的准确性和效率,Speculative RAG可以帮助人们更有效地获取和利用知识,从而做出更明智的决策。

📄 摘要(原文)

Retrieval augmented generation (RAG) combines the generative abilities of large language models (LLMs) with external knowledge sources to provide more accurate and up-to-date responses. Recent RAG advancements focus on improving retrieval outcomes through iterative LLM refinement or self-critique capabilities acquired through additional instruction tuning of LLMs. In this work, we introduce Speculative RAG - a framework that leverages a larger generalist LM to efficiently verify multiple RAG drafts produced in parallel by a smaller, distilled specialist LM. Each draft is generated from a distinct subset of retrieved documents, offering diverse perspectives on the evidence while reducing input token counts per draft. This approach enhances comprehension of each subset and mitigates potential position bias over long context. Our method accelerates RAG by delegating drafting to the smaller specialist LM, with the larger generalist LM performing a single verification pass over the drafts. Extensive experiments demonstrate that Speculative RAG achieves state-of-the-art performance with reduced latency on TriviaQA, MuSiQue, PopQA, PubHealth, and ARC-Challenge benchmarks. It notably enhances accuracy by up to 12.97% while reducing latency by 50.83% compared to conventional RAG systems on PubHealth.