论文状态:已完成

Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection

发表:2023/10/18
原文链接PDF 下载
价格:0.100000
价格:0.100000
价格:0.100000
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种新的自反思检索增强生成框架(Self-RAG),通过按需检索和生成反思词元来提升大型语言模型(LLMs)的质量与事实准确性。实验表明,Self-RAG在开放域问答、推理和事实核查任务中显著优于现有模型,展示了其在长文本生成中的改进潜力。

摘要

Despite their remarkable capabilities, large language models (LLMs) often produce responses containing factual inaccuracies due to their sole reliance on the parametric knowledge they encapsulate. Retrieval-Augmented Generation (RAG), an ad hoc approach that augments LMs with retrieval of relevant knowledge, decreases such issues. However, indiscriminately retrieving and incorporating a fixed number of retrieved passages, regardless of whether retrieval is necessary, or passages are relevant, diminishes LM versatility or can lead to unhelpful response generation. We introduce a new framework called Self-Reflective Retrieval-Augmented Generation (Self-RAG) that enhances an LM's quality and factuality through retrieval and self-reflection. Our framework trains a single arbitrary LM that adaptively retrieves passages on-demand, and generates and reflects on retrieved passages and its own generations using special tokens, called reflection tokens. Generating reflection tokens makes the LM controllable during the inference phase, enabling it to tailor its behavior to diverse task requirements. Experiments show that Self-RAG (7B and 13B parameters) significantly outperforms state-of-the-art LLMs and retrieval-augmented models on a diverse set of tasks. Specifically, Self-RAG outperforms ChatGPT and retrieval-augmented Llama2-chat on Open-domain QA, reasoning and fact verification tasks, and it shows significant gains in improving factuality and citation accuracy for long-form generations relative to these models.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

自反性检索增强生成:通过自反性学习检索、生成和评估 (Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection)

这篇论文的核心主题是提出一种新的大型语言模型 (LLM) 框架,旨在通过按需检索 (on-demand retrieval)自反性 (self-reflection) 机制,显著提高模型生成文本的质量、事实准确性和可验证性。

1.2. 作者

论文的作者包括 Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil, Hannaneh Hajishirzi。 他们的研究背景和隶属机构如下:

  • Akari Asai, Zeqiu Wu, Yizhong Wang, Hannaneh Hajishirzi 隶属于 华盛顿大学 (University of Washington)艾伦人工智能研究所 (Allen Institute for AI)
  • Avirup Sil 隶属于 IBM 研究院 AI (IBM Research AI)

1.3. 发表期刊/会议

论文目前作为预印本 (preprint) 发布在 arXiv 上。虽然尚未经过同行评审并正式发表在特定期刊或会议上,但 arXiv 在人工智能和机器学习领域是一个高度活跃且具有影响力的平台,许多重要的研究成果在正式发表前都会在此发布,吸引了广泛的关注。

1.4. 发表年份

2023年

1.5. 摘要

尽管大型语言模型 (LLM) 展现出卓越的能力,但由于它们仅依赖其内部封装的参数化知识 (parametric knowledge),往往会产生包含事实不准确的回答。检索增强生成 (Retrieval-Augmented Generation, RAG) 是一种临时方法,通过增强语言模型对相关知识的检索,减少了此类问题。然而,不加区分地检索和整合固定数量的检索段落,无论检索是否必要或段落是否相关,都会降低语言模型的通用性,或导致生成无益的响应。

本文引入了一种名为 自反性检索增强生成 (Self-Reflective Retrieval-Augmented Generation, Self-RAG) 的新框架,通过检索和自反性来提升语言模型的质量和事实准确性。该框架训练一个单一的任意语言模型,使其能够按需自适应地检索 (adaptively retrieves passages on-demand) 段落,并使用特殊的反射令牌 (reflection tokens) 对检索到的段落及其自身生成的内容进行生成和评估。生成反射令牌使得语言模型在推理阶段可控,从而能够根据不同的任务需求调整其行为。实验表明,Self-RAG (7B 和 13B 参数) 在各种任务上显著优于最先进的 LLM 和检索增强模型。具体而言,Self-RAG 在开放域问答、推理和事实核查任务上优于 ChatGPT 和检索增强的 Llama2-chat,并且在长文本生成的事实准确性和引用精度方面相对于这些模型显示出显著提升。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

核心问题: 大型语言模型 (LLM) 尽管在语言理解和生成方面表现出色,但普遍存在事实性错误 (factual errors) 的问题,即它们生成的内容可能与客观事实不符。这主要是因为它们仅依赖在训练过程中学到的参数化知识 (parametric knowledge)

问题的重要性: 事实性错误会导致多种现实问题,例如传播错误信息、提供不准确的建议。在知识密集型任务中,LLM 的事实准确性至关重要。

现有研究的挑战或空白 (Gap):

  1. 传统 RAG 的局限性: 传统的检索增强生成 (Retrieval-Augmented Generation, RAG) 方法通过在 LLM 输入中加入相关检索段落来减少事实性错误。然而,RAG 通常不加区分地检索固定数量的文档,无论这些文档是否真正需要或是否相关。这导致以下问题:
    • 降低模型通用性: 在不需要外部知识的任务中,强制检索会引入冗余或分散注意力的信息。
    • 生成低质量内容: 引入不相关或“离题”的段落可能导致生成不准确或无益的响应。
    • 输出与检索不一致: 即使检索了相关段落,模型也可能不完全遵循其中的事实,导致生成内容与源文档不符。
  2. 缺乏自省能力: 现有 LLM 及其 RAG 变体缺乏对自身生成过程的自省 (self-reflection) 能力,无法评估检索到的信息是否相关、自身生成的内容是否被支持、以及整体质量如何。这使得模型难以自我纠正和优化。
  3. 可控性不足: 传统的 LLM 和 RAG 方法在推理阶段的可控性有限,难以根据具体任务需求(例如,更强调事实准确性或更注重流畅性)来调整其行为。

本文的切入点或创新思路: Self-RAG 的核心创新在于赋予 LLM 按需检索自省评估的能力。它通过训练一个统一的语言模型,使其不仅能生成任务输出,还能生成特殊的反射令牌 (reflection tokens) 来:

  1. 判断何时需要检索: 模型可以根据当前生成状态和任务需求,自适应地决定是否需要检索外部知识。
  2. 评估检索质量: 对检索到的段落进行评估,判断其是否相关。
  3. 评估自身生成质量: 对自身生成的内容进行评估,判断其是否被检索到的信息所支持,以及整体实用性如何。 通过这种方式,Self-RAG 实现了更智能、更精确的知识整合和内容生成。

2.2. 核心贡献/主要发现

主要贡献:

  1. 提出 Self-RAG 框架: 引入了一个新的框架 自反性检索增强生成 (Self-RAG),该框架通过按需检索 (on-demand retrieval)自反性 (self-reflection) 机制,提高 LLM 的生成质量和事实准确性。
  2. 统一的端到端训练: 训练一个单一的、任意的语言模型,使其能够同时生成任务输出和特殊的反射令牌 (reflection tokens),从而在生成过程中学习自我评估。
  3. 反射令牌机制: 设计了包含检索令牌和评估令牌的反射令牌,用于指示检索需求、评估检索段落的相关性以及批判自身生成的质量(如事实支持度、实用性等)。这使得模型在推理阶段具有可控性。
  4. 定制化推理算法: 提出了一种定制化的解码算法,利用反射令牌来满足硬性或软性约束,从而在推理时灵活调整模型的行为(例如,调整检索频率、平衡引用精度和完整性)。
  5. 显著的性能提升: 在多样化的任务集(包括开放域问答、推理、事实核查和长文本生成)上,Self-RAG 显著优于现有的最先进 LLM 和检索增强模型,包括 ChatGPT 和检索增强的 Llama2-chat。

关键结论或发现:

  1. 超越基线: Self-RAG (7B 和 13B 参数) 在包括开放域问答、推理、事实核查和长文本生成等六项任务中,全面超越了没有检索的 LLM 基线模型,甚至在多个任务上优于拥有更多参数的 ChatGPT。
  2. 优于传统 RAG: Self-RAG 显著优于传统的不加区分检索的 RAG 方法,特别是在事实准确性和引用精度方面表现突出。
  3. 事实准确性和引用精度提升: 在长文本生成任务中,Self-RAG 在事实准确性 (factuality)引用精度 (citation accuracy) 方面取得了显著进步,有效地减少了 LLM 常见的“幻觉”问题。
  4. 自反性与可控性有效性: 实验证明,通过训练和推理阶段使用反射令牌,不仅提高了整体性能,还实现了测试时的模型行为定制化(例如,平衡引用精度和完整性的权衡)。
  5. 组件重要性: 消融研究表明,Self-RAG 的每个核心组件(包括检索、批评模型和特定推理策略)都对最终性能至关重要。
  6. 训练数据规模效应: 增加训练数据规模能持续提升 Self-RAG 的性能,尤其在 PopQA 和 ASQA 等任务上效果显著。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 大型语言模型 (LLM)

概念定义: 大型语言模型 (Large Language Models, LLMs) 是指具有数亿到数万亿参数的深度学习模型,它们通过在海量文本数据上进行预训练,学习语言的统计规律、语法结构、语义信息以及一定程度的世界知识。LLM 能够执行多种自然语言处理任务,如文本生成、问答、摘要、翻译等。

工作原理: LLM 的核心是Transformer架构,尤其是其自注意力机制 (self-attention mechanism)。在预训练阶段,模型通常通过预测序列中的下一个词元 (token) 来学习。这意味着模型主要依赖其内部参数中编码的参数化知识 (parametric knowledge)

局限性: 尽管能力强大,但 LLM 容易出现事实性错误 (factual errors)幻觉 (hallucination),即生成看似合理但实际上不准确或完全虚构的信息。这是因为其知识仅限于训练数据,且难以实时更新或精确引用来源。

3.1.2. 检索增强生成 (Retrieval-Augmented Generation, RAG)

概念定义: 检索增强生成 (Retrieval-Augmented Generation, RAG) 是一种结合了信息检索和语言模型生成的方法。它通过从外部知识库中检索相关文档或段落,然后将这些检索到的信息作为上下文输入给语言模型,从而帮助语言模型生成更准确、更具事实依据的响应。

工作原理:

  1. 检索器 (Retriever): 接收用户查询,从大规模文档集合中检索出最相关的 KK 个文本段落。
  2. 生成器 (Generator): 将原始查询和检索到的段落一起作为输入,生成最终的响应。 通过这种方式,RAG 旨在克服 LLM 的知识边界,提高其事实准确性 (factuality)

传统 RAG 的挑战:

  • 盲目检索: 无论是否需要,总是检索固定数量的文档,可能引入不必要的或不相关的噪声。
  • 不保证一致性: 即使检索了相关文档,模型也不一定能完全遵循其中的事实,输出可能与证据不一致。
  • 缺乏归因: 难以明确指出生成内容具体来源于哪个检索到的段落。

3.2. 前人工作

本文的相关工作 (Related Work)部分涵盖了多个与检索增强生成 (RAG)带评估的训练与生成 (Training and generating with critics)相关的领域。为了更好地理解 Self-RAG 的创新点,我们需要回顾一些关键的前人工作。

3.2.1. 检索增强生成 (RAG)

  • 早期 RAG 模型 (Lewis et al. 2020; Guu et al. 2020): 这些是 RAG 领域的开创性工作,首次提出了将检索器 (retriever)生成器 (generator)结合起来,以提高 LLM 在知识密集型任务中的表现。它们通常在生成开始时检索一次。
    • 背景知识补充: REALM (Retrieval-Augmented Language Model) (Guu et al. 2020) 和 RAG (Retrieval-Augmented Generation) (Lewis et al. 2020) 是两种标志性的早期 RAG 方法。它们的核心思想是训练一个组件来从外部知识库中检索文档,然后将这些文档馈送给语言模型以辅助其生成。
  • 指令微调 RAG (Luo et al., 2023): 一些工作尝试通过指令微调 (instruction-tuning) 将检索到的文本段落预先添加到输入中,来训练 LLM。这虽然能提高性能,但仍是固定数量的检索,缺乏动态性。
  • 自适应检索 (Jiang et al., 2023; Schick et al., 2023): 一些近期工作开始探索按需检索 (on-demand retrieval),即根据生成需要动态地检索信息。例如,Jiang et al. (2023) 提出了一种在专有 LLM 上实现自适应检索的方法,Schick et al. (2023) 训练 LLM 生成 API 调用(如维基百科 API)来获取信息。
    • 与本文差异: 尽管这些工作也涉及自适应检索,但它们通常侧重于检索本身,而缺乏 Self-RAG 引入的细粒度自反性 (self-reflection)批判 (critique)机制,也未能实现对生成质量的明确评估和控制。

3.2.2. 带评估的训练与生成 (Training and generating with critics)

  • 基于人类反馈的强化学习 (RLHF) (Ouyang et al., 2022; Schulman et al., 2017):
    • 背景知识补充: RLHF (Reinforcement Learning from Human Feedback) 是当前 LLM 领域的一个关键技术,用于使模型行为与人类偏好对齐。它通常涉及训练一个奖励模型 (reward model)来评估 LLM 生成的质量,然后使用近端策略优化 (Proximal Policy Optimization, PPO)等强化学习算法,根据奖励模型的反馈来微调 LLM。
    • Wu et al. (2023): 提出使用多个奖励模型进行细粒度的 RLHF。
    • 与本文差异: RLHF 虽然有效,但训练成本高昂,且主要目标是对齐 (alignment)。Self-RAG 采用的是离线 (offline) 生成批判(即反射令牌 (reflection tokens))并将其插入训练语料库的方式,然后通过标准 LM 目标进行训练,显著降低了训练成本。此外,Self-RAG 的反射令牌还在推理时提供了可控生成 (controllable generation)的能力。
  • 控制令牌 (Control Tokens) (Lu et al., 2022; Keskar et al., 2019; Korbak et al., 2023): 这些工作使用特殊的控制令牌 (control tokens)来引导文本生成,例如控制生成文本的风格或属性。
    • 与本文差异: Self-RAG 也使用特殊令牌(反射令牌),但其目的是更进一步:决定检索需求 (need for retrieval)自我评估生成质量 (self-evaluate generation quality),而不仅仅是引导生成。
  • 自我评估解码 (Self-evaluation-guided decoding) (Xie et al., 2023): 一些工作探索了基于模型自我评估的解码策略。
    • 与本文差异: Xie et al. (2023) 主要关注推理任务中的推理路径一致性 (reasoning path consistency)这一单一评估维度,且不涉及检索。Self-RAG 则在多个维度(相关性、支持度、实用性)上进行细粒度评估,并结合了检索机制。
  • LLM 精炼 (LLM refinement) (Dhuliawala et al., 2023; Madaan et al., 2023; Paul et al., 2023): 这些方法通过迭代提示工程 (iterative prompting)让模型生成任务输出、自然语言反馈和精炼后的任务输出。
    • 与本文差异: 这些方法虽然能提高质量,但通常会增加推理开销,因为它们需要多次迭代。Self-RAG 的批判机制更集成到生成过程中,并且目标是更高效的自适应决策 (adaptive decision-making)

3.3. 技术演进

LLM 的发展大致经历了几个阶段:

  1. 纯预训练 LLM: 早期 LLM (如 GPT-1, BERT) 主要通过大规模文本预训练学习语言模式,但缺乏事实性保障和指令遵循能力。
  2. 指令微调 LLM: 引入指令微调 (instruction tuning) (如 Flan-T5, Alpaca) 和基于人类反馈的强化学习 (RLHF) (如 InstructGPT, ChatGPT),显著提升了 LLM 的指令遵循 (instruction following)能力和对齐 (alignment),但事实性错误仍是挑战。
  3. 检索增强 LLM (RAG): 为了解决事实性问题,RAG (如 REALM, RAG) 将外部知识检索引入 LLM,为生成提供事实依据。这在知识密集型任务中取得了巨大成功。
  4. 自适应/迭代 RAG: 进一步演进,研究者开始探索更智能的 RAG 方式,如自适应检索 (adaptive retrieval) (Jiang et al. 2023) 和工具使用 (tool use) (Schick et al. 2023),让模型更灵活地利用外部信息。
  5. 自反性 RAG (Self-RAG): 本文的 Self-RAG 代表了 RAG 技术演进的最新一步,它不仅实现了按需检索 (on-demand retrieval),更加入了细粒度的自反性评估 (fine-grained self-reflection and critique) 机制。这使得 LLM 不仅能够获取外部信息,还能主动评估信息的质量和自身生成内容与信息的匹配度,从而在生成过程中进行自我纠正和优化。

3.4. 差异化分析

Self-RAG 与相关工作中的主要方法相比,其核心区别和创新点体现在以下几个方面:

  1. 与传统 RAG 的区别:

    • 按需检索: 传统 RAG 不加区分地检索固定数量的文档。Self-RAG 则通过检索令牌 (Retrieve token),让模型自适应地 (adaptively)决定何时需要检索,从而避免不必要的检索和噪声引入。
    • 自反性评估: 传统 RAG 缺乏对检索段落和生成内容的评估。Self-RAG 引入了批判令牌 (critique tokens),模型能够并行处理多个检索结果,评估其相关性 (relevance)支持度 (support)实用性 (usefulness),并选择最佳的生成路径。
    • 可验证性: Self-RAG 能为每个生成片段提供引用 (citations),并自我评估输出是否得到引用段落的支持,这大大增强了生成内容的可验证性。
  2. 与 RLHF 及其批判模型的区别:

    • 训练成本: RLHF 训练成本高昂,需要在线 (online)与奖励模型交互进行强化学习。Self-RAG 则通过离线 (offline)生成批判并将其插入训练数据,然后用标准 LM 目标进行训练,显著降低了训练复杂度和成本。
    • 可控性: RLHF 主要目标是对齐 (alignment)人类偏好。Self-RAG 的反射令牌在推理阶段提供了更灵活的可控性 (controllability),允许用户通过调整权重来定制模型的行为(例如,更注重事实准确性或流畅性)。
  3. 与基于控制令牌的生成的区别:

    • 控制令牌 (control tokens)通常用于引导生成风格或属性。Self-RAG 的反射令牌 (reflection tokens)则更进一步,用于决策检索 (deciding retrieval)自我评估生成质量 (self-evaluating generation quality),是生成过程中的内在批判机制。
  4. 与 LLM 精炼/迭代提示工程的区别:

    • LLM 精炼 (LLM refinement)方法通常需要迭代提示 (iterative prompting),即模型多次生成、反馈、再精炼。这会增加推理延迟和成本。Self-RAG 的批判机制更集成在单次生成过程 (single generation pass)中,通过树形解码 (tree-decoding)高效选择最佳路径。
  5. 与并发 RAG 工作的区别:

    • Lin et al. (2023): 虽也进行指令微调 RAG,但 Self-RAG 增加了按需检索 (on-demand retrieval)细粒度自反性 (fine-grained self-reflection)

    • Yoran et al. (2023) 和 Xu et al. (2023): 这些工作使用外部模型(如 NLI 模型、摘要模型)来过滤或压缩检索段落。Self-RAG 则在内部通过模型自身的批判令牌 (critique tokens)并行处理和过滤不相关段落,无需额外的外部模型。

    • LATS (Zhou et al., 2023): 提示现成 LLM 搜索信息并使用树形搜索 (tree search)生成,但其价值函数 (value scores)仅提供整体评分。Self-RAG 训练 LLM 生成细粒度 (fine-grained)的自反性评估,并允许更定制化的推理。

      总而言之,Self-RAG 的创新点在于将按需检索多维度的细粒度自反性评估以及可定制的推理策略有机地整合到一个统一的框架中,以实现 LLM 生成内容的事实准确性、质量和可控性的全面提升。

4. 方法论

4.1. 方法原理

Self-RAG 的核心思想是训练一个单一的大型语言模型 (LLM) (M\mathcal{M}),使其不仅能够生成任务所需的文本输出,还能够自我评估 (self-evaluate) 自己的生成过程。这种自我评估是通过生成特殊的反射令牌 (reflection tokens)来实现的。这些反射令牌充当了模型内部的“批判者”,指导模型何时需要检索外部知识(按需检索 (on-demand retrieval)),以及如何评估检索到的信息和自身生成内容的质量。通过将文本生成和批判令牌生成统一起来,Self-RAG 使得 LLM 能够在推理时根据任务要求和生成状态,动态地调整其行为,从而提高输出的质量 (quality)事实准确性 (factuality)

4.2. 核心方法详解 (逐层深入)

4.2.1. 问题形式化与概览

给定一个输入 xx,我们训练语言模型 M\mathcal{M} 顺序地生成由多个片段 (segments) y=[y1,,yT]y = [y_1, \dotsc, y_T] 组成的文本输出,其中 yty_t 表示第 tt 个片段的词元序列。这些生成的 yty_t 中的词元既包括原始词汇表中的文本,也包括特殊的反射令牌 (reflection tokens)

反射令牌 (Table 1): 反射令牌是 Self-RAG 框架的核心,它们被集成到模型的词汇表中,允许模型在生成文本的同时表达其内部的决策和评估。这些令牌分为两类:检索令牌 (Retrieval tokens)批判令牌 (Critique tokens)

Type Input Output Definitions
Retrieve x/x,y {yes, no, continue} 决定何时需要检索 (R)。
IsReL x,d {relevant, irrelevant} d 为解决 x 提供了有用信息。
IsSUP x,d,y {fully supported, partially supported, no support} y 中所有需要验证的陈述都由 d 支持。
IsUsE x,y {5, 4, 3, 2, 1} y 是对 x 的有用响应。
  • Retrieve 令牌:决定是否需要执行检索操作。
    • yes (Y): 表示需要检索。
    • no (No): 表示不需要检索。
    • continue (Continue): 表示继续当前的生成过程,可能稍后会重新评估检索需求。
  • IsReL (Is Relevant) 令牌:评估检索到的文档 dd 对于输入 xx 的相关性。
    • relevant (Relevant): 文档提供了有用信息。
    • irrelevant (Irrelevant): 文档没有提供有用信息。
  • IsSUP (Is Supported) 令牌:评估模型生成片段 yy 中的声明是否被检索到的文档 dd 所支持。
    • fully supported (Fully Supported): 生成内容的所有可验证部分都由文档支持。
    • partially supported (Partially Supported): 生成内容的部分可验证部分由文档支持。
    • no support (No Support): 生成内容没有得到文档的支持。
  • IsUsE (Is Useful) 令牌:评估模型生成的片段 yy 对于输入 xx 的整体实用性或质量。
    • 评分从 5 (最有用) 到 1 (最无用)。

推理概览 (Algorithm 1): Algorithm 1 描述了 Self-RAG 在推理阶段的流程。

Algorithm 1 SELF-RAG Inference

Require: Generator LM M\mathcal { M }, Retriever R\mathcal { R }, Large-scale passage collections {d1,\hdots,dN}\{ d _ { 1 }, \hdots , d _ { N } \} 1: Input: input prompt xx and preceding generation y<ty _ { < t }, Output: next output segment y _ { t } 2: M\mathcal { M } predicts Retrieve given (x,y<t)( x , y _ { < t } ) 3: if Retrieve ==YS\boxed { \mathrm { R e t r i e v e } } \ = = \mathrm { Y } \in \mathbb { S } then 4: Retrieve relevant text passages D\mathbf { D } using R\mathcal { R } given (x,yt1)( x , y _ { t - 1 } ) // Retrieve Step 5: M\mathcal { M } predicts IsREL given x , d and y _ { t } given x,d,y<tx , d , y _ { < t } for each dDd \in \mathbf { D } // Generate Step 6: M\mathcal { M } predicts IsSUP and IsUsEgiven x , y _ { t } , d for each dDd \in \mathbf { D } // Critique Step 7: Rank y _ { t } based on IsREL\boxed { \mathbf { I s R E L } } IsSUP IsUse Detailed in Section 3.3 8: else if Retrieve ==No\boxed { \mathrm { R e t r i e v e } } \ = = \mathrm { N o } then 9: Mgen\mathcal { M } _ { g e n } predicts y _ { t } given xx // Generate Step 10: Mgen\mathcal { M } _ { g e n } predictsISUSE given x , y _ { t } // Critique Step

推理流程分解:

  1. 判断检索需求 (Step 2-3): 在生成每个片段 yty_t 之前,给定输入 xx 和之前的生成 y<ty_{<t},模型 M\mathcal{M} 首先预测一个 Retrieve 令牌。如果预测结果是 yes (Retrieve==Y\boxed { \mathrm { R e t r i e v e } } = = \mathrm { Y } ),则进入检索流程。
  2. 执行检索 (Step 4): 如果需要检索,检索器 (Retriever) R\mathcal{R} 会根据输入 xx 和上一个生成片段 yt1y_{t-1} 检索出一组相关的文本段落 D\mathbf{D}
  3. 并行生成与批判 (Step 5-6): 对于 D\mathbf{D} 中的每个检索到的段落 dd
    • 模型 M\mathcal{M} 并行预测 IsReL 令牌,以评估 dd相关性 (relevance)
    • 同时,模型 M\mathcal{M} 生成下一个任务响应片段 yty_t
    • 接着,模型 M\mathcal{M} 预测 IsSUP 令牌,评估 yty_t 是否被 dd 所支持。
    • 最后,模型 M\mathcal{M} 预测 IsUsE 令牌,评估 yty_t整体实用性 (overall utility)
  4. 基于批判的排序与选择 (Step 7): Self-RAG 根据生成的 IsReLIsSUPIsUsE 令牌对多个候选 yty_t 进行排序 (rank),选择最佳的生成片段。这一过程在 Section 3.3 中有详细描述。
  5. 无需检索的生成 (Step 8-10): 如果模型预测 Retrieve 令牌为 no,则模型 M\mathcal{M} 直接生成 yty_t,并仅预测 IsUsE 令牌来评估其整体实用性 (overall utility),而不涉及检索段落的批判。

训练概览: Self-RAG 的训练分为两个主要阶段:

  1. 训练批判模型 (Critic Model, C\mathcal{C}): 首先,我们训练一个独立的批判模型 (critic model) C\mathcal{C}。这个模型是用来预测反射令牌 (reflection tokens)的,但它在最终推理时不会被直接使用。它的作用是离线 (offline)地为训练数据标注反射令牌。
  2. 训练生成器模型 (Generator Model, M\mathcal{M}): 其次,我们使用经过批判模型标注的、包含了反射令牌和检索段落的增强训练语料库,来训练最终的生成器模型 (generator model) M\mathcal{M}。这样,M\mathcal{M} 就能学习如何自主地 (autonomously)生成文本和反射令牌。

4.2.2. 训练批判模型 (C\mathcal{C})

数据收集: 由于人工标注反射令牌 (reflection tokens)成本高昂,本文利用一个强大的专有大型语言模型 (LLM),即 GPT-4 (OpenAI, 2023),来生成 (generate)这些反馈。

  1. 抽样: 从原始训练数据中随机抽取输入-输出对 (input-output pairs) {Xsample,Ysample}\{X^{sample}, Y^{sample}\}
  2. 提示 GPT-4: 对于每种类型的反射令牌 (reflection token)RetrieveIsReLIsSUPIsUsE),设计特定的指令提示 (instruction prompts),并提供少量演示 (few-shot demonstrations)。例如,对于 Retrieve 令牌,提示可能是:“给定一个指令,判断从网页中寻找外部文档是否有助于生成更好的响应。”
  3. 预测: GPT-4 根据指令、演示、原始任务输入 xx 和输出 yy,预测一个合适的反射令牌作为文本:p(rI,x,y)p(r | I, x, y),其中 II 是演示。
  4. 质量评估: 经验证,GPT-4 预测的反射令牌与人类评估具有高度一致性。
  5. 数据集创建: 收集了每种类型 4k20k4 \mathrm{k} - 20 \mathrm{k} 条监督训练数据,用于训练批判模型 C\mathcal{C}

批判学习: 收集到训练数据集 Dcritic\mathcal{D}_{critic} 后,我们使用一个预训练语言模型 (pre-trained LM)(与生成器模型 M\mathcal{M} 相同的 Llama 2-7B)初始化批判模型 C\mathcal{C}。然后,使用标准的条件语言建模目标 (conditional language modeling objective)Dcritic\mathcal{D}_{critic} 上训练 C\mathcal{C},以最大化似然。 maxCE((x,y),r)DcriticlogpC(rx,y) \operatorname*{max}_{\mathcal{C}} \mathbb{E}_{((x, y), r) \sim \mathcal{D}_{critic}} \log p_{\mathcal{C}}(r | x, y) 符号解释:

  • maxC\operatorname*{max}_{\mathcal{C}}:表示优化目标是找到使表达式最大化的批判模型 C\mathcal{C} 的参数。

  • E((x,y),r)Dcritic\mathbb{E}_{((x, y), r) \sim \mathcal{D}_{critic}}:表示对从批判训练数据集 Dcritic\mathcal{D}_{critic} 中抽取的三元组 (input xx, output yy, reflection token rr) 进行期望计算。

  • logpC(rx,y)\log p_{\mathcal{C}}(r | x, y):表示在给定输入 xx 和模型生成输出 yy 的条件下,批判模型 C\mathcal{C} 预测出正确反射令牌 rr对数概率 (log-probability)

    此步骤的目标是让批判模型 C\mathcal{C} 学习如何准确地预测各种反射令牌 (reflection tokens)

4.2.3. 训练生成器模型 (M\mathcal{M})

数据收集: 为了训练生成器模型 M\mathcal{M},我们需要构建一个包含反射令牌 (reflection tokens)检索段落 (retrieved passages)的增强语料库 Dgen\mathcal{D}_{gen}。这个过程精确地模拟了 Self-RAG 在推理时的行为。

  1. 输入-输出对: 对于每个原始的输入-输出对 (input-output pair) (x, y)

  2. 分段评估: 对于 yy 中的每个片段 yty_t,使用之前训练好的批判模型 C\mathcal{C} 来评估是否需要额外的检索来增强生成。

  3. 检索令牌与检索:

    • 如果 C\mathcal{C} 评估认为需要检索,则在当前位置插入检索特殊令牌 (retrieval special token) Retrieve=YS\boxed { \mathrm { R e t r i e v e } } = \mathrm { Y } \in \mathrm { \sf S }
    • 然后,检索器 (Retriever) R\mathcal{R} 检索出前 KK 个段落 D\mathbf{D}
  4. 批判令牌插入:

    • 对于 D\mathbf{D} 中的每个段落,C\mathcal{C} 会评估其相关性 (relevance)并预测 IsReL
    • 如果段落相关,C\mathcal{C} 会进一步评估该段落是否支持 (support)模型的生成,并预测 IsSUP
    • 这些批判令牌 IsReLIsSUP 会被追加到检索到的段落或生成内容之后。
  5. 整体实用性评估: 在整个输出 yy(或最后一个片段 yTy_T)的末尾,C\mathcal{C} 会预测整体实用性令牌 (overall utility token) IsUsE

  6. 构建增强数据: 最终,将包含这些反射令牌 (reflection tokens)检索段落 (retrieved passages)的增强输出,与原始输入 xx 组合,添加到生成器训练数据集 Dgen\mathcal{D}_{gen} 中。 图 2 展示了训练数据的示例,其中左侧示例不需要检索,而右侧示例则插入了检索段落和批判令牌。

    Figure 2: SELF-RAG training examples. The left example does not require retrieval while the right one requires retrieval; thus, passages are inserted. More examples are in Appendix Table 4. 该图像是一个示意图,展示了自反性检索增强生成(Self-RAG)框架的工作流程。左侧为输入和输出示例,右侧显示了如何通过检索增强输出和批评模型响应。通过特定的反射令牌,使得模型能够根据任务需求调整其行为。

Figure 2: SELF-RAG training examples. The left example does not require retrieval while the right one requires retrieval; thus, passages are inserted. More examples are in Appendix Table 4.

生成器学习: 生成器模型 M\mathcal{M} 通过在增强语料库 Dgen\mathcal{D}_{gen} 上进行训练,使用标准的下一个词元预测目标 (next token objective)maxME(x,y,r)DgenlogpM(y,rx) \operatorname*{max}_{\mathcal{M}} \mathbb{E}_{(x, y, r) \sim \mathcal{D}_{gen}} \log p_{\mathcal{M}}(y, r | x) 符号解释:

  • maxM\operatorname*{max}_{\mathcal{M}}:表示优化目标是找到使表达式最大化的生成器模型 M\mathcal{M} 的参数。
  • E(x,y,r)Dgen\mathbb{E}_{(x, y, r) \sim \mathcal{D}_{gen}}:表示对从生成器训练数据集 Dgen\mathcal{D}_{gen} 中抽取的三元组 (input xx, augmented output yy which includes reflection tokens rr) 进行期望计算。
  • logpM(y,rx)\log p_{\mathcal{M}}(y, r | x):表示在给定输入 xx 的条件下,生成器模型 M\mathcal{M} 预测出正确的目标输出序列(包括文本 yy 和反射令牌 rr)的对数概率 (log-probability)

训练细节:

  • 损失计算: 在训练过程中,检索到的文本块(在图 2 中由 <p><p></p></p> 包裹)会被遮掩 (mask out),不参与损失计算。这样确保模型主要学习生成文本和批判令牌,而不是简单复制检索内容。

  • 词汇表扩展: 原始词汇表 ν\nu 被扩展,增加了反射令牌 (reflection tokens)集合 {[Critique],[Retrieve]}\{[\mathrm{Critique}], [\mathrm{Retrieve}]\}。这使得模型能够将这些特殊令牌作为常规词元进行预测。

    通过这种方式,生成器模型 M\mathcal{M} 不仅学会了生成连贯的文本,还学会了在生成过程中自主地 (autonomously)进行按需检索 (on-demand retrieval)自我评估 (self-evaluation)

4.2.4. Self-RAG 推理

Self-RAG 推理阶段的关键在于,模型能够生成反射令牌 (reflection tokens)自我评估 (self-evaluate)其输出,从而实现可控的生成。这使得模型能够根据不同的任务需求(如追求高事实准确性或高流畅性)调整其行为。

自适应检索与阈值: Self-RAG 通过预测检索令牌 (Retrieve token)来动态决定何时检索文本段落。

  1. 预测 Retrieve 令牌: 模型首先预测 Retrieve 令牌的概率。
  2. 设置阈值: 如果生成 Retrieve=YesRetrieve=Yes 令牌的标准化概率 (normalized probability)超过一个预设的阈值 (threshold),则触发检索。 通过调整这个阈值,可以灵活控制检索的频率:
  • 低阈值: 鼓励模型更频繁地检索,适用于对事实准确性要求高的任务。
  • 高阈值: 减少检索,适用于开放性、创造性任务,优先考虑 LLM 自身的生成能力。

带批判令牌的树形解码 (Tree-decoding with critique tokens): 在推理过程中,当需要检索时(根据Retrieve=YesRetrieve=Yes的预测或阈值触发):

  1. 检索 KK 个段落: 检索器 (Retriever) R\mathcal{R} 检索出 KK 个最相关的段落。

  2. 并行处理与候选生成: 生成器模型 (generator model) M\mathcal{M} 并行处理这 KK 个段落。对于每个段落,模型都会生成一个不同的连续候选片段 (continuation candidate)

  3. 分段级束搜索 (Segment-level beam search): Self-RAG 采用分段级束搜索 (segment-level beam search)。在每个时间步 tt,它会获得前 BB 个最佳的片段连续候选项(其中 BB束宽度 (beam size))。在生成结束时,返回最佳的序列。

  4. 批判分数更新: 每个片段 yty_t 与段落 dd 对应的分数会根据批判分数 (critique score) S(Critique)S(\textcircled{\mathrm{Critique}}) 进行更新。这个批判分数是各个批判令牌类型 (critique token types)标准化概率 (normalized probability)线性加权和 (linear weighted sum)

    片段 yty_t 与段落 dd 对应的分数计算如下: f(yt,d,Critique)=logp(ytx,d,y<t))+S(Critique),where f(y_t, d, \textcircled{\mathrm{Critique}}) = \log p(y_t | x, d, y_{<t})) + S(\textcircled{\mathrm{Critique}}), \mathrm{where} 其中批判分数 S(Critique)S(\textcircled{\mathrm{Critique}}) 的定义为: S([Critique])=GGwGstGforG={[IsReL],[IsSup],[IsUsE]}, \mathcal{S}([\underline{{\mathrm{Critique}}}]) = \displaystyle \sum_{G \in \mathcal{G}} w^G s_t^G \mathrm{for} \mathcal{G} = \big \{ [\underline{{\mathrm{IsReL}}}], [\underline{{\mathrm{IsSup}}}], [\underline{{\mathrm{IsUsE}}} ] \big \}, 而每个批判令牌类型 GG 的标准化分数 stGs_t^G 计算为: stG=pt(r^)i=1NGpt(ri) s_t^G = \frac{p_t(\hat{r})}{\sum_{i=1}^{N^G} p_t(r_i)} 符号解释:

  • f(yt,d,Critique)f(y_t, d, \textcircled{\mathrm{Critique}}):在当前时间步 tt,针对特定候选生成片段 yty_t 和检索段落 dd,以及其对应的批判令牌预测 Critique总评分函数 (total score function)
  • logp(ytx,d,y<t)\log p(y_t | x, d, y_{<t})生成器模型 (generator model) M\mathcal{M} 在给定输入 xx、检索段落 dd 和此前生成序列 y<ty_{<t} 的条件下,生成片段 yty_t对数概率 (log-probability)。这反映了生成文本的流畅性 (fluency)语言模型本身的置信度 (LM's own confidence)
  • S(Critique)S(\textcircled{\mathrm{Critique}}):基于批判令牌 (critique tokens)计算的批判分数 (critique score),用于衡量生成片段的质量 (quality)
  • G\mathcal{G}:批判令牌类型集合,包括 IsReLIsSUPIsUsE
  • wGw^G权重系数 (weight coefficient),用于调节每种批判令牌类型 GG 在总批判分数中的重要性 (importance)。这些权重是超参数 (hyperparameters),可以在推理时调整,以实现定制化行为。
  • stGs_t^G:在时间步 tt,批判令牌类型 GG标准化分数 (normalized score)
  • pt(r^)p_t(\hat{r}):在时间步 tt,批判模型预测出的最理想 (most desirable)批判令牌 r^\hat{r}(例如,IsReL=RelevantIsReL=RelevantIsSUP=FullySupportedIsSUP=Fully SupportedIsUsE=5IsUsE=5)的概率。
  • i=1NGpt(ri)\sum_{i=1}^{N^G} p_t(r_i):在时间步 tt,批判令牌类型 GG 的所有 NGN^G 个不同可能值(例如,IsReLRelevantIrrelevant 两种值)的概率之和。这个分母用于将理想批判令牌的概率标准化 (normalize)到 [0, 1] 范围。

可定制行为:

  • 软约束 (Soft Constraints): 通过调整 wGw^G 的值,可以在推理时定制模型行为 (customize model behaviors)。例如,提高 IsSUP 的权重可以使模型更倾向于生成被证据充分支持的答案,即使这可能导致生成内容更短或更不流畅。

  • 硬约束 (Hard Constraints): 除了软约束,还可以通过硬约束 (hard constraints)来过滤掉不符合要求的生成。例如,如果模型生成了 IsSUP=NosupportIsSUP=No support 这样的批判令牌,则该片段的生成路径可以直接被剪枝 (pruned),不予考虑。

    这种基于反射令牌 (reflection tokens)树形解码 (tree-decoding)机制,使得 Self-RAG 无需额外训练即可在测试时实现灵活的行为定制 (behavior customization),平衡不同的生成目标。

5. 实验设置

5.1. 数据集

本文在多种任务和数据集上对 Self-RAG 进行了评估,这些任务旨在全面评估模型的正确性 (correctness)事实性 (factuality)流畅性 (fluency)。所有评估都采用零样本 (zero-shot)方式,即只提供任务描述指令,不提供少量示例。

5.1.1. 闭集任务 (Closed-set tasks)

这类任务要求模型从给定选项中选择正确答案,主要评估模型的推理和事实核查能力。

  • PubHealth (Zhang et al. 2023):
    • 来源与特点: 一个关于公共卫生的事实核查数据集 (fact verification dataset)。它测试模型对公共卫生领域事实的理解和判断能力。
    • 选择原因: 评估模型在特定知识领域的事实准确性。
  • ARC Challenge (Clark et al. 2018):
    • 来源与特点: 一个从科学考试中创建的多项选择推理数据集 (multiple-choice reasoning dataset)。它包含需要多步推理和知识整合才能解决的问题。
    • 选择原因: 评估模型在科学领域的高级推理能力。

5.1.2. 短文本生成任务 (Short-form generation tasks)

这类任务要求模型生成简短的答案,主要评估模型在开放域问答中的知识召回和准确性。

  • PopQA (Mallen et al., 2023):
    • 来源与特点: 一个开放域问答 (Open-domain QA)数据集,包含关于事实知识的任意问题。特别使用了其中的长尾子集 (long-tail subset),包含 1,399 个每月维基百科页面浏览量少于 100 的稀有实体查询 (rare entity queries)
    • 选择原因: 评估模型在检索稀有或不常见事实方面的能力,这通常是 LLM 的弱点。
  • TriviaQA-unfiltered (Joshi et al., 2017):
    • 来源与特点: 另一个开放域问答 (Open-domain QA)数据集。由于其开放测试集不公开,遵循先前工作 (Min et al., 2019; Guu et al., 2020) 的验证集和测试集划分,使用 11,313 个测试查询进行评估。
    • 选择原因: 评估模型在更广泛、更常见知识领域的事实性问答能力。

5.1.3. 长文本生成任务 (Long-form generation tasks)

这类任务要求模型生成较长的、连贯的文本,并通常需要引用来源,评估模型的长文本事实准确性、引用能力和流畅性。

  • Biography generation (Min et al., 2023):
    • 来源与特点: 一个传记生成任务 (biography generation task),要求模型根据给定实体生成其传记。
    • 选择原因: 评估模型在生成具有事实性、连贯且可能需要多种知识来源的长文本方面的能力。
  • ALCE-ASQA (Gao et al., 2023; Stelmakh et al., 2022):
    • 来源与特点: 一个长文本问答任务 (long-form QA task),通常要求模型综合多个文档的信息来回答复杂问题,并提供引用。
    • 选择原因: 评估模型整合多源信息、生成长篇答案并提供精确引用的能力。

5.2. 评估指标

本文使用了多种评估指标,涵盖了正确性 (correctness)事实性 (factuality)流畅性 (fluency)引用准确性 (citation accuracy)

5.2.1. 准确率 (Accuracy)

  • 概念定义: 准确率 (Accuracy) 是分类任务或问答任务中最常见的评估指标,它衡量模型正确预测或回答的比例。对于闭集任务,它表示模型在所有问题中正确选择答案的比例。对于短文本问答,它衡量模型生成的内容是否包含标准答案。
  • 数学公式: Accuracy=Number of Correct PredictionsTotal Number of Predictions \text{Accuracy} = \frac{\text{Number of Correct Predictions}}{\text{Total Number of Predictions}}
  • 符号解释:
    • Number of Correct Predictions\text{Number of Correct Predictions}:模型正确预测的样本数量。
    • Total Number of Predictions\text{Total Number of Predictions}:总的预测样本数量。

5.2.2. FactScore (事实得分)

  • 概念定义: FactScore (Min et al., 2023) 是一种用于评估长文本生成(特别是传记生成)中事实性 (factuality)的指标。它通过检查生成文本中包含的事实陈述是否正确来量化模型的事实准确性 (factual accuracy)。这个指标通常需要人工或半自动化的方式来验证生成文本中的每个事实。
  • 数学公式: (论文中未给出具体公式,此处为概念性描述) FactScore 通常通过识别生成文本中的事实性声明 (factual claims),然后验证这些声明的真伪来计算。例如,可以统计正确的事实声明数量占总事实声明数量的比例。 FactScore=Number of Correct Factual ClaimsTotal Number of Factual Claims \text{FactScore} = \frac{\text{Number of Correct Factual Claims}}{\text{Total Number of Factual Claims}}
  • 符号解释:
    • Number of Correct Factual Claims\text{Number of Correct Factual Claims}:模型生成文本中正确的事实性声明数量。
    • Total Number of Factual Claims\text{Total Number of Factual Claims}:模型生成文本中所有可识别的事实性声明数量。

5.2.3. Str-em (Exact Match)

  • 概念定义: Str-em (String Exact Match) 是一种严格的正确性指标,用于衡量模型生成答案与标准答案是否完全匹配 (exact match)。如果模型生成的内容与标准答案字符串完全一致,则得分为 1,否则为 0。常用于短文本问答。
  • 数学公式: Str-em={1if generated answer=gold answer0otherwise \text{Str-em} = \begin{cases} 1 & \text{if generated answer} = \text{gold answer} \\ 0 & \text{otherwise} \end{cases}
  • 符号解释:
    • generated answer\text{generated answer}:模型生成的答案字符串。
    • gold answer\text{gold answer}:标准参考答案字符串。

5.2.4. Rouge (Recall-Oriented Understudy for Gisting Evaluation)

  • 概念定义: Rouge (Recall-Oriented Understudy for Gisting Evaluation) 是一套用于评估文本摘要和机器翻译质量的指标。它通过比较模型生成的文本与一组参考文本之间的重叠度 (overlap)来衡量生成文本的质量。常见的有 ROUGE-N (基于 N-gram 重叠) 和 ROUGE-L (基于最长公共子序列)。在本文中,rg 可能指 ROUGE 的某个特定变体,通常用于衡量长文本生成的内容覆盖度 (content coverage)正确性 (correctness)
  • 数学公式: (论文中未给出具体公式,此处以 ROUGE-N 为例,其中 N 是 n-gram 的长度) ROUGE-N=reference summariesn-gramreferenceCountmatch(n-gram)reference summariesn-gramreferenceCount(n-gram) \text{ROUGE-N} = \frac{\sum_{\text{reference summaries}} \sum_{\text{n-gram} \in \text{reference}} \text{Count}_{\text{match}}(\text{n-gram})}{\sum_{\text{reference summaries}} \sum_{\text{n-gram} \in \text{reference}} \text{Count}(\text{n-gram})}
  • 符号解释:
    • Countmatch(n-gram)\text{Count}_{\text{match}}(\text{n-gram}):模型生成文本与参考文本中共有的 n-gram 计数。
    • Count(n-gram)\text{Count}(\text{n-gram}):参考文本中 n-gram 的计数。

5.2.5. MAUVE (Measuring the gap between Artificial and Human language for text Generation)

  • 概念定义: MAUVE (Measuring the gap between Artificial and Human language for text Generation) (Pillutla et al., 2021) 是一种评估生成文本质量 (quality)流畅性 (fluency)的指标。它通过测量生成文本分布与人类参考文本分布之间的统计距离 (statistical distance)来量化模型的生成能力。分数越高,表示生成文本越接近人类文本的质量和多样性。
  • 数学公式: (MAUVE 的计算涉及复杂的统计和深度学习模型,论文中未提供简化公式,此处为概念性描述) MAUVE 通常通过计算生成文本的特征嵌入与真实人类文本的特征嵌入之间的距离来评估,如 ff-散度 (f-divergence) 的一种形式。 MAUVE(P,Q)=12(f(P,Q)+f(Q,P)) \text{MAUVE}(P, Q) = \frac{1}{2} (f(P, Q) + f(Q, P)) 其中 PP 是模型生成文本的分布,QQ 是真实人类文本的分布,ff 是一种衡量分布之间差异的函数。
  • 符号解释:
    • PP:模型生成文本的概率分布。
    • QQ:真实人类文本的概率分布。
    • f(P, Q):衡量从分布 PPQQ 的距离的函数。

5.2.6. Citation Precision (引用精度)

  • 概念定义: 引用精度 (Citation Precision) 衡量模型生成文本中引用的事实或声明有多少比例是真正得到 (fully supported)其所引用来源支持的。高引用精度意味着模型不太可能“幻觉”出未被引用来源支持的内容,或错误地将内容归因于某个来源。
  • 数学公式: (论文中未给出具体公式,此处为基于定义推导的公式) Citation Precision=Number of Claims Fully Supported by Cited EvidenceTotal Number of Cited Claims \text{Citation Precision} = \frac{\text{Number of Claims Fully Supported by Cited Evidence}}{\text{Total Number of Cited Claims}}
  • 符号解释:
    • Number of Claims Fully Supported by Cited Evidence\text{Number of Claims Fully Supported by Cited Evidence}:模型生成文本中被明确标记为引用且其内容完全得到所引用证据支持的声明数量。
    • Total Number of Cited Claims\text{Total Number of Cited Claims}:模型生成文本中所有明确标记为引用的声明数量。

5.2.7. Citation Recall (引用召回率)

  • 概念定义: 引用召回率 (Citation Recall) 衡量在模型生成文本中,有多少比例的可验证事实 (verifiable claims)被正确地引用了来源。高引用召回率意味着模型能够识别并引用所有需要支持的事实,避免遗漏关键信息。
  • 数学公式: (论文中未给出具体公式,此处为基于定义推导的公式) Citation Recall=Number of Claims Fully Supported by Cited EvidenceTotal Number of Verifiable Claims in Gold Answer \text{Citation Recall} = \frac{\text{Number of Claims Fully Supported by Cited Evidence}}{\text{Total Number of Verifiable Claims in Gold Answer}}
  • 符号解释:
    • Number of Claims Fully Supported by Cited Evidence\text{Number of Claims Fully Supported by Cited Evidence}:与引用精度相同,是被引用证据完全支持的声明数量。
    • Total Number of Verifiable Claims in Gold Answer\text{Total Number of Verifiable Claims in Gold Answer}:在真实参考答案中所有需要被验证(即应有引用支持)的声明数量。这通常指的是在理想情况下,模型应该引用到的所有关键事实。

5.3. 对比基线

论文将 Self-RAG 方法与两类主要的基线模型进行了比较:不带检索的基线 (Baselines without retrievals)带检索的基线 (Baselines with retrievals)

5.3.1. 不带检索的基线

这些模型仅依赖其参数化知识 (parametric knowledge)进行生成。

  • 预训练 LLM (Pre-trained LLMs):
    • Llama2-7B, Llama2-13B (Touvron et al., 2023):Meta 开发的开源大型语言模型。
  • 指令微调 LLM (Instruction-tuned LLMs):
    • Alpaca-7B, Alpaca-13B (Dubois et al., 2023):基于 Llama2 的指令微调模型,利用了斯坦福大学公开的指令数据集。
  • 专有 LLM (Proprietary LLMs):
    • ChatGPT (Ouyang et al., 2022):OpenAI 的大型对话模型,通常通过人类反馈强化学习 (RLHF)进行训练和对齐。
    • Llama2-chat-13B:Llama2 模型的聊天版本,也经过了微调和强化学习。
  • 迭代提示工程 (Iterative Prompt Engineering):
    • CoVE-65B (Dhuliawala et al., 2023):通过迭代提示工程来提高 LLM 生成的事实准确性,这里使用的是 Llama2-65B 版本。

5.3.2. 带检索的基线

这些模型在测试时或训练时结合了检索功能。

  • 标准 RAG 基线 (Standard RAG Baselines):
    • Llama2-7B, Alpaca-7B, Llama2-13B, Alpaca-13B (带检索):这些模型在生成时,将查询与检索器 (retriever)(与 Self-RAG 使用相同的检索器)检索到的顶部文档 (top retrieved documents)拼接作为输入。
  • 微调 RAG 基线 (Fine-tuned RAG Baselines):
    • Llama2-FT-7B:基于 Llama2-7B,在与 Self-RAG 相同的训练数据上进行微调,但没有使用反射令牌或检索段落,仅在测试时进行检索增强。这用于隔离 Self-RAG 框架带来的增益。
  • 专有 RAG 基线 (Proprietary RAG Baselines):
    • Ret-ChatGPT, Ret-Llama2-chat:这些是专有模型与上述标准检索增强技术相结合的版本。
    • perplexity.ai:一个基于 InstructGPT 的生产级搜索系统,具有检索能力。
  • 并发/特定 RAG 方法:
    • Toolformer*-6B (Schick et al., 2023):通过预训练 LLM 生成 API 调用(例如维基百科 API)来使用外部工具获取信息。
    • SAIL*-7B (Luo et al., 2023):通过指令微调 LLM,将检索到的顶部文档插入指令之前进行训练。

5.4. 实验设置

  • 训练数据和设置:

    • 训练数据来源: 综合使用了 Open-Instruct 处理过的数据 (Wang et al., 2023) 和知识密集型数据集 (knowledge-intensive datasets) (Petroni et al., 2021; Stelmakh et al., 2022; Mihaylov et al., 2018)。
    • 总数据量: 150k 个指令-输出对 (instruction-output pairs)
    • 基础 LLM:
      • 生成器模型 (M\mathcal{M}): 采用 Llama2-7BLlama2-13B 作为基础 LLM。
      • 批判模型 (C\mathcal{C}): 采用 Llama2-7B 作为基础 LLM。
    • 检索器 (R\mathcal{R}): 默认使用现成的 (off-the-shelf) Contriever-MS MARCO (Izacard et al., 2022a) 模型。
    • 检索文档数量: 默认情况下,每个输入检索最多 10 个文档。
  • 推理设置:

    • 批判令牌权重:
      • IsReL (相关性): 1.0
      • IsSUP (支持度): 1.0
      • IsUsE (实用性): 0.5
      • 这些权重 (wGw^G) 用于 Section 3.3 中描述的批判分数计算,允许在测试时调整模型行为。
    • 检索阈值:
      • 对于大多数任务:0.2(用于判断 Retrieve=YesRetrieve=Yes 令牌的标准化概率是否足以触发检索)。
      • 对于 ALCE 任务:0(由于对引用有严格要求,这意味着只要模型倾向于检索,就会进行检索)。
    • 推理加速: 使用 vllm (Kwon et al., 2023) 进行推理加速。
    • 束搜索: 在每个片段级别 (segment level),采用束宽度 (beam width)为 2 进行束搜索。
    • 词元解码: 词元级生成 (token-level generation)采用贪婪解码 (greedy decoding)
    • 文档来源:
      • 默认情况下,使用 Contriever-MS MARCO 的前 5 个文档。
      • 对于传记 (biographies)开放域问答 (open-domain QA),额外使用网络搜索引擎 (web search engine)检索的前 5 个文档(遵循 Luo et al., 2023)。
      • 对于 ASQA,所有基线模型都使用作者提供的由 GTR-XXL (Ni et al., 2022) 检索的前 5 个文档,以确保公平比较。

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. 与不带检索的基线比较

表 2 的上半部分展示了不带检索的基线模型的结果。Self-RAG 在所有任务上都表现出显著的性能优势,甚至在 PubHealth、PopQA、传记生成以及 ASQA 的 Rouge 和 MAUVE 指标上超越了 ChatGPT。这表明 Self-RAG 不仅能利用检索,其自反性机制也提高了 LLM 自身的生成质量和事实准确性。此外,Self-RAG 的 7B 和 13B 模型在传记生成任务上优于并发方法 CoVE (65B),CoVE 采用了迭代提示工程来精炼 Llama2-65B 的输出,这凸显了 Self-RAG 框架的优越性。

6.1.2. 与带检索的基线比较

表 2 的下半部分展示了带检索的基线模型的结果。Self-RAG 在多数任务上,尤其是所有非专有 LLM 基线中,取得了最佳性能。

  • PopQA 和 Bio: 尽管像 Llama2-chat 和 Alpaca 这样强大的指令微调 LLM 在结合检索后性能显著提升,但它们在无法简单复制或提取检索段落子字符串的任务上表现受限。
  • PubHealth 和 ARC-Challenge: 在这些任务上,带检索的基线模型相比不带检索的对应模型,性能提升不明显,这表明简单地添加检索文档并不能解决所有问题。
  • 引用准确性: 大多数带检索的基线模型在提高引用准确性方面表现不佳。
  • ASQA: Self-RAG 在 ASQA 任务上显示出显著更高的引用精度 (citation precision)引用召回率 (citation recall),除了 ChatGPT。Gao et al. (2023) 发现 ChatGPT 在此任务中表现出色。Self-RAG 缩小了与 ChatGPT 的性能差距,甚至在引用精度上超越了 ChatGPT(衡量生成内容是否被引用证据完全支持)。
  • Self-RAG 7B vs. 13B: 在某些事实精度指标上,Self-RAG 7B 偶尔优于 13B 模型,这可能因为较小的 Self-RAG 模型倾向于生成更精确但更短的、有充分依据的输出。
  • Llama2-FT-7B vs. Self-RAG: Llama2-FT-7B 是在与 Self-RAG 相同的指令-输出对上训练的基线模型,但没有使用反射令牌或检索段落,仅在测试时进行检索增强。它的性能明显落后于 Self-RAG,这表明 Self-RAG 的性能提升不仅仅来自训练数据,更重要的是其框架本身带来的效益。

6.2. 数据呈现 (表格)

以下是原文 Table 2 的结果:

Short-form Closed-set Long-form generations (with citations)
LM PopQA (acc) TQA (acc) Pub (acc) ARC (acc) Bio (FS) (em) (rg) ASQA (mau) (pre) (rec)
LMs with proprietary data
Llama2-c13B 20.0 59.3 49.4 38.4 55.9 22.4 29.6 28.6
Ret-Llama2-C13B 51.8 59.8 52.1 37.9 79.9 32.8 34.8 43.8 19.8 36.1
ChatGPT 29.3 74.3 70.1 75.3 71.8 35.3 36.2 68.8
Ret-ChatGPT 50.8 65.7 54.7 75.3 40.7 39.9 79.7 65.1 76.6
Perplexity.ai 71.2
Baselines without retrieval
Llama27B 14.7 30.5 34.2 21.8 44.5 7.9 15.3 19.0
Alpaca7B 23.6 54.5 49.8 45.0 45.8 18.8 29.4 61.7
Llama213B 14.7 38.5 29.4 29.4 53.4 7.2 12.4 16.0
Alpaca13B 24.4 61.3 55.5 54.9 50.2 22.9 32.0 70.6
CoVE65B * 71.2
Baselines with retrieval
Toolformer*6B 48.8
Llama27B 38.2 42.5 30.0 48.0 78.0 15.2 22.1 32.0 2.9 4.0
Alpaca7B 46.7 64.1 40.2 48.0 76.6 30.9 33.3 57.9 5.5 7.2
Llama2-FT7B 48.7 57.3 64.3 65.8 78.2 31.0 35.8 51.2 5.0 7.5
SAIL*7B 69.2 48.4
Llama213B 45.7 47.0 30.2 26.0 77.5 16.3 20.5 24.7 2.3 3.6
Alpaca13B 46.1 66.9 51.1 57.6 77.7 34.8 36.7 56.6 2.0 3.8
Our SELF-RAG 7B 54.9 66.4 72.4 67.3 81.2 30.0 35.7 74.3 66.9 67.8
Our SELF-RAG 13B 55.8 69.3 74.5 73.1 80.2 31.7 37.0 71.6 70.3 71.3

6.3. 消融实验/参数分析

本文进行了一系列消融实验 (ablation studies)来评估 Self-RAG 各个组件的重要性,并分析了推理时参数调整的效果、检索频率与准确性的权衡以及训练数据规模的影响。

6.3.1. 消融研究 (Ablation Studies)

为了高效探索训练变化,消融实验使用了 50k 的训练实例。实验在 PopQA、PubHealth 和 ASQA 三个数据集上进行。在 ASQA 上,评估了 150 个样本,并排除了涉及自适应或无检索过程的消融。

以下是原文 Table 3a 的结果:

Training / Inference PopQA (acc) Pub (acc) ASQA (prec)
Training Ablations
No Retriever 23.6 49.8
No Critic 46.7 40.2 5.5
Our SELF-RAG 7B 54.9 72.4 66.9
Inference Ablations
No retrieval 23.6 49.8
Hard constraints 54.1 71.3 68.1
Retrieve top 1 43.1 67.8 42.7
Remove IsSUP 54.9 72.4 60.1
Our SELF-RAG 7B 54.9 72.4 66.9

结果分析:

  • 训练消融 (Training Ablations):

    • No Retriever 该变体训练了一个标准的指令遵循 (instruction-following) LLM,没有检索段落。其在 PopQA 和 PubHealth 上的性能显著低于 Self-RAG,这表明检索机制 (retrieval mechanism)对性能提升至关重要。
    • No Critic 该变体训练了一个模型,总是使用排名第一的检索文档进行增强,但没有反射令牌 (reflection tokens)。这类似于 SAIL (Luo et al., 2023)。其在 PopQA 和 ASQA 上的性能远低于 Self-RAG,表明批判模型 (critic model)反射令牌 (reflection tokens)在评估检索相关性和生成质量方面发挥了关键作用。
    • 小结: No RetrieverNo Critic 与 Self-RAG 之间的巨大性能差距表明,Self-RAG 的性能提升不仅来源于检索,更来自于批判机制 (critique mechanism)对检索和生成过程的细粒度控制。
  • 推理消融 (Inference Ablations):

    • No retrieval 在推理时禁用检索,结果与 No Retriever 训练变体相似,再次强调了检索的重要性。
    • Hard constraints 模型在Retrieve=YesRetrieve=Yes时强制检索,而不是使用自适应阈值 (adaptive threshold)。其性能与完整的 Self-RAG 接近,甚至在 ASQA 上略高,这可能表明对于某些任务,更积极的检索策略(如果被正确利用)可以带来额外收益。
    • Retrieve top 1 始终只检索并使用排名第一的文档(类似于传统 RAG)。这导致在 PopQA 和 ASQA 上性能大幅下降。这强调了 Self-RAG 能够并行处理多个文档,并基于批判令牌 (critique tokens)选择最佳生成路径的重要性,而不仅仅是盲目信任顶部文档。
    • Remove IsSUP 在批判引导的束搜索 (beam search)中移除 IsSUPIs Supported)分数。这导致 ASQA 上的引用精度显著下降。这表明 IsSUP 令牌对于确保生成内容被证据支持至关重要。
    • 小结: 推理消融实验证明了 Self-RAG 的自适应检索 (adaptive retrieval)多文档并行处理 (parallel processing of multiple documents)以及细粒度批判令牌 (fine-grained critique tokens)在选择高质量、有事实依据的生成方面的重要性。

6.3.2. 推理时定制化的影响 (Effects of inference-time customization)

图 3b 展示了在 ASQA 任务上,通过调整 IsSUP 令牌的权重 wIsSUPw^{IsSUP},如何在引用精度 (citation precision)流畅性 (MAUVE)之间进行权衡。

Figure 3: Analysis on SELF-RAG: (a) Ablation studies for key components of SELF-RAG training and inference based on our 7B model. (b) Effects of soft weights on ASQA citation precision and Mauve (fluency). (c) Retrieval frequency and normalized accuracy on PubHealth and PopQA. 该图像是一个图表,展示了Self-RAG方法在多项任务上的各项性能指标,包括PQA、Med和AS的准确率及生成效果。同时展示了不同训练和测试条件下的结果,以及关于定制化和检索阈值的分析。图中包含关键的训练和测试数据,如无检索和检索条件下的性能对比。

Figure 3: Analysis on SELF-RAG: (a) Ablation studies for key components of SELF-RAG training and inference based on our 7B model. (b) Effects of soft weights on ASQA citation precision and Mauve (fluency). (c) Retrieval frequency and normalized accuracy on PubHealth and PopQA.

分析:

  • IsSUP 权重与引用精度: 随着 IsSUP 权重(即对生成内容是否被引用文本支持的重视程度)的增加,模型的引用精度 (citation precision)显著提高。这意味着模型更倾向于生成有充分证据支持的答案。
  • IsSUP 权重与流畅性 (MAUVE): 然而,MAUVE 分数(衡量生成文本质量和流畅性)却趋于下降。这与 Liu et al. (2023a) 的发现一致:当生成内容更长、更流畅时,往往会有更多未被引用完全支持的声明。
  • 定制化能力: 这一分析结果强调了 Self-RAG 框架的一大优势:实践者无需额外训练,只需在推理时调整这些权重超参数,即可根据具体应用场景的需求(例如,对于法律或医学文本,引用精度可能远比流畅性重要;而对于创意写作,则可能相反)来定制模型行为 (customize model behaviors)

6.3.3. 效率与准确性的权衡 (Efficiency and accuracy trade-off)

图 3c 展示了通过调整检索阈值 (retrieval threshold) δ\delta 来控制检索频率 (retrieval frequency)对 PubHealth 和 PopQA 任务准确率 (accuracy)的影响。

分析:

  • 阈值与检索频率: 随着 δ\delta 值的变化(δ\delta 越大,检索越少),模型的检索频率 (retrieval frequency)在两个数据集上都发生了显著变化。
  • 任务差异:
    • 在 PubHealth 任务上,即使检索频率降低,性能下降也相对较小。这可能意味着 PubHealth 任务对检索的依赖性不如其他任务强,或者其内部知识已经足够解决部分问题。
    • 在 PopQA 任务上,检索频率降低会导致更大的性能下降。这表明 PopQA(特别是其长尾子集)对外部知识检索有更强的依赖性,减少检索会显著影响其准确性。
  • 权衡能力: 这项分析表明,Self-RAG 允许实践者根据具体任务的需求,在推理效率 (inference efficiency)(通过控制检索频率)和准确性 (accuracy)之间进行灵活的权衡 (trade-off)。对于对延迟敏感或检索成本高的场景,可以适当提高阈值以减少检索;对于对准确性要求极高的场景,则可以降低阈值以确保充分检索。

6.3.4. 训练数据规模的影响 (Effects of training data size)

图 4a、4b 和 4c 展示了不同训练数据规模对模型性能的影响。实验中,从 150k 原始训练实例中随机抽取 5k、10k、20k 和 50k 的子集,然后对 Self-RAG 7B 模型进行微调,并与在完整 150k 数据集上训练的 Self-RAG 最终模型进行比较。

Figure 4: Training scale and Human analysis: (a) (b) (c) Training scale analysis shows the effect of the training data scale on PopQA, PubHealth and ASQA (citation precision), respectively. (d) Human analysis on SELF-RAG outputs as well as reflection tokens. 该图像是包含四个子图的示意图,展示了不同训练数量对模型性能的影响。子图(a)为PopQA,子图(b)为PubHealth,子图(c)为ASQA的精度变化。同时,子图(d)为对PopQ和Bio生成的人工评估结果,包括S&P、IsRel和IsSup的得分。

Figure 4: Training scale and Human analysis: (a) (b) (c) Training scale analysis shows the effect of the training data scale on PopQA, PubHealth and ASQA (citation precision), respectively. (d) Human analysis on SELF-RAG outputs as well as reflection tokens.

分析:

  • 数据规模与性能: 在所有数据集上,增加训练数据规模通常会带来性能提升 (upward trajectories)。这种提升在 PopQA 和 ASQA(引用精度)上尤为显著,而在 PubHealth 上表现相对平缓。
  • 与 Llama2-FT 的对比: 值得注意的是,即使将训练数据从 50k 增加到 150k,Llama2-FT-7B(作为没有 Self-RAG 机制的基线)的性能并没有显著提升。这再次强调了 Self-RAG 框架本身的有效性,它能够更好地从增加的数据中学习和受益。
  • 未来潜力: 这些结果表明,进一步扩展 Self-RAG 的训练数据规模可能会带来更大的性能提升。

6.3.5. 人工评估 (Human evaluations)

对 Self-RAG 的输出以及预测反射令牌 (predicted reflection tokens)的可靠性进行了少量人工评估 (human evaluations)

  • 评估方法: 从 PopQA 和 Bio 结果中抽取 50 个样本。
    • S&P (Plausible & Supported): 评估模型输出是否合理 (plausible)(即对问题而言是合理且切题的响应)和支持 (supported)(即所提供的证据足以验证答案的有效性)。在评估 S&P 时,排除了 Self-RAG 预测为不相关 (irrelevant)无支持 (no support)的实例。
    • 反射令牌匹配: 评估模型预测的 IsReLIsSUP 反射令牌 (reflection tokens)是否与人工判断一致(例如,模型声称“完全支持”的输出是否真的被引用证据支持)。
  • 分析:
    • 人工标注者发现 Self-RAG 的答案在短文本 PopQA 上通常是合理且被相关段落支持 (plausible and supported by relevant passages)的,具有更高的 S&P 分数,这与 Menick et al. (2022) 的发现一致。
    • 人工标注者还发现 IsReLIsSUP 反射令牌 (reflection tokens)的预测与他们的评估高度一致 (mostly aligned with their assessments)
  • 结论: 这项人工评估增强了对 Self-RAG 生成内容质量和其内部自反性机制 (self-reflection mechanism)可靠性的信心。

7. 总结与思考

7.1. 结论总结

本文提出了 自反性检索增强生成 (Self-RAG) 框架,旨在通过按需检索 (on-demand retrieval)自反性 (self-reflection)机制,显著提升大型语言模型 (LLM) 的生成质量和事实准确性。

核心贡献和意义包括:

  1. 统一模型训练: Self-RAG 训练一个单一的 LLM,使其能够同时生成任务输出和特殊的反射令牌 (reflection tokens),从而将文本生成与自我评估过程紧密结合。

  2. 细粒度自反性: 引入了检索令牌 (Retrieve token)批判令牌 (IsReL, IsSUP, IsUsE)。这些令牌使模型能够:

    • 自适应地判断何时需要检索外部知识。
    • 评估检索到的段落与任务的相关性。
    • 评估自身生成内容是否被证据支持以及整体实用性。
  3. 可定制的推理: 通过利用反射令牌在推理阶段的树形解码 (tree-decoding)批判分数 (critique scores)(其中包含可调的权重),Self-RAG 实现了高度可控的生成,允许用户根据任务需求(例如,优先事实准确性或流畅性)来定制模型行为,而无需重新训练。

  4. 卓越的性能: 在开放域问答、推理、事实核查和长文本生成等多样化任务上,Self-RAG 显著超越了现有最先进的 LLM 和检索增强模型,包括 ChatGPT 和检索增强的 Llama2-chat,尤其在事实性 (factuality)引用精度 (citation accuracy)方面表现突出。

  5. 有效性验证: 消融实验证明了 Self-RAG 各个组件(包括检索和批判模型)的重要性。训练数据规模分析也证实了其性能随数据增加而持续提升的趋势。

    Self-RAG 为构建更可靠、可控、事实准确的 LLM 提供了一个强有力的新范式。

7.2. 局限性与未来工作

局限性:

  1. 事实支持不完全: 尽管 Self-RAG 在事实准确性 (factuality)引用精度 (citation accuracy)方面取得了显著提升,但作者也指出,模型仍然可能生成未被引用完全支持的输出。这意味着“幻觉”问题虽有缓解但并未完全消除。
  2. 训练数据依赖: 批判模型的训练依赖于 GPT-4 生成的反射令牌 (reflection tokens),这可能带来API 成本 (API costs)复现性 (reproducibility)问题。虽然生成器模型在推理时不依赖 GPT-4,但初始数据收集的成本和依赖性仍然存在。
  3. 推理复杂性: 引入树形解码 (tree-decoding)束搜索 (beam search),以及并行处理多个检索段落,虽然提高了生成质量,但相比于简单的贪婪解码,可能会增加一定的推理延迟 (inference latency)计算开销 (computational overhead)
  4. 权重参数调优: 批判分数 (critique scores)中的权重 wGw^G 需要手动调整以适应不同的任务偏好。虽然这提供了灵活性,但也意味着用户需要一定的经验来找到最佳配置。

未来工作:

  1. 扩展训练数据: 论文分析显示,增加训练数据规模能进一步提升 Self-RAG 的性能,这表明未来可以探索更大规模的训练数据。
  2. 更复杂的批判机制: 可以探索更复杂的批判令牌 (critique tokens)或评估维度,以捕捉更多细粒度的生成质量属性。
  3. 强化学习与批判的结合: 虽然 Self-RAG 避免了 RLHF 的高成本,但可以探索将离线批判与某些形式的强化学习结合,以进一步优化批判模型的准确性和生成模型的对齐。
  4. 动态权重学习: 目前权重是手动设定的,未来可以研究模型是否能动态地学习 (dynamically learn)这些权重,或根据上下文和用户偏好进行自适应调整。
  5. 多模态 Self-RAG: 将 Self-RAG 的理念扩展到多模态 (multi-modal)领域,使其能够检索和批判图像、视频等多种形式的信息。
  6. 可解释性提升: 进一步增强模型的可解释性 (interpretability),例如通过可视化或其他方式,更清晰地展示模型为何做出特定检索或生成决策,以及其批判令牌的实际含义。

7.3. 个人启发与批判

个人启发:

  1. 自省机制的普适性: Self-RAG 的核心创新点在于将自省 (self-reflection)(通过反射令牌 (reflection tokens)实现)集成到 LLM 的生成过程中。这提供了一个强大的范式,不仅限于检索增强,理论上可以扩展到任何需要 LLM 进行自我评估和决策的复杂任务中。例如,在代码生成、科学发现或创意内容生成中,模型可以自我评估代码的正确性、假设的合理性或生成故事的连贯性。
  2. 缓解“幻觉”的有效路径: LLM 的“幻觉”问题一直是其广泛应用的主要障碍。Self-RAG 提出了一种结构化、可控的缓解策略,通过明确的事实支持度 (support for facts)评估,显著提高了生成内容的事实准确性。这对于法律、医疗、金融等对准确性要求极高的行业具有巨大的应用潜力。
  3. 灵活性与可控性: 能够在推理阶段通过调整权重来定制模型行为 (customize model behavior),是一个非常实用的特性。它使得同一个基础模型可以适应不同场景的需求,避免了为每个新场景进行昂贵的重新训练,大大提高了模型的实用性 (utility)部署效率 (deployment efficiency)
  4. 成本效益的 RLHF 替代方案: 通过利用 GPT-4 离线 (offline) 生成批判数据来训练批判模型,然后用标准 LM 目标训练生成器,Self-RAG 避免了传统 RLHF 昂贵的在线 (online)交互和复杂的强化学习过程,为实现类 RLHF 的效果提供了一个更具成本效益 (cost-effective)的替代方案。

批判:

  1. 批判模型(GPT-4)的依赖性与局限性: 批判模型的训练数据依赖于专有的 GPT-4,这意味着如果 GPT-4 的行为发生变化或其 API 不再可用,批判模型的质量将难以保证或复现。此外,GPT-4 本身也可能存在偏见或错误,这些可能会传递到批判模型中,进而影响整个 Self-RAG 系统的性能。一个更健壮的方案可能是在有条件的情况下,逐步减少对专有 LLM 的依赖,转向更多开源 (open-source)众包 (crowdsourced)的批判数据。
  2. 推理效率与复杂度的权衡: 尽管论文通过 vllm 等技术进行了优化,但引入分段级束搜索 (segment-level beam search)和并行处理多个文档,以及多次生成反射令牌 (reflection tokens),相比于简单的 LLM 推理,无疑会增加计算开销和延迟。在对实时性 (real-time)要求极高的场景中,这种开销可能仍然是一个挑战。未来可能需要探索更轻量级或更高效的解码策略。
  3. 批判令牌的粒度与可扩展性: 论文定义的反射令牌 (reflection tokens)是有效的,但未来在更复杂的任务中,可能需要更细粒度、更丰富的批判维度。如何设计这些令牌以确保它们既能有效指导模型,又不会过度增加模型的复杂性,是一个值得深入研究的问题。例如,对于需要复杂推理或多步骤规划的任务,目前的批判令牌可能不足以捕捉所有关键的评估点。
  4. "Fully Supported" 的严格性: IsSUP=FullySupportedIsSUP=Fully Supported 这一批判在实际应用中可能非常严格。如果模型生成的内容包含细微的概括或推断,即使这些推断是合理且基于证据的,也可能被标记为“部分支持”甚至“无支持”。如何在确保事实准确性的同时,允许一定程度的合理概括和抽象,是需要平衡的艺术。这可能需要更精细的支持度 (support)定义或批判模型 (critic model)的训练。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。