尽管大语言模型(LLMs)能力出众,但由于其仅依赖自身参数化知识,常会产生包含事实错误的回答。检索增强生成(Retrieval-Augmented Generation, RAG)通过为语言模型补充相关知识的检索,可缓解此类问题。然而,不加区分地检索并引入固定数量的段落——无论检索是否必要、段落是否相关——会削弱语言模型的通用性,或导致无益的回答生成。
本文提出了一种新框架 Self-Reflective Retrieval-Augmented Generation(Self-RAG),通过检索与自我反思提升语言模型的质量与事实性。该框架训练单一、任意的语言模型,使其能够按需自适应地检索段落,并利用称为反思标记(reflection tokens) 的特殊标记,对检索到的段落及自身生成内容进行生成与反思。生成反思标记使语言模型在推理阶段具有可控性,从而能够针对多样化任务需求调整行为。
实验表明,Self-RAG(7B 与 13B 参数规模)在多样任务上显著优于当前最先进的 LLMs 与检索增强模型。具体而言,Self-RAG 在开放域问答、推理和事实验证任务上超越了 ChatGPT 及检索增强的 Llama2-chat,并在长文本生成方面相较这些模型在事实性与引用准确性上取得显著提升。