跳到主内容
人工智能

主动检索增强生成

Active Retrieval Augmented Generation

Zhengbao Jiang, Frank F. Xu, Luyu Gao, Zhiqing Sun, Qian Liu, Jane Dwivedi-Yu, Yiming Yang, Jamie Callan, Graham Neubig

arXiv (Cornell University) · 2023-05-11

开放获取大模型与语言检索增强与智能体被引 18影响因子 ≈0.2

摘要

尽管大型语言模型在语言理解与生成方面展现出卓越能力,但这类模型仍存在产生幻觉、输出事实性错误内容的问题。从外部知识资源中检索信息以辅助大型语言模型,是一种颇具前景的解决方案。目前大多数检索增强型大型语言模型采用基于输入仅检索一次信息的“检索-生成”架构,但在涉及长文本生成的通用场景中,这种架构存在局限性——因为此类场景要求在生成过程中持续收集信息。本研究提出了主动检索增强生成的广义框架,即能够在生成过程中动态决定检索时机与检索内容的方法。我们提出了前瞻性主动检索增强生成(FLARE)这一通用方法:该方法通过迭代预测后续句子来预判未来内容,随后将该预测内容作为查询语句检索相关文档;一旦生成的句子包含置信度较低的词元,便利用检索到的文档重新生成该句子。我们在4项长篇知识密集型生成任务及对应数据集上对FLARE与基线方法进行了全面测试,结果显示FLARE在所有任务中均取得了更优或具有竞争力的性能,充分证明了该方法的有效性。相关代码与数据集可在https://github.com/jzbjyb/FLARE获取。

本摘要由 AI(Hy-MT2-Pro)翻译生成,仅供参考,请以原文为准。

AI 综述

基于全文生成
主要观点
论文针对现有检索增强语言模型普遍采用的 retrieve-and-generate 一次性范式提出批评:仅依据用户输入检索一次,无法覆盖长文本生成过程中逐步浮现、且无法从输入直接看出的信息需求。作者据此将「何时检索」与「检索什么」显式拆分为两个决策问题,提出主动检索增强生成(active retrieval augmented generation)的一般化框架,即检索与生成交替进行,第 t 步的查询由用户输入与已生成前缀共同决定(qt = qry(x, y<t)),生成则条件于当前步检索到的文档、输入与前缀(yt = LM([Dqt, x, y<t]))。作为该框架的具体实现,论文提出 FLARE(Forward-Looking Active REtrieval augmented generation):迭代生成一个临时下一句以预判未来内容,若其中含概率低于阈值 θ 的低置信 token,则以该句构造查询检索文档并重新生成该句;其依据是「大模型校准良好、低置信往往指示知识缺失」这一论断。论文给出 FLAREinstruct(通过检索指令在生成中产出 [Search(query)],受 Toolformer 启发)与 FLAREdirect(直接用下一句作查询,并含遮蔽低置信 token 的隐式查询与针对低置信 span 零样本生成问题的显式查询)两条实现路径,并以句子作为迭代的基本语义单元,同时声明可替换为短语或段落。结论为:在 4 个长文本知识密集型生成任务上,FLARE 相较单次检索与多轮检索基线取得更优或具竞争力的表现,且无需额外训练、可直接作用于推理阶段的任意 LM。
研究方法
论文先在形式化层面定义单次检索增强生成与主动检索增强生成两种设定,并据此把已有被动多轮方法统一重述为按「何时检索/检索什么」划分的三类基线:以 16 个 token 为窗口的 previous-window(RETRO、IC-RALM、KNN-LM)、逐句触发的 previous-sentence(IRCoT)、以及依赖人工标注子问题 exemplar 的 question decomposition(self-ask)。实验在 text-davinci-003 上以 few-shot in-context learning 完成,不进行微调;检索器使用 BM25 配合 Karpukhin et al. (2020) 的 Wikipedia dump,依赖开放网络知识的任务则使用 Bing 搜索引擎,检索结果按排序线性化后前置到输入之前,且每一步丢弃历史检索文档以规避输入长度限制。评测覆盖 4 个数据集:多跳问答 2WikiMultihopQA、常识推理 StrategyQA、长文本问答 ASQA(另设由作者自行加入简短提示的 ASQA-hint 变体)与开放域摘要 WikiAsp,出于成本考虑每个数据集最多抽样 500 个样例。度量包括 exact match、token 级 F1/precision/recall、Disambig-F1、ROUGE、DR 综合分、命名实体 F1 与 UniEval 事实一致性。超参数 θ 与 β 依据开发集选取,并做了以「下一句」还是「前文上下文」构造查询的消融比较。
学术贡献
在概念与框架层面,论文把长文本生成中的检索问题从「一次性取回」改写为「何时检索」与「检索什么」两个可分别设计的决策,并给出一个能把 previous-window、previous-sentence、question decomposition 等既有被动式多轮检索方法纳入其中的统一形式化描述,使原本分散的方法可在同一坐标系下比较。在方法层面,其贡献是前瞻式查询构造:用待生成的下一句而非已生成的历史窗口作为检索依据,并以低置信 token 作为检索触发信号,同时提供遮蔽式隐式查询与零样本问题生成式显式查询两种降低错误传播的查询构造手段,且整个流程不需要训练、可直接叠加在仅提供 API 的黑盒模型上。在实证层面,论文在 2WikiMultihopQA 上给出 FLAREdirect 的 EM 51.0、F1 59.7,高于 question decomposition(EM 47.8)、previous-window(43.2)、单次检索(39.4)与无检索(28.2),对多跳问答与长文本知识密集型生成这一子领域提供了可复现的基线重实现与对照数据。此外,ASQA-hint 的设置与结果指出长文本问答中「问题歧义识别」本身即构成瓶颈,这对长文本问答的评测设计具有直接的方法意义。
存在局限
方法验证仅建立在 text-davinci-003 一个闭源黑盒模型上,材料中未提及在任何可微调或开源 LM 上复现,因此结论是否依赖该模型的校准特性无法从材料判断。样本层面,每个数据集最多抽样 500 例且以开发集选择 θ 与 β,跨任务是否需重新调参、调参成本如何,材料均未说明。论证链条上存在明显缺口:FLAREinstruct 在 2WikiMultihopQA 上 EM 仅 42.4,低于 question decomposition 的 47.8,甚至低于 previous-window 的 43.2,作者亦承认其经检索指令生成的查询「可能不可靠」,但论文未给出该变体在其余三个数据集上的完整结果,也未系统分析其失败模式。查询构造方面,作者明确指出以含错误的临时句作查询可能检索到误导信息,遮蔽与问题生成只是缓解手段,材料中未见对残余错误传播的量化评估。此外,ASQA 需借助作者添加的歧义提示(ASQA-hint)才能跟上话题,说明在无提示条件下模型识别歧义的能力不足,而材料未提供不依赖人工提示的替代方案;检索次数、API 调用开销与延迟等效率指标正文亦未报告(仅注明在附录 A)。
进一步研究方向
其一,针对 FLAREinstruct 的失败做定向诊断:在 2WikiMultihopQA 与 ASQA 上逐实例标注检索指令触发的时点与查询内容,区分「时机错位」与「查询过泛」两类错误,并检验把指令式查询与置信度触发条件组合后能否缩小其与 FLAREdirect 的 8.6 个 EM 点差距。其二,把同一套实验流程迁移到材料提及但未采用的开源、可微调模型(如 Touvron et al., 2023)上,并尝试以置信度校准目标对 θ、β 做自适应学习,验证能否去掉逐任务的开发集调参环节。其三,针对论文自认的错误传播风险,设计用已检索文档反向校验临时句低置信 span 的机制,并在 ASQA 与 WikiAsp 上量化遮蔽式隐式查询与零样本问题生成式显式查询各自将错误检索率降低了多少。其四,论文声明迭代单元可换为短语或段落,可据此设置短语、句子、段落三档粒度做对照,同时记录检索触发次数与 API 调用量,检验生成质量与检索开销的权衡曲线。其五,将框架推广到材料未覆盖的更长文本生成场景(如多段落论文式摘要、书籍级摘要),验证「一次输入检索」与「全程主动检索」的差距是否随输出长度持续扩大。

本综述由 AI(deepseek-flash)阅读开放获取全文自动生成,仅供参考,不代表原文作者观点,请以原文为准。

参考文献

相关论文

话题:Topic Modeling