发布时间:2024 年 10 月 11 日
RAG
Retriever-and-Memory: Towards Adaptive Note-Enhanced Retrieval-Augmented Generation
RAG 通过引入外部知识,解决了 LLM 在 OpenQA 任务中生成错误和幻觉的问题。然而,现有方法在复杂问答中,未能准确判断检索时机,导致信息不足,答案质量低下。为此,我们提出了 Adaptive-Note,一种包含迭代信息收集、自适应记忆审查和任务导向生成的 RAG 方法。Adaptive-Note 通过笔记形式迭代更新知识,增强交互,并采用自适应策略决定检索与停止时机,确保充分探索。实验结果显示,Adaptive-Note 在复杂问答任务中表现优异。代码和数据详见 https://github.com/thunlp/Adaptive-Note。
如遇无法添加,请+ vx: iamxxn886
添加时请注明 RAG
- 为什么要提出 Adaptive-Note RAG?
RAG(检索增强生成)技术是一种能有效解决LLM(大语言模型)幻觉问题的可靠手段,通过借助外部非参数化知识,帮助LLMs拓展其知识边界。
但是,传统RAG在长问答、多跳问答等复杂任务时,往往很难收集到足够信息。
- • 多跳问答中,要回答“What does the acronym of the organization Danish Football Union is part of stands for?”这一问题,首先需要检索到“FIFA”这个缩写,然后再检索“FIFA”代表的含义。
- • 长形式问答中,处理模糊查询需要探索多个相关方面,并深入细节,以生成全面且详尽的答案。为了应对这一挑战,自适应 RAG(ARAG)尝试灵活决定“何时以及检索什么”,以捕获更多有价值的知识,回答复杂问答。
尽管 ARAG 在性能上有所提升,但主流的 ARAG 方法仍存在不足,主要因为两点限制:
- • 首先,每次检索都会立即触发生成,可能导致每个输出片段只反映了特定步骤的有限知识,而忽略了不同检索步骤中检索信息的整合与互动。
- • 其次,依赖 LLMs 主动预测检索时机,但 LLMs 的内部认知与实际检索需求之间的差异,可能导致错过关键的检索时机,从而造成知识收集的不足。
为此,自然语言处理与社会人文计算实验室(thunlp)研发了一款简洁、通用且高效的复杂问答增强型 RAG,名为 Adaptive Note-Enhanced RAG(Adaptive-Note)。
- 什么是 Adaptive-Note RAG?
如上图所示,Adaptive-Note 包含三大核心组件:
- • 左侧的迭代信息搜集器(Iterative Information Collector,IIC)
- • 右侧的自适应记忆审核器(Adaptive Memory Reviewer,AMR)
- • 任务导向的生成器
Adaptive-Note 能够从知识增长的视角自适应地搜集信息,并灵活地将新知与已搜集的知识整合。
- • 首先,为解决不同检索步骤间信息交互不足的问题,IIC 采用笔记作为知识载体。Adaptive-Note 不会在检索后立即生成结果,而是与原始查询相关的所有细节进行最大化提炼,并存储于笔记中。
- • 然后,新检索的信息以任何文本形式被Adaptive-Note 更新至笔记内现有的知识结构中。
- • 接着,AMR 采用基于笔记的自适应停止探索策略,取代了不确定的主动检索。识别出最优笔记作为最佳记忆,并决定“何时检索何物以及何时停止”。
类似于人类学习一个新领域,通常先广泛阅读,然后决定逐步将哪些内容整合进现有知识,直至对该领域足够熟悉。同样,Adaptive-Note 策略允许首先进行贪婪探索。如果在某个时刻,笔记不再获得新知识,信息搜集便会停止。这一策略有效避免了主动检索预测的时间偏差,并确保了持续的知识增长。
2.1 迭代信息搜集器(IIC)
2.1.1 第一步:笔记启动阶段
以问题 q 启动搜集器,然后选择基于 BM25 或 DPR 的检索器进行信息检索,获取与 q 相关的 k 篇文档作为参考。不同于传统 RAG 方法直接将所有检索到的文档串联输入 LLM,Adaptive-Note 创建一个笔记来作为信息载体,记录并整合检索到的有价值信息。
下图是用来初始化笔记的提示词模板:
2.1.2 第二步:迭代信息搜集阶段
基于现有信息生成两个新的问题。新问题用于搜索补充资料,丰富笔记内容并帮助解答原始疑问。
类似于人类的行为,根据当前的最佳理解提出新问题。最优记忆包含了先前检索文档的相关知识点,以简洁、连贯的方式存储,减少了源文档的噪声。
2.1.3 第三阶段:笔记更新阶段
通过新提出的问题,挖掘文本库中潜在的、与查询语义相关的子空间,并把新检索到的文档内容自然融入已有知识体系。
与笔记启动阶段相似,不设定将新知融入旧知的固定模式,比如追加或基于事件的插入,这样做是为了避免束缚 LLM 能力的多样性。
从“如何稳健推动有效信息增长”的视角引导 LLM,通过零样本设置来完成复杂的信息搜集、精化和更新。
三个关键方面为 LLM 提供多维指导:
- • 1)忠实性。收集的信息应贴近检索文档的风格,尽可能使用原文摘录;
- • 2)有效性。收集的信息应对解决原始查询有所帮助;
- • 3)可扩展性。收集的信息不应已包含在记忆中,换句话说,只需添加新的语义内容。
2.2 自适应记忆审核器(AMR)
从资料库中提取与问题相关的信息存在一个极限。基于此理念,自适应记忆审核器聚焦于两个核心问题:
- • 何者应存为最优记忆?
- • 何时停止检索?
2.2.1 触发条件 1:何者应存为最优记忆
引导 LLM 智能体细致审视笔记更新阶段产生的【更新笔记】与【最优记忆】,然后对比它们的内容质量。
如果【更新笔记】的质量超过【最优记忆】,【更新笔记】将取代原有记忆内容,成为最新的【最优记忆】。
如果不是,【最优记忆】的内容将保持不变。
进一步,为了进行多维度对比,在零样本设置下,通过提示模板(如上图)制定质量对比的评估标准。这些标准包括:
- • 1)内容是否包含与问题直接相关的关键词信息
- • 2)内容是否涵盖多个方面
- • 3)内容是否包含充分的细节
- • 4)内容是否足够实用
2.2.2 触发条件 2:何时停止检索
迭代过程包括连续检索并将有用信息汇总至笔记中,然后将质量更高的笔记存入记忆库。
设立了三个停止条件,以自适应地控制笔记更新,间接控制信息收集。
- • 首先,如果更新笔记的质量未能超越 【最优记忆】,那么这一轮信息收集视为无效。因此,设定了一个无效信息收集次数(invalid update count,IU)的阈值 。
- • 其次,某些查询可能与资料库中的大量长尾知识点相关,导致多次迭代后笔记信息量持续增长。但这些细节信息可能对回答原始查询并非必要。因此,设定了两个阈值:
- • 一个信息收集步骤的最大数量阈值(collector iteration count,CI)
- • 一个去重检索段落的最大数量阈值(retrieved passage count,RP)
这三个阈值作为终止迭代的条件,满足其中任何一个都将触发流程的终止。
2.3 面向任务的生成器
面向任务的生成器解析【最优记忆】,并针对原始问题 q 生成答案 α。
鉴于各类问答任务输出风格迥异(如长文本或短文本生成),设计了针对性的提示模板。
多跳问答任务 追求简洁精确的输出,往往仅需几个词,因此,引导 LLM 仅输出关键答案,避免无关词汇的掺杂。
长文本问答 任务,则引导其响应风格,而非施加严格的限制。
2.4 全过程示例
下图是作者在附件中补充的示例
下面是对视力进行翻译后的
问题:乔治湖大道历史区坐落的小镇在2010年有多少人口?
自适应笔记流程:
☞ 初始笔记:所附文件并未直接说明乔治湖大道历史区所在小镇的2010年人口数据。但文件指出,该历史区位于纽约州埃塞克斯县的蒂科德罗加,拥有14处物业上的20栋有贡献的建筑。文件详细描述了该区域的历史建筑,却未包含小镇的具体人口信息。
☞ 新查询:1. 2010年纽约州埃塞克斯县蒂科德罗加的人口数量是多少?2. 是否有2010年蒂科德罗加的人口统计报告或人口普查数据,以提供该镇人口信息?
☞☞ 更新笔记:检索到的文件显示,乔治湖大道历史区所在小镇在2010年的人口为5,042。这个小镇是位于纽约州埃塞克斯县的蒂科德罗加。乔治湖大道历史区是蒂科德罗加内的一个国家级历史区域,包含14处物业上的20栋有贡献的建筑,其中包括1919年至1921年间由W.A. Gale为蒂科德罗加纸浆和造纸公司建造的房屋和车库。这些房屋展现了一种受美国工匠风格影响的平房风格。此外,Gale也在Amherst Avenue历史区建造了房屋。➜ [知识增长:真] ➜ [最佳记忆]
☞ 新查询:1. 蒂科德罗加乔治湖大道历史区内的房屋展现的美国工匠风格平房有何特别意义?2. 是否能获取更多关于W.A. Gale为蒂科德罗加纸浆和造纸公司在乔治湖大道历史区建造的房屋的信息,比如建筑细节或历史背景?
☞ 更新笔记:检索到的文件确认,乔治湖大道历史区所在小镇在2010年的人口为5,042。蒂科德罗加位于纽约州埃塞克斯县。乔治湖大道历史区是蒂科德罗加内的一个国家级历史区域,包含14处物业上的20栋有贡献的建筑,其中包括1919年至1921年间由W.A. Gale为蒂科德罗加纸浆和造纸公司建造的房屋和车库。这些房屋展现了一种受美国工匠风格影响的平房风格。Gale也在Amherst Avenue历史区建造了房屋,这是蒂科德罗加的另一个国家级历史区域。➜ [知识增长:假]
- • 朴素RAG:366 ✗
- • Chain-of-Note:所提供的内容中没有答案。✗
- • self-RAG:无法确定。✗
- • FLARE:很抱歉,根据提供的搜索结果,没有关于乔治湖大道历史区所在小镇2010年人口的信息。很抱歉,根据提供的搜索结果,没有关于乔治湖所在小镇2010年人口的信息。✗
- • Adaptive-Note:5,042 ✓
- • 标准答案:5,042 ✓
- 效果测评
3.1 主要成果
3.1.1 与一次性RAG 的对比
所有的一次性RAG方法均采用 GPT-3.5 作为内置 LLM。结果表明,Adaptive-Note RAG 显著超越了单步检索方法。
值得一提的是,在 2WikiMQA 数据集上的成绩比 朴素RAG 高出 12.2%。
一次性RAG极度依赖一次性检索的质量,而Adaptive-Note能够自适应地在语料库中探索更多知识。
基于单一且有限的检索信息进行优化(例如,Chain-of-note,Self-refine)或区分相关信息(例如,Self-rerank)往往益处不大,甚至可能因丢弃有价值信息而产生负面影响。因此,重要的是在保留更有效知识的同时进一步探索。
3.1.2 与 Adaptive RAG 对比
上表中,与几种现有的 Adaptive RAG 方法进行比较,包括 Flare、Self-RAG 和 ReAct。
结果表明,Adaptive-Note在多跳问答和长文本问答任务中均实现了最高性能,以相当大的优势超过了其他方法。
- • 首先,ReAct 利用 LLM 的内部知识 来决定是否需要进一步的检索操作。然而,LLM 可能对自己的回答过于自信,这可能会干扰检索决策,导致忽略部分知识。相比之下,Adaptive-Note 采用贪婪策略,首先彻底收集信息,然后决定是否将新的有用信息整合到现有知识中。使得 Adaptive-Note 能够最大化从语料库中提取知识,从而显著提高回答的准确性。
- • 其次,Self-RAG 严重依赖于多个自我反思过程来评估每个检索段落的重要性,如果反思不准确,可能会错过有价值的信息。相比之下,Adaptive-Note允许 LLM 仔细审查并坚固地将每个段落中的相关知识整合到其记忆中。
- • 此外,Adaptive-Note不将判断的最小单位限制在单个段落上;它可以评估任何长度或形式的文本。
- • Flare 使用对数概率作为置信度分数来决定是否触发下一次检索步骤。然而,这些置信度分数可能无法准确反映检索的真实需求,影响了 Flare 对何时主动检索的判断。Adaptive-Note不是专注于检索的精确时机,而是强调用于回答问题的信息量是否增加了,因为这可以直接有助于提高答案的质量。
3.1.3 跨多款大型语言模型(LLM)的性能测试
为了验证Adaptive-Note的普适性和有效性,对三款不同的 LLM 进行了实验:
- • 功能强大的在线 LLM GPT-3.5,
- • Qwen2-7b
- • Llama3-8b
在不同内置 LLM 环境下,Adaptive-Note与经典 RAG 的整体性能:无论参数规模大小,Adaptive-Note在所有三款 LLM 上都显著优于经典 RAG。
3.1.4 公平的 top-k 设置下的深度对比
在相同的原始 top-k 配置下,Adaptive RAG 方法通常会比单步方法使用更多的检索段落。
所有自适应步骤中每个样本的平均去重段落数,称之为公平 top-k。然后将这个公平 top-k 作为单次检索的 top-k 值应用于经典 RAG。
上图展示了在公平 top-k 设置下经典 RAG 的整体性能。此外,还对原始 top-k 和公平 top-k 之间的中间值进行了经典 RAG 结果的插值处理。
结果显示:所有数据集的趋势一致。随着 top-k 值的增加,经典 RAG 的性能有所提升,但仍然显著低于Adaptive-Note。
3.2 消融研究
3.2.1 迭代信息搜集器的效能
上表中,“Ours w/o AMR”表示仅采用了迭代信息搜集器(IIC)模块。
而“Ours w/o IIC&AMR”则意味着 Adaptive-Note 既不采用迭代信息搜集器(IIC)也不采用自适应记忆复审器(AMR),实际上等同于之前提到过的经典 RAG。
结果显示,在经典 RAG 中加入 IIC 能提升所有数据集的性能,证实了其有效性。
特别是在多跳问答数据集上,该模块的提升最为显著。这是因为多跳任务依赖于先前的关键信息来决定下一步的探索方向。
基于笔记的迭代更新方式,利用已有的知识生成新的查询,这与多跳问答的过程非常相似。
3.2.2 自适应记忆复审器的效能
AMR 不能单独运作,必须与 IIC 结合使用。因此,将其与不包含自适应模块的版本进行比较,以证明其效能。
缺少 AMR 模块的系统会持续检索和更新笔记,直至达到最大探索步数,增加了最终用于回答的笔记中包含不相关噪声的风险。
实验结果支持了这一分析,显示加入 AMR 可以进一步提升性能。
此外,自适应模块的一个关键优势在于,当已经存在一个相对高质量的笔记时,它能够触发早期停止策略,潜在地降低成本。
3.3 参数分析
3.3.1 CI 和 IU 的影响
CI:collector iteration count,信息收集步骤数
IU:invalid update count,无效信息收集次数
在上表中,当 IU 固定为 1 时,随着 CI 的增加,多跳问答数据集的性能得到提升,当 CI 为 3 时达到峰值。
ASQA 在 CI 为 2 时就已达到最佳性能,这可能是因为多跳问答需要更深入的探索。
因此,建议使用较小的 IU,以在实现与较高 IU 值相似的增益的同时,潜在地降低成本。
3.3.2 top-k 的影响
上表中,在不同的 top-k 设置下比较了我们的方法与经典 RAG。Adaptive-Note 在相同的 top-k 条件下始终优于经典 RAG,证实了其在检索段落数量变化时实现稳定增益的鲁棒性。
此外,在大多数情况下,随着每步检索的段落数量(top-k)的增加,Adaptive-Note 的性能也得到提升。
- • 论文原文: https://arxiv.org/abs/2410.08821
- • 获取更多最新 Arxiv 论文更新: https://github.com/HuggingAGI/HuggingArxiv!
- • 加入社群,+v: iamxxn886
- • 点击公众号菜单加入讨论
卖本书,赚点咖啡钱