关键要点
- 研究表明,HippoRAG 2 的生成流程包括离线索引和在线检索两个阶段。
- 离线索引通过开放信息提取和同义词检测构建知识图谱。
- 在线检索将用户查询链接到知识图谱,并使用个性化 PageRank 算法生成响应。
- 它在复杂任务(如多跳检索)上表现优异,同时保持简单任务的效率。
HippoRAG 2 生成流程概述
什么是 HippoRAG 2?
HippoRAG 2 是一个为大型语言模型(LLM)设计的记忆框架,旨在增强它们识别和利用新知识连接的能力,类似于人类长期记忆。它通过改善关联性(多跳检索)和意义构建(整合大型复杂上下文)来提升 RAG 系统的性能,同时保持简单任务的效率。
生成流程的两个阶段
HippoRAG 2 的生成流程分为离线索引和在线检索两个阶段:
-
离线索引:
- 开放信息提取:使用 LLM 从输入文档中提取三元组(如“主语-关系-宾语”),形成知识图谱中的节点和边。
- 同义词检测:通过嵌入模型计算相似度(阈值为 0.8),连接相关节点,增强图谱的连接性。
- 段落整合:将原始段落加入图谱,添加“包含”关系,结合密集和稀疏编码。
-
在线检索:
- 查询链接:将用户查询与知识图谱中的节点匹配,找到相关种子。
- 识别记忆:使用 LLM 过滤出最多 4 个相关三元组,减少噪声。
- 个性化 PageRank:使用 PPR 算法(阻尼因子 0.5)排名段落,生成最终回答。
一个意想不到的细节
HippoRAG 2 在离线索引时资源使用比其他图-based RAG 系统少,这对实际应用成本控制很有帮助。
详细分析:HippoRAG 2 生成流程的全面探讨
引言
HippoRAG 2 是一个创新的记忆框架,旨在增强大型语言模型(LLM)处理新知识的能力,特别模仿人类长期记忆的动态和相互连接特性。本报告基于 2025 年 3 月 20 日的最新信息,详细探讨 HippoRAG 2 的生成流程,包括其离线索引和在线检索阶段,及其在各种任务中的表现。
HippoRAG 2 生成流程的核心机制
HippoRAG 2 的生成流程分为两个主要阶段:离线索引和在线检索。这一设计灵感来源于人类记忆的神经生物学机制,特别是海马体和新皮质的协作方式。
离线索引
这一阶段的目标是构建一个结构化的知识图谱(Knowledge Graph),以便后续检索使用。具体步骤如下:
-
开放信息提取(OpenIE):
- 使用 LLM(如 Llama-3.3-70B-Instruct 或 GPT-4o-mini)从输入的段落中提取三元组(triples),例如“奥巴马-是-美国总统”。这些三元组形成短语节点(phrase nodes),通过关系边(relation edges)连接。
- 这一步利用 LLM 的语言理解能力,生成开放式信息提取结果,构建知识图谱的基础。
-
同义词检测(Synonym Detection):
- 使用嵌入模型(如 NV-Embed-v2)计算短语节点之间的相似度。
- 如果相似度超过阈值(0.8),则在相关节点之间添加同义词边(synonym edges),增强图谱的连接性。
-
段落整合(Passage Integration):
- 将原始段落作为节点(passage nodes)加入知识图谱。
- 通过“包含”(contains)上下文边(context edges)连接段落节点和短语节点,形成概念与上下文的统一表示。
- 这一步结合了密集编码(dense coding,基于嵌入)和稀疏编码(sparse coding,基于图结构),以平衡概念和上下文的表示。
离线索引的资源效率是 HippoRAG 2 的一个亮点,与 GraphRAG、RAPTOR 和 LightRAG 等基于图的解决方案相比,它使用显著更少的资源,这对实际应用中的成本控制非常重要。
在线检索
在线检索是 HippoRAG 2 处理用户查询并生成响应的核心过程,具体步骤如下:
-
查询链接(Query Linking):
- 使用嵌入模型将用户查询与知识图谱中的三元组和段落节点进行匹配,识别出与查询相关的种子节点(seed nodes)。
- 这一步通过嵌入相似度快速定位潜在的相关信息。
-
识别记忆(Recognition Memory):
- 使用 LLM(如 Llama-3.3-70B-Instruct)过滤种子节点,选择最多 4 个最相关的三元组。
- 这一过程通过提示(prompts,见论文附录 A)指导 LLM 判断哪些三元组对查询最有用,减少噪声干扰。
- 例如,提示可能要求 LLM 评估三元组与查询的相关性,确保选择最相关的知识。
-
个性化 PageRank(Personalized PageRank, PPR):
- 使用 PPR 算法(阻尼因子为 0.5)进行上下文感知检索。
- PPR 算法在计算时平衡了短语节点和段落节点的重置概率(weight factor 为 0.05),以确保检索结果既关注概念(短语节点)也关注上下文(段落节点)。
- 通过这一步,系统能够进行多跳检索,增强关联性(associativity)。
-
排名与问答(Ranking and QA):
- 根据 PageRank 分数对段落节点进行排名,选择排名最高的段落作为检索结果。
- 使用这些段落作为上下文,LLM 生成最终的问答响应,结合检索到的信息提供准确的答案。
关键改进与性能
HippoRAG 2 相较于其前身 HippoRAG 和传统 RAG 系统,引入了以下关键改进:
- 更深层次的上下文整合:通过查询到三元组的直接链接(query-to-triple linking),Recall@5 提升了 12.5%,相比于传统的 NER-to-node 链接方法。
- 密集与稀疏编码的结合:通过结合嵌入(密集)和图结构(稀疏),更好地处理概念和上下文之间的权衡。
- 识别记忆机制:通过 LLM 过滤种子节点,改善了初始检索的质量,减少了噪声干扰。
在性能方面,HippoRAG 2 在多个基准测试中表现出色,具体如下:
任务类型 | 数据集 | 表现 |
---|---|---|
事实记忆(Factual Memory) | NaturalQuestions, PopQA | 优于标准 RAG,保持简单任务的高效率 |
意义构建(Sense-making) | NarrativeQA | 展示强大的上下文整合能力 |
关联性(Associativity) | MuSiQue, 2Wiki, HotpotQA, LV-Eval | 比最先进的嵌入模型(如 NV-Embed-v2)提升 7% |
- 平均 F1 得分:使用 Llama-3.3-70B-Instruct 达到 59.8,使用 GPT-4o-mini 达到 58.1,分别比 NV-Embed-v2 高出 2.8% 和 2.4%。
- Recall@5:在 MuSiQue 和 2Wiki 上分别达到 78.2 和 77.7,比 NV-Embed-v2 提升了 5.0% 和 4.3%。
此外,HippoRAG 2 的灵活性使其能够与多种检索器(如 GTE-Qwen2-7B-Instruct、GritLM-7B)和 LLM 配合使用,具有良好的可插拔性。
资源与引用
- 代码和数据:可在 GitHub 上获取。
- 论文:
结论
HippoRAG 2 的生成流程通过离线索引构建知识图谱,并通过在线检索将用户查询与图谱中的信息匹配,最终生成响应。这一流程不仅提升了 LLMs 在复杂任务(如多跳检索和意义构建)上的性能,还保持了在简单任务上的高效性。它的资源效率和灵活性使其成为研究者和开发者的理想选择,特别适合需要高效记忆和知识整合的场景。