【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】
简介
论文中英文名
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
Self-RAG: 通过自我反思学习检索、生成和批判
论文地址
https://arxiv.org/abs/2310.11511
精读理由
- 训练了一个
单一的
语言模型,该模型能够根据需要自适应地
进行段落检索。 - 在多项任务上
显著超越
了当时最新的大型语言模型和检索增强模型。 - 我前面读的两篇RAG综述论文都提到了它。
- 它是我后面要读的一篇RAG论文的重要基础。
- 代码和模型开源,且附录部分有对实验部分的详细说明,方便学习和参考。
开源代码和模型地址
https://selfrag.github.io/
摘要
- 尽管大型语言模型(LLMs)具备显著的能力,但它们通常由于仅依赖其内部封装的参数化知识而生成包含
事实性错误
的回答。 - 检索增强生成(Retrieval-Augmented Generation,RAG)是一种临时方法,通过检索相关知识来增强语言模型,从而减少这些问题。
然而
,不加区分地检索并结合固定数量的检索段落,无论是否需要检索或者段落是否相关,都会削弱语言模型的灵活性,甚至可能导致无益的回答生成。 - 我们提出了一种名为自我反思检索增强生成(Self-Reflective Retrieval-Augmented Generation,Self-RAG)的新框架,该框架通过检索和自我反思来提升语言模型的质量和准确性。我们的框架训练了一个单一的任意语言模型,
该模型能够根据需要自适应地进行段落检索
,并使用称为反思标记(reflection tokens) 的特殊标记来生成和反思检索到的段落及其自身的生成内容。生成反思标记使得语言模型在推理阶段可控,能够根据多样的任务需求调整其行为。 实验表明,Self-RAG(7B 和 13B 参数)在多项任务上显著超越了最新的大型语言模型和检索增强模型
。具体而言,Self-RAG 在开放域问答、推理和事实验证任务上超越了 ChatGPT 和检索增强的 Llama2-chat 模型,并且在长篇生成的事实性和引用准确性方面相对于这些模型取得了显著的提升。
1 引言
前人的不足
- 尽管最新的大型语言模型(LLMs)在模型规模和数据规模上有所增加(Ouyang et al., 2022),它们仍然在
事实性错误
方面存在困难(Mallen et al., 2023;Min et al., 2023)。 - 检索增强生成(RAG)方法(图 1 左侧;Lewis et al., 2020;Guu et al., 2020)通过检索相关段落来增强 LLM 的输入,从而减少在知识密集型任务中的事实性错误(Ram et al., 2023;Asai et al., 2023a)。
- 然而,
由于这些方法在检索时不加区分
,忽略了事实基础是否有帮助,它们可能会削弱 LLM 的灵活性,或者引入不必要或离题的段落,导致低质量的生成内容(Shi et al., 2023)。 - 此外,
由于这些模型并未明确地训练来有效利用和遵循提供段落中的事实
,生成结果也不一定与检索到的相关段落一致(Gao et al., 2023)。
我们的模型概览和贡献
- 本研究提出了自我反思检索增强生成(SELF-RAG),通过按需检索和自我反思来提高 LLM 的生成质量,包括其事实准确性,同时不影响其灵活性。
- 我们以端到端的方式训练一个任意的语言模型,使其在给定任务输入的情况下,能够通过生成任务输出和间歇性特殊标记(即反思标记)来学习反思其自身的生成过程。反思标记分为检索标记和批判标记,分别表示是否需要检索以及生成内容的质量(图 1 右侧)。具体来说,SELF-RAG 在给定输入提示和前面的生成内容后,
- 首先确定是否需要通过检索段落来增强后续生成。如果需要,它将输出一个检索标记,并按需调用检索模型(步骤 1)。
- 随后,SELF-RAG 并行处理多个检索到的段落,评估它们的相关性,然后生成相应的任务输出(步骤 2)。
- 接着,它生成批判标记,对自身的输出进行批判,并在事实性和整体质量方面选择最佳的输出(步骤 3)。
- 这种过程与传统的 RAG 不同(图 1 左侧),传统 RAG 无论是否需要检索,都会固定数量地检索文档用于生成(例如,底部的示例并不需要事实知识),并且从不二次检查生成质量。
- 此外,SELF-RAG 为每一段提供引文,并进行自我评估,判断输出是否由段落支持,从而更容易进行事实验证。
图1
上面那段文字(我们的模型概览和贡献)解释了这张图的内容
SELF-RAG 概述。SELF-RAG 学习检索、批判和生成文本段落,以提高整体生成质量、事实性和可验证性。
我们如何训练的、受到了哪些启发
- SELF-RAG 训练一个任意的语言模型(LM)通过将反思标记(reflection tokens)统一到扩展后的模型词汇表中作为下一个标记预测来生成文本。我们在一系列插入了反思标记和检索段落的多样化文本集合上训练生成器 LM。反思标记受强化学习中的奖励模型启发(Ziegler et al., 2019;Ouyang et al., 2022),由经过训练的批判模型离线插入到原始语料库中。这消除了在训练过程中托管批判模型的需要,降低了开销。
- 部分批判模型通过一个专有语言模型(例如 GPT-4;OpenAI 2023)提示(prompting)收集输入、输出和相应反思标记的数据集进行监督训练。虽然我们借鉴了使用控制标记启动和引导文本生成的研究(Lu et al., 2022;Keskar et al., 2019),但我们训练的 LM 使用批判标记在每个生成段落后评估自身预测,作为生成输出的一个重要组成部分。
- SELF-RAG 还支持定制解码算法,以满足由反思标记预测定义的硬性或软性约束。特别是,我们的推理算法可以
- (1)灵活调整不同下游应用的检索频率
- (2)通过段落级束搜索,利用反思标记概率的加权线性和作为段落评分,定制模型行为以适应用户偏好。
实验结果
- 在六项任务上进行的实验证明,SELF-RAG
显著优于
参数更多的预训练和指令微调的 LLMs,并且在引用准确性上也优于广泛采用的 RAG 方法。 - 特别是,SELF-RAG 在四项任务上超越了检索增强的 ChatGPT,在所有任务上超越了 Llama2-chat(Touvron et al., 2023)和 Alpaca(Dubois et al., 2023)。
- 我们的分析证明了使用反思标记进行训练和推理在提升整体性能以及测试时模型定制(例如在引用准确性和内容完整性之间平衡取舍)方面的有效性。
2 相关工作
检索增强生成
- 检索增强生成(Retrieval-Augmented Generation,RAG)通过检索到的文本段落扩展语言模型(LM)的输入空间(Guu et al., 2020;Lewis et al., 2020),在微调或与现成的 LMs 结合使用后,显著提升了知识密集型任务的表现(Ram et al., 2023)。
- 近期的研究(Luo et al., 2023)通过在输入前添加固定数量的检索段落对 LM 进行指令微调,或联合预训练检索器和 LM,随后在任务数据集上进行少量样本微调(Izacard et al., 2022b)。
- 虽然之前的工作通常只在开头检索一次,Jiang et al.(2023)提出了自适应检索段落用于生成的方案,基于专有 LLM 或 Schick et al.(2023)训练 LM 生成命名实体的 API 调用。
然而
,这些方法- 提高任务性能的代价通常是运行时效率降低(Mallen et al., 2023),
- 对无关上下文的鲁棒性较差(Shi et al., 2023),
- 并且缺乏明确的引用(Liu et al., 2023a;Gao et al., 2023)。
我们提出了一种方法
,训练任意 LM 学会按需检索以处理多样的指令跟随查询,并引入由反思标记引导的可控生成,以进一步提高生成质量和引用准确性。
RAG__75">并行的 RAG 研究
- 一些并行的 RAG 研究提出了新的训练或提示策略,以改进广泛采用的 RAG 方法。Lin et al.(2023)在指令微调数据集上分两步微调了检索器和 LM。
- 虽然我们也在多样化的指令跟随数据集上训练了模型,SELF-RAG 支持按需检索,并通过细粒度的自我反思选择最佳的模型输出,使其更具通用性、鲁棒性和可控性。
- Yoran et al.(2023)使用自然语言推理模型,Xu et al.(2023)使用摘要模型在使用检索段落提示 LM 生成输出之前过滤或压缩检索到的段落。
- 而 SELF-RAG 并行处理段落,通过自我反思过滤掉不相关的段落,
无需在推理时依赖外部模型
。 - 此外,我们的自我反思机制还评估模型输出质量的其他方面,包括事实性。
- LATS(Zhou et al., 2023)提示现成的 LMs 搜索相关信息以处理问答任务,在LM 生成的价值评分指导下通过树搜索来生成。
- 虽然他们的价值函数仅表示每次生成的整体评分,SELF-RAG 训练任意 LM 学会生成细粒度的自我反思和可定制的推理。
通过批判模型进行训练和生成
与 RLHF 的对比
- 通过人类反馈(RLHF) 使用强化学习(例如,近端策略优化(Proximal Policy Optimization ,PPO);Schulman et al., 2017)训练 LLMs 已被证明能有效地将 LLMs 与人类偏好对齐(Ouyang et al., 2022)。
- Wu et al.(2023)提出了使用多个奖励模型的细粒度 RLHF。
- 尽管我们的工作也研究了检索和生成的细粒度批判,我们通过离线从批判模型中插入的反思标记增强任务示例,训练目标 LM,
与 RLHF 相比,训练成本要低得多。
- 此外,SELF-RAG 中的反思标记使
推理阶段的生成可控
,而 RLHF 则侧重于训练期间与人类偏好的对齐
。
与 其他工作 的对比
- 其他工作使用通用控制标记引导 LM 生成(Lu et al., 2022;Korbak et al., 2023),
- 而 SELF-RAG 使用反思标记决定是否需要检索,并自我评估生成质量。
- Xie et al.(2023)提出了一个自我评估引导的解码框架,但他们只关注推理任务的一个评估维度(推理路径一致性),且没有进行检索。
- 最近关于 LLM 改进的研究(Dhuliawala et al., 2023;Madaan et al., 2023;Paul et al., 2023)通过提示模型生成任务输出、自然语言反馈和精细化的任务输出,但以推理效率为代价。
未完待续。。。