想象你拥有一个包含数百万本书籍、文章和文档的庞大图书馆。你想要提出一个复杂的问题,需要跨越许多不同页面建立联系,例如:“那位为碧昂丝(Beyoncé)所启发的歌手制作纪录片的男人的妻子是谁?”
传统搜索引擎(即“旧方式”)就像一位只抓取几页包含“碧昂丝”或“纪录片”等字眼的随机页面的图书管理员。由于它们无法理解将这些内容联系起来的叙事脉络,因此常常遗漏与你所询问的特定人物相关的关键链接。
其他先进系统尝试将这些书籍组织成一种树状结构(一种大摘要位于上层、较小细节位于下层的层级结构)。然而,该论文指出,现有的树状系统存在三大主要缺陷:
- 它们强行将方榫头塞入圆孔:它们假设所有信息都是均匀分布的,但这并非事实。当某些主题罕见而其他主题常见时,这会令系统感到困惑。
- 它们是孤立的岛屿:树的各个分支之间缺乏良好的沟通。如果答案需要从一支跳转到另一支,系统就会陷入停滞。
- 它们过于模糊:树顶端的“摘要”过于宽泛,以至于忘记了回答精确问题所需的具体细节。
解决方案:Ψ-RAG(Psi-RAG)
作者提出了一种名为Ψ-RAG的新系统。可以将其想象为一位超级聪明且自适应的图书管理员,他们不仅整理书籍,还会主动思考如何找到答案。
其工作原理可分为两个主要部分:
1. “合并与坍缩”树(图书馆重组)
Ψ-RAG 并非将书籍强行归入僵化的预定义类别(如“体育”或“历史”),而是根据文本实际上的相似性构建自己的地图。
- 类比:想象你有一堆杂乱无章的乐高积木。你不是先按颜色分类,而是开始将相似的积木拼接在一起。如果你发现两块积木完美契合,就将它们粘合;如果你发现一个小簇可以归入一个更大的簇,就将其附着在那里。
- 结果:这形成了一棵“分层抽象树”。底层包含实际的文本片段,而上层则是下层内容的摘要(抽象)。
- 为何更优:与其他试图让每个分支大小一致的系统(这会破坏罕见主题)不同,Ψ-RAG 让树自然生长。如果某个主题罕见,它会获得自己独立且独特的小分支;如果某个主题庞大,它则会获得一个大分支。这保留了信息的“形态”。
2. “多粒度代理检索”(侦探代理)
这是整个操作的核心。它不仅仅是一个搜索栏,而是一个能够与图书馆对话的AI 侦探。
- 侦探的职责:当你提出问题时,该代理不会只搜索一次。它会先查看树的顶端(大摘要)以获取整体概念。如果答案不在那里,它会自问:“我缺少什么具体细节?”
- 查询重组:如果代理意识到自己陷入困境,它会重写你的问题使其更加具体。
- 原始问题:“那位为碧昂丝所启发的歌手制作纪录片的男人的妻子是谁?”
- 代理重写后的问题:“大卫·格斯特(David Gest)的妻子是谁?”(在第一步中推断出该男子的名字后)。
- 混合搜索:该代理同时使用两种工具:
- 树状结构:用于理解大局并遵循逻辑路径。
- 关键词搜索(稀疏索引):用于查找可能在宽泛摘要中丢失的确切名称和事实。
- 循环机制:代理不断自问:“我有足够的信息了吗?”如果没有,它就深入挖掘、重写问题并再次搜索,直到掌握完整的故事。
为何这很重要(根据论文所述)
该论文在需要“多跳”推理(将 A 连接到 B,再将 B 连接到 C,最后将 C 连接到答案)的难题上测试了这一系统。
- 速度与准确性:其他树状系统在大型数据集上速度快但不准确。基于图的系统(像地铁图一样映射关系)虽然准确,但构建速度非常缓慢。
- 获胜者:Ψ-RAG 的准确性比之前的最佳树状系统(RAPTOR)高出25.9%,比顶级图系统(HippoRAG 2)高出7.4%。
- 效率:它构建索引的速度比 RAPTOR 快6.5 倍,并且比图系统快得多,使其适用于大规模文档集合。
一句话总结
Ψ-RAG 是一种组织和搜索海量文本的新方法。它构建了一张灵活的地图,尊重数据的自然结构,并利用 AI“侦探”在该地图上进行导航,通过提出后续问题并将广泛摘要与具体事实相结合,来解决其他系统会错过的复杂谜题。
以下是论文《用于跨文档检索增强生成的层次抽象树》(Ψ-RAG)的详细技术总结。
1. 问题陈述
检索增强生成(RAG)通过引入外部知识增强了大语言模型(LLM)的能力。尽管Tree-RAG方法(例如 RAPTOR)将文档组织成层次化索引以支持多粒度查询,但在扩展到跨文档多跳问题时,它们面临关键局限性:
- 分布适应性差:现有方法依赖 k-means 类型的聚类(例如高斯混合模型)。这些算法假设数据呈球形分布,并遭受“均匀效应”的影响,迫使聚类具有统一的大小。这通过将次要的、偏斜的主题合并到主要聚类中而引入噪声,导致检索器忽略小众信息。
- 结构隔离:树索引通常缺乏不同分支之间叶节点的显式连接。与通过边在实体间跳跃的 Graph-RAG 不同,树叶子是孤立的。这阻止了检索器捕捉多跳推理所需的隐含因果依赖关系。
- 抽象粗糙:标准的树抽象通常会创建掩盖细粒度细节的高级摘要。稠密向量匹配难以将用户查询中的特定实体与这些抽象概念关联起来,导致在事实性、词元级问题上检索失败。
2. 方法论:Ψ-RAG
作者提出了Ψ-RAG,这是一个包含两个核心组件的框架:层次抽象树索引和多粒度代理检索器。
A. 层次抽象树索引
Ψ-RAG 不使用 k-means 聚类,而是采用受凝聚层次聚类(AHC)启发的迭代**“合并与坍缩”**过程,且无需先验分布假设。
- 相似度排序:所有文档块被编码为稠密向量,计算并排序成对相似度。
- 合并与坍缩:
- 合并:最相似的一对块(或节点)被链接到一个新的抽象节点下。
- 叶节点坍缩:如果一个节点已经链接到一个父节点,则将该孤立节点附加到同一个父节点下。
- 抽象节点坍缩:如果两个节点属于同一深度的不同父节点,则它们的根节点在一个新节点下合并。如果深度不同,较浅的根节点被链接到较深节点的路径上以平衡树。
- 抽象:LLM 代理为每个非叶节点生成两种类型的抽象:
- 总结性抽象:一个连贯的段落,总结逻辑和实体关系。
- 关键词抽象:保留实体共现的高密度关键词/短语。
- 再平衡:子节点过多的节点会被拆分,以确保抽象代理的上下文窗口不被超出。
B. 多粒度代理检索
为了解决结构隔离和抽象粗糙的问题,Ψ-RAG 采用了一个检索与回答(R&A)代理,该代理与多粒度混合索引(树 + 稀疏关键词索引)进行交互。
- 迭代推理:代理评估当前信息是否充足。如果不充足,它生成一个重组查询(通过添加描述性同位语等方式丰富上下文),并触发新的检索步骤。
- 混合检索:
- 树检索:从根到叶层的自上而下稠密向量搜索。
- 稀疏检索:基于 BM25 的关键词搜索。
- 融合:结果通过重排序器(参数化)或倒数排名融合(非参数化)进行组合。
- 查询重组:代理动态重写查询以包含主题关键词,辅助稀疏检索器(查找特定实体)和树检索器(定位相关的高级抽象)。
3. 主要贡献
- 分布适应性:Ψ-RAG 通过 Dasgupta 的成本分析从理论上证明,其层次合并过程避免了 k-means 的“均匀效应”。它自适应地保留偏斜的数据分布,确保次要聚类保持独立,而不是被主要聚类吸收。
- 首个跨文档 Tree-RAG:这是第一个能够处理语料库级、跨文档多跳检索的 Tree-RAG 框架,在保持树结构效率的同时,匹配了 Graph-RAG 的能力。
- 混合代理框架:通过集成稀疏关键词索引和基于推理需求重组查询的迭代代理,解决了粗糙抽象与细粒度检索之间的冲突。
- 灵活性:该框架完全建立在开源 LLM 之上,且具有模块化特性,允许组件(嵌入、抽象、代理、重排序器)在不重新训练的情况下进行替换。
4. 实验结果
作者在多样化的基准测试上评估了 Ψ-RAG,包括单跳/多跳问答(HotpotQA, 2Wiki, MuSiQue, MultiHop-RAG)、叙事问答(NarrativeQA)和摘要(QMSum, WCEP)。
- 性能提升:
- 在跨文档多跳问答基准测试上,Ψ-RAG 的平均 F1 分数比 RAPTOR 高出 25.9%。
- 它比最先进的 HippoRAG 2(一种 Graph-RAG 方法)高出 7.4% 的平均 F1 分数。
- 它在所有数据集的检索指标(Recall@5)上均取得了显著增益。
- 效率:
- 索引构建:Ψ-RAG 构建语料库级树的速度比基于 OpenIE 的 Graph-RAG(例如 GraphRAG)快 10 倍,比 RAPTOR 快 6.5 倍。
- 检索:自上而下的搜索提供 O(logn) 的复杂度,导致比 Graph-RAG 的遍历更低的延迟。
- 消融研究:
- 移除 R&A 代理会导致多跳性能下降约 20%。
- 移除稀疏检索器会严重损害事实性查询的性能(例如,在 PopQA 上下降 -21.8%)。
- 代理对查询的重组对于多跳成功至关重要。
5. 意义
- 弥合差距:Ψ-RAG 成功弥合了 Tree-RAG 的效率与 Graph-RAG 的推理能力之间的差距,证明了层次结构可以在没有图构建的重开销的情况下有效处理复杂的多跳推理。
- 可扩展性:通过避免“均匀效应”并利用高效的合并算法,它能够有效地扩展到传统聚类失败的大型、偏斜语料库。
- 实用性:该框架证明了开源模型可以在结构化 RAG 中实现最先进的性能,使高级多跳推理无需专有 API 或大量微调即可获得。
- 未来方向:它为处理跨文档检索设定了新标准,表明结合代理推理的层次化索引是下一代 RAG 系统可行且优越的路径。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。