SELF-RAG: 通过自我反思学习检索、生成和批判——图文并茂总结
1. 背景与挑战
大型语言模型(LLMs)虽然功能强大,但在生成内容时常常会出现事实性错误。这是因为它们仅依赖于自身参数中存储的知识,而缺乏对外部知识的检索和验证能力。
2. 现有解决方案:检索增强生成(RAG)
RAG 通过将检索到的相关文本段落与输入一起提供给 LLM,从而减少知识密集型任务中的事实性错误。然而,RAG 也存在以下问题:
- 盲目检索:无论检索是否必要,都会检索固定数量的段落,这会降低 LLM 的灵活性,并可能导致生成低质量的内容。
- 缺乏一致性:模型不会显式地利用和遵循检索到的段落中的事实,导致生成内容与检索到的信息不一致。
3. SELF-RAG:自我反思的检索增强生成
为了解决上述问题,本文提出了 SELF-RAG(自我反思的检索增强生成) 框架,通过按需检索和自我反思来提高 LLM 的生成质量和事实准确性,同时不损害其创造力和灵活性。
3.1 框架概述
SELF-RAG 的核心思想是让 LLM 在生成过程中进行自我反思,并通过生成特殊的**反思标记(Reflection Tokens)**来控制其行为。
- 反思标记分为检索标记和批判标记,分别用于指示是否需要检索以及生成内容的质量。
图 1:SELF-RAG 框架概述
- 检索标记(Retrieve):决定是否需要检索外部文档。
- Yes:需要检索。
- No:不需要检索。
- Continue:继续使用之前检索到的证据。
- 批判标记(Critique Tokens):
- ISREL:判断检索到的证据是否与输入相关。
- Relevant:相关。
- Irrelevant:不相关。
- ISSUP:判断输出是否得到证据的充分支持。
- Fully supported:完全支持。
- Partially supported:部分支持。
- No support / Contradictory:不支持/矛盾。
- ISUSE:评估输出的整体有用性(从 1 到 5 分)。
- ISREL:判断检索到的证据是否与输入相关。
3.2 训练过程
SELF-RAG 的训练分为两个阶段:
3.2.1 训练批判模型(Critic Model)
- 数据收集:使用 GPT-4 为每个输入-输出对生成反思标记,并将其作为监督数据。
- 手动评估表明,GPT-4 生成的反思标记与人工评估高度一致。
- 模型训练:使用标准条件语言建模目标对预训练的 LLM 进行微调,以预测反思标记。
图 2:SELF-RAG 训练示例
3.2.2 训练生成模型(Generator Model)
- 数据收集:使用批判模型对输入-输出对进行增强,插入反思标记和检索到的段落,生成训练数据。
- 模型训练:使用标准下一个词预测目标对生成模型进行训练,使其能够预测目标输出以及反思标记。
4. 推理过程
SELF-RAG 在推理过程中通过生成反思标记来自我评估其输出,从而实现对模型行为的控制。
4.1 自适应检索
- 按需检索:模型根据预测的检索标记决定是否需要检索。
- 阈值控制:设置一个阈值,当检索标记的概率超过该阈值时触发检索。
4.2 基于批判标记的树形解码
- 并行处理:对于每个检索到的段落,模型并行生成多个候选输出。
- 段级束搜索:使用段级束搜索(beam search)来选择最佳输出序列。
- 每个段落的得分由批判标记的加权线性组合决定。
- 可以通过调整权重来定制模型的行为,例如:
- 强调证据支持度:提高 I S S U P \boxed{\mathrm{ISSUP}} ISSUP 的权重。
- 强调流畅性:降低 I S S U P \boxed{\mathrm{ISSUP}} ISSUP 的权重。
图 3:SELF-RAG 推理过程分析
5. 实验结果与分析
5.1 主要结果
- 与无检索基线比较:SELF-RAG 在所有任务上都显著优于监督微调的 LLM,甚至在 PubHealth、PopQA、传记生成和 ASQA(ROUGE 和 MAUVE)任务上超过了 ChatGPT。
- 与检索增强基线比较:SELF-RAG 在大多数任务上优于现有的 RAG 方法,在所有任务上均取得了非专有 LLM 模型的最佳性能。
5.2 分析
- 消融研究:所有组件(检索器、批判模型、推理算法)在模型性能提升中都起着重要作用。
- 消融实验表明,SELF-RAG 的按需检索和细粒度多标准生成选择能力是其性能提升的关键。
- 推理时定制化的影响:通过调整批判标记的权重,可以控制模型的行为,例如:
- 提高证据支持度的权重可以提高模型的引用精度,但可能会降低流畅性。
- 检索频率与准确性的权衡:使用自适应阈值可以有效控制检索频率,并在准确性和效率之间取得平衡。
- 训练数据规模的影响:增加训练数据规模通常可以提高模型性能,尤其是在 PopQA 和 ASQA 任务上。
图 4:训练规模与人类分析
- 人类评估:SELF-RAG 的输出通常具有较高的合理性,并且能够生成与证据相符的内容。
6. 结论
SELF-RAG 是一种创新的框架,通过按需检索和自我反思来提高 LLM 的生成质量和事实准确性。实验结果表明,SELF-RAG 在多个任务上均优于现有的 LLM 和 RAG 方法。
7. 伦理考量
- 尽管 SELF-RAG 在提高 LLM 的事实准确性方面取得了显著进展,但它仍然可能生成与证据不完全相符的内容。
- SELF-RAG 的自我反思机制和细粒度的归因信息可以帮助用户验证模型输出中的事实性错误。
8. 关键创新点
- 反思标记:引入反思标记,使模型能够自我评估和调整其行为。
- 按需检索:根据任务需求进行检索,避免不必要的检索,提高效率。
- 细粒度批判:对检索到的证据和生成内容进行细粒度批判,提高生成质量。
- 推理时定制化:通过调整批判标记的权重,实现对模型行为的灵活控制。
9. 未来方向
- 探索更高效的检索系统,例如指令微调的检索系统或检索和 LLM 组件的联合训练。
- 将 SELF-RAG 应用于更多类型的任务,例如对话系统、文本摘要等。
- 进一步研究如何更好地利用反思标记来提高模型的可解释性和可控性。
原文地址:https://blog.csdn.net/Yuleave/article/details/145291475
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!