跳转至

RetroLLM: Empowering Large Language Models to Retrieve Fine-grained Evidence within Generation

会议: ACL 2025
arXiv: 2412.11919
代码: github.com/sunnynexus/RetroLLM
领域: LLM/NLP
关键词: 检索增强生成, 生成式检索, FM-Index, 受限解码, 开放域问答

一句话总结

提出RetroLLM统一框架,将检索和生成集成为单一自回归解码过程,通过层级FM-Index约束和前瞻式受限解码,使LLM能直接从语料库中生成细粒度证据,同时显著减少token消耗。

研究背景与动机

大型语言模型虽然生成能力强大,但常因依赖内部记忆而产生幻觉。检索增强生成(RAG)通过引入外部知识来缓解这一问题,但现有RAG方法面临多个局限:

部署成本高:需要维护独立的检索器,增加系统复杂度

冗余信息多:检索到的文本块常包含大量无关信息,浪费输入token并分散模型注意力

灵活性差:固定的检索粒度和数量限制了RAG系统的灵活性

缺乏联合优化:检索器依赖独立索引,阻碍了与生成器的联合训练

生成式检索(Generative Retrieval)通过生成文档标识符(DocID)消除了对文档索引的依赖,但仍需将DocID映射回文档内容才能供LLM使用,打破了检索与生成的无缝集成。

本文提出RetroLLM,让LLM在单一自回归过程中直接从语料库生成事实性证据和最终答案。然而,简单地使用FM-Index进行前缀约束生成会遭遇严重的假剪枝(false pruning)问题——正确的证据序列在解码早期步骤就被错误地裁剪。

方法详解

整体框架

RetroLLM的推理过程包含三个阶段:(1) 线索生成(Clue Generation):在语料库级FM-Index约束下生成关键短语;(2) 证据生成(Evidence Generation):在候选文档级FM-Index约束下生成细粒度证据;(3) 答案生成(Answer Generation):基于检索到的证据自由生成最终答案。整个过程在一次自回归解码中完成。

关键设计

  1. 层级FM-Index约束(Hierarchical FM-Index Constraints): 构建两层FM-Index索引:

    • 语料库级全局FM-Index \(\mathcal{I}_c\):从整个语料库构建,用于线索生成阶段,确保生成的短语确实存在于语料库中
    • 文档级FM-Index管理器 \(\mathcal{I}_d\):为每个文档单独构建索引,用于证据生成阶段,将解码约束限定在候选文档内

实证研究表明,将FM-Index约束从语料库级缩小到相关文档级,可以大幅减少不相关的解码路径,前13个token内的假剪枝问题尤为严重。

  1. 线索生成与文档评分(Clue Generation & Document Scoring):

    • 在语料库FM-Index约束下生成一组线索短语(关键实体/主题词)
    • 结合TF-IDF思想,为线索分配权重:在语料库中出现次数越少、覆盖文档越少的线索权重越高
    • 使用辅助线索:通过稀疏词法模型(SPLADE-v3)从查询中提取额外关键词
    • 加权倒数排名融合:将线索生成排名 \(R_1\) 和稀疏检索排名 \(R_2\) 通过加权倒数排名融合得到最终候选文档集 \(\mathcal{D}_c\)
  2. 前瞻式受限证据生成(Forward-Looking Constrained Evidence Generation): 解决"模型无法在预测当前token时预见未来序列的相关性"的问题,包含三步:

    • 定位未来窗口:在候选文档中搜索包含线索的文本窗口,这些上下文通常与查询高度相关
    • 评估窗口相关性:使用重排序模型(BGE-reranker)计算每个窗口与查询的相关性分数
    • 调整解码logits:在每步解码时,将允许的token与未来窗口关联,根据窗口相关性分数调整logits:

    \(\tilde{l}(t) = l(t) + \lambda \cdot \max_{w \in \mathcal{W}_t} \mathcal{S}_w(w)\)

特殊token控制流程:<clue> 开始线索生成,<evidence> 触发证据生成,</evidence> 结束约束并进入自由生成。

  1. 训练数据构建: 模拟推理过程构建训练数据:

    • 用稀疏检索器获取线索和相关文档
    • 定位包含线索的句子,用重排序器选择top-k相关证据
    • 验证证据确实包含答案且能真正回答查询
    • 用LLM从查询和相关证据中提取关键实体作为目标线索

损失函数 / 训练策略

采用标准的next-token prediction损失,但有两个关键设计: - 对证据序列中间80%的token进行mask(因为证据较长,且中间部分对学习贡献较小) - 答案生成损失乘以权重 \(\gamma=2\),强化答案生成能力 - 使用LoRA进行高效微调,训练3个epoch - 骨干模型为Mistral-7B-Instruct

\[\mathcal{L} = -\sum_{t=1}^{T_c+T_e} \log P(x_t|x_{<t}, q; \theta) - \gamma \sum_{t=1}^{T_a} \log P(y_t|y_{<t}, x, q; \theta)\]

实验关键数据

主实验

整体QA性能(Acc / F1 / Token数):

方法 NQ Acc TriviaQA Acc HotpotQA Acc PopQA Acc 2WIKI Acc
Naive RAG 52.4 69.3 37.8 47.7 38.7
IRCoT 49.6 66.0 37.3 59.8 29.4
Iter-RetGen 51.7 71.0 37.2 51.7 29.2
RetroLLM 61.6 74.3 61.9 65.7 48.9

Token消耗对比:

方法 NQ TriviaQA HotpotQA PopQA 2WIKI
Naive RAG 919 915 960 944 1000
Iter-RetGen 3002 2461 2545 2509 2669
RetroLLM 302 287 607 355 661

消融实验

配置 域内Acc 域内F1 域外Acc 域外F1
完整RetroLLM 66.0 56.6 57.3 39.6
去掉前瞻窗口 44.3 43.2 40.9 33.8
去掉线索生成 60.6 52.1 56.4 38.1
去掉线索扩展 49.6 45.1 44.1 35.4
仅朴素约束 27.2 28.0 21.8 20.7
无约束 41.6 43.0 31.6 28.1

关键发现

  • 统一框架显著优于传统RAG:RetroLLM在所有5个数据集上均超越所有RAG基线,包括复杂的多轮检索策略
  • Token消耗大幅降低:比Naive RAG平均少约2.1倍,比Iter-RetGen少约6倍
  • 假剪枝问题严重:朴素约束方法(Naive Constraints)性能最低,甚至不如无约束自由生成
  • 前瞻窗口贡献最大:去掉前瞻窗口后域内Acc从66.0降至44.3,下降幅度最大
  • 跨域泛化良好:在PopQA和2WIKI域外任务上同样表现优异
  • 检索粒度更精细:单跳QA平均仅需3.29条证据(vs基线固定5条),多跳QA平均4.24条
  • 模型规模效应:参数从1B到14B,性能稳步提升,符合缩放定律

亮点与洞察

  • 真正的检索-生成统一:不同于GritLM(共享参数但分离注意力)或OneGen(仍检索chunk作为输入),RetroLLM实现了端到端的统一自回归过程
  • 假剪枝问题的深入分析:通过实证研究揭示了前缀约束方法在前13个token的相关性急剧下降,为层级约束提供了直觉
  • 延迟与性能的平衡:RetroLLM略慢于Naive RAG(582ms vs 约需估计),但显著快于复杂RAG方法(如SelfRAG 3269ms)
  • 灵活的证据数量控制:模型自主决定检索多少证据,单跳和多跳任务自适应调整

局限与展望

  • FM-Index的构建和维护需要额外的存储和预处理成本,特别是文档级索引
  • 当前版本依赖外部稀疏词法模型(SPLADE-v3)生成辅助线索,未完全"统一"
  • 基于Wikipedia知识库实验,未验证在更大规模或非百科类知识库上的表现
  • LoRA微调可能限制了模型充分学习检索-生成的联合表示
  • 多跳QA在证据数超过6后性能提升饱和,可能需要更好的证据冗余过滤机制
  • 前瞻窗口的重排序引入了额外延迟,可探索更轻量的相关性估计方法

相关工作与启发

  • GritLM(Muennighoff et al., 2024)和OneGen(Zhang et al., 2024a)尝试统一检索和生成,但未实现端到端自回归
  • DSI(Tay et al., 2022)是生成式检索的开创性工作,但仅生成DocID而非证据
  • Self-RAG(Asai et al., 2024)通过自反思决定是否检索,但仍依赖外部检索器
  • REPLUG(Shi et al., 2023)将检索器作为插件,代表了另一种RAG集成思路
  • RetroLLM的层级约束+前瞻解码思路可推广到其他需要受限生成的任务

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 将检索和生成真正统一为单一自回归过程,层级FM-Index和前瞻解码设计创新性强
  • 实验充分度: ⭐⭐⭐⭐⭐ 5个数据集、域内/域外评估、详细消融、多规模/多骨干分析、效率评估
  • 写作质量: ⭐⭐⭐⭐ 技术细节充实,公式化清晰,但部分内容较密集
  • 价值: ⭐⭐⭐⭐⭐ 提出了RAG的新范式,在性能和效率上均有显著优势,对未来RAG系统设计有重要启发

相关论文