“Speculative RAG:革新检索增强生成的新框架”

Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting

摘要

本文介绍了一种名为“推测性增强生成(Speculative RAG)”的新框架,旨在通过利用一个更大的通用语言模型(LM)来高效验证由一个较小的、经过蒸馏的专家LM并行生成的多个RAG草稿,从而提升检索增强生成(RAG)的性能。每个草稿都是从检索到的文档的不同子集中生成的,提供了证据的不同视角,同时减少了每个草稿的输入令牌计数。这种方法通过将草稿生成任务委托给较小的专家LM,并由较大的通用LM执行单一验证通过,加速了RAG过程。实验证明,Speculative RAG在TriviaQA、MuSiQue、PubHealth和ARC-Challenge基准测试中实现了最先进的性能,同时减少了延迟。

原理

Speculative RAG框架的核心在于将RAG任务分解为两个步骤:草稿生成和验证。首先,较小的专家LM(RAG Drafter)从检索到的文档子集中并行生成多个答案草稿。每个草稿基于不同的文档子集,确保了多样性和减少了输入长度。然后,较大的通用LM(RAG Verifier)对这些草稿进行验证,选择最合适的草稿作为最终答案。这种方法通过减少对长上下文的依赖和避免位置偏差,提高了理解和生成答案的准确性。

流程

  1. 文档检索:根据查询从外部数据库检索相关文档。
  2. 文档子集划分:将检索到的文档按内容相似性聚类,并从每个聚类中抽取一个文档形成子集。
  3. 草稿生成:多个RAG Drafter实例并行处理这些文档子集,生成答案草稿及其理由。
  4. 草稿验证:通用LM对每个草稿进行评分,基于问题和理由选择最佳草稿。
  5. 最终答案生成:选择评分最高的草稿作为最终答案。

应用

Speculative RAG框架适用于需要复杂推理和准确信息检索的各种知识密集型任务,如问答系统、信息检索和数据分析。其高效的处理速度和改进的准确性使其在实时应用和大规模数据处理中具有广泛的应用前景。