HippoRAG 2: Baselines & Benchmarks 深度解析

HippoRAG 2: Baselines & Benchmarks 深度解析

对 NeurIPS 2025 论文 HippoRAG 2 的 baselines 和 benchmarks 进行深度解析,揭示现有 RAG 系统在三类记忆任务上的表现差异

** Update and focus on baseline and benchmarks.

论文背景

核心问题:现有 RAG 系统无法同时处理三类记忆任务 - Factual Memory(事实记忆):简单问答 - Associativity(关联记忆):多跳推理 - Sense-making(意义构建):长篇语篇理解

关键发现:所有结构增强 RAG 方法在某些任务上显著劣于标准向量检索


Baselines 详解

1. 简单基线(传统检索方法)

BM25

  • 技术:基于词频的概率检索(TF-IDF 改进版)
  • 特点
  • 不使用神经网络,纯统计方法
  • 擅长精确词匹配
  • 对同义词和语义相似无感知
  • 性能:PopQA 上 49.9 F1(实体密集型数据集表现尚可)

Contriever (Facebook, 110M)

  • 技术:无监督对比学习检索器
  • 训练方式:通过数据增强构造正负样本对
  • 性能:简单 QA 上 53-59 F1,多跳 QA 上明显不足

GTR (Google T5-base)

  • 技术:基于 T5 的双编码器
  • 参数量:220M(T5-base)
  • 性能:平均 50.4 F1,是小模型中最强的

2. 大型嵌入模型(7B 参数级别)

GTE-Qwen2-7B-Instruct (阿里)

  • 技术特点
  • 多阶段对比学习
  • 基于 Qwen2-7B 语言模型
  • 指令微调增强任务适应性
  • 训练数据:大规模多领域语料
  • 性能:54.9 平均 F1
  • 问题:在 LV-Eval 上只有 7.1,知识泄露依赖较大

GritLM-7B

  • 创新点:统一生成和检索的混合模型
  • 架构:同一个 LLM 同时做生成和嵌入
  • 训练:联合优化检索和生成损失
  • 性能:56.1 平均 F1,在多跳 QA 上较强(44.8 MuSiQue)

NV-Embed-v2 (NVIDIA, 7B) ⭐

  • 地位:当前最强开源嵌入模型(2025.01)
  • 关键技术
  • 潜在注意力层(Latent Attention Layers)
  • 多任务指令微调
  • 改进的训练技术
  • BEIR 排行榜:领先位置
  • 性能57.0 平均 F1(标准 RAG 最强基线)
  • 特点
  • 在所有简单 QA 上表现最好
  • HotpotQA 上达到 75.3 F1(检索 94.5 Recall@5)
  • 但在 LV-Eval 上只有 9.8(知识泄露问题)

关键观察:7B 嵌入模型比 T5-base 高 6.6 个 F1 点,证明模型规模对检索质量的重要性


3. 结构增强 RAG 方法

RAPTOR (Stanford)

核心思想:递归摘要构建树形索引

技术流程

1. 用高斯混合模型GMM聚类相似文档
2. 对每个类生成 LLM 摘要
3. 对摘要再次聚类和摘要
4. 构建多层树形结构

检索策略: - 从叶子到根节点多层检索 - 结合原始文档和各层摘要

性能分析: - 简单 QA:56.2 PopQA(与 NV-Embed-v2 持平) - 多跳 QA:28.9 MuSiQue ❌(比标准 RAG 低 16.8 点!) - 语篇理解:21.4 NarrativeQA(表现尚可)

失败原因: - LLM 摘要引入噪声和幻觉 - 对于需要精确事实的多跳推理,摘要丢失关键细节 - 例如:原文"Erik Hort born in Montebello"被摘要成"Erik Hort is a soccer player"

GraphRAG (Microsoft)

核心思想:社区检测 + 分层摘要

技术流程

1.  LLM 提取实体和关系  构建知识图谱
2. Leiden 算法检测社区图聚类
3. 为每个社区生成描述性摘要
4. 支持局部local和全局global检索模式

超参数(论文调优后): - Chunk token size: 1200 - Community report max length: 2000 - Max input length: 8000 - Top-k phrases: 60

性能分析: - 简单 QA:48.1 PopQA ❌(比 NV-Embed-v2 低 7.6 点) - 多跳 QA:38.5 MuSiQue(一般) - LV-Eval:11.2(所有方法中最好!但绝对值仍很低)

失败原因: - 社区摘要引入更多 LLM 生成内容 - 检索时需要在摘要中匹配,不如直接匹配原文 - 索引极慢:277 分钟(vs NV-Embed-v2 的 12 分钟)

LightRAG

核心思想:双层检索机制

技术流程: - 低层:实体-关系级别 - 高层:社区级别 - 结合图结构和向量检索

性能6.6 平均 F1 ❌❌❌ - 所有数据集上都接近失败(1-4 F1) - NarrativeQA 上只有 3.7

论文评价:实现存在严重 bug 或设计缺陷,未能正常工作

HippoRAG (原版)

核心思想:神经科学启发的 KG + Personalized PageRank

技术流程

1. OpenIE 提取三元组  构建 KG
2. NER 提取查询实体
3. 嵌入模型匹配实体到 KG 节点
4. PPR 图搜索扩散到相关节点
5. 返回高分节点对应的文档

PPR 算法解释: - 标准 PageRank:随机游走计算节点重要性 - Personalized PageRank:带偏好的随机游走 - Reset probability:跳回种子节点的概率 - 实现上下文相关的检索

性能分析: - 简单 QA:55.9 PopQA(中等,因为实体识别准确) - 多跳 QA:35.1 MuSiQue ❌(比 NV-Embed-v2 低 10.6 点) - 2Wiki:71.8 ✓(最强,因为该数据集实体密集) - NarrativeQA:16.3 ❌(比 NV-Embed-v2 低 9.4 点)

问题诊断: 1. 过度实体中心:NER 只提取实体,丢失关系和上下文 2. 查询上下文不足:只用实体名匹配,不考虑查询意图 3. 不适合语篇理解:长文本需要理解情节而非实体链接


Benchmarks 详解

设计哲学:三维度评估

维度 测试能力 核心挑战 现有方法短板
Factual Memory 单跳事实查询 精确匹配 结构增强方法引入噪声
Associativity 多跳推理 跨文档连接 标准 RAG 无法建立关联
Sense-making 长篇理解 整体把握 HippoRAG 过度关注实体

1. Factual Memory (简单 QA)

NaturalQuestions (NQ)

  • 来源:真实 Google 搜索查询
  • 规模:1000 queries, 9633 passages
  • 特点
  • 查询自然多样("乔治·兰金的职业是什么?")
  • 实体频率正常(不像 PopQA 那样稀缺)
  • 难度:中等(标准 RAG 能达到 62 F1)

PopQA

  • 来源:Wikipedia (2021.12)
  • 规模:1000 queries, 8676 passages
  • 特点
  • 实体密集型:问题围绕长尾实体
  • 实体出现频率低 → 更依赖精确匹配
  • 示例:"Oliver Badman 是政治家吗?"(否,他不是)
  • 难度:较高(标准 RAG 达到 56 F1,HippoRAG 更好因为实体匹配强)

关键指标: - NV-Embed-v2:62 NQ, 56 PopQA - HippoRAG 2:63 NQ, 56 PopQA(微弱领先) - RAPTOR:51 NQ(-11),56 PopQA


2. Associativity (多跳 QA)

MuSiQue

  • 设计目标:强制多跳推理
  • 规模:1000 queries, 11656 passages
  • 构造方法:组合单跳问题
  • Q1: "Erik Hort 出生在哪里?" → Montebello
  • Q2: "Montebello 在哪个县?" → Rockland County
  • 组合:"Erik Hort 的出生地在哪个县?"
  • 跳数分布:2-4 跳

性能对比: - NV-Embed-v2:45.7 F1(检索 69.7 Recall@5) - HippoRAG:35.1 ❌(图搜索未有效工作) - HippoRAG 2:48.6 F1(检索 74.7 Recall@5)✓

失败案例(HippoRAG):

问题:"Bernhard Lichtenberg 的宗教改革者在哪里布道?"
需要链:Bernhard → 天主教 → 马丁·路德(改革者)→ 维滕贝格(布道地)

HippoRAG 只识别:"Bernhard Lichtenberg"(实体)
丢失:"宗教"、"改革者"、"布道"(关键关系)

2WikiMultihopQA

  • 特点:基于 Wikipedia,实体密集
  • 规模:1000 queries, 6119 passages
  • 难度:相对简单(实体链接明确)

性能: - NV-Embed-v2:61.5 - HippoRAG:71.8(实体匹配优势) - HippoRAG 2:71.0(持平,因为该数据集不需要更多上下文)

HotpotQA

  • 特点:众包构造,自然问题
  • 规模:1000 queries, 9811 passages

性能: - NV-Embed-v2:75.3(强大的嵌入能力) - HippoRAG:63.5 ❌(-11.8) - HippoRAG 2:75.5(+0.2,超越标准 RAG)

LV-Eval ⭐(最难)

  • 设计亮点减少知识泄露
  • 方法:替换关键词和短语
  • 原始:"Paris is the capital of France"
  • 替换:"Lumos is the capital of Zorland"
  • 规模:124 queries, 22849 passages
  • 意义:测试真正的检索和推理能力,而非记忆

性能对比

NV-Embed-v2:  9.8 F1
HippoRAG:     8.4 F1  
GraphRAG:    11.2 F1 (最好,但仍很低)
HippoRAG 2:  12.9 F1 ✓ (新 SOTA,但绝对值说明任务很难)

关键发现:所有方法在 LV-Eval 上表现都很差(<13),说明现有 RAG 系统高度依赖预训练知识


3. Sense-making (语篇理解)

NarrativeQA

  • 任务:理解全文小说回答问题
  • 规模:10 部小说,293 queries
  • 数据处理:将长篇切分成短 passages(同 LV-Eval)
  • 示例问题:"Cinderella 如何达到她的幸福结局?"
  • 需要理解:
    1. Cinderella 参加舞会
    2. 王子用失落的玻璃鞋寻找她
    3. 鞋子合脚 → 嫁给王子

性能对比

NV-Embed-v2:  25.7 F1 (通过强大语义理解)
RAPTOR:       21.4 F1 (树形摘要有帮助)
GraphRAG:     23.0 F1 (社区摘要有帮助)
HippoRAG:     16.3 F1 ❌ (实体连接无法捕获情节)
HippoRAG 2:   25.9 F1 ✓ (passage nodes 保留上下文)

HippoRAG 失败原因: - 只提取实体:("Cinderella", "attended", "royal ball") - 丢失情节因果:"为什么她能去舞会?"(仙女帮助) - 无法回答"如何"类问题(需要理解事件序列)


核心实验结果

总体性能对比(Llama-3.3-70B 作为 QA 模型)

方法 简单QA (NQ/PopQA) 多跳QA (MuSiQue/2Wiki/HotpotQA/LV-Eval) 语篇理解 (NarrativeQA) 平均
NV-Embed-v2 61.9 / 55.7 45.7 / 61.5 / 75.3 / 9.8 25.7 57.0
RAPTOR 50.7 / 56.2 28.9 / 52.1 / 69.5 / 5.0 21.4 48.8
GraphRAG 46.9 / 48.1 38.5 / 58.6 / 68.6 / 11.2 23.0 49.6
HippoRAG 55.3 / 55.9 35.1 / 71.8 / 63.5 / 8.4 16.3 53.1
HippoRAG 2 63.3 / 56.2 48.6 / 71.0 / 75.5 / 12.9 25.9 59.8

关键发现

  1. HippoRAG 2 是唯一在所有三类任务上都不弱于 NV-Embed-v2 的方法
  2. 简单 QA:+1.4 平均
  3. 多跳 QA:+7.0 平均(MuSiQue +2.9, LV-Eval +3.1)
  4. 语篇理解:+0.2(持平)

  5. 结构增强方法的普遍困境

  6. RAPTOR:MuSiQue 上 -16.8(摘要噪声)
  7. HippoRAG:NarrativeQA 上 -9.4(丢失上下文)
  8. GraphRAG:PopQA 上 -7.6(过度摘要)

  9. LV-Eval 揭示的真相

  10. 所有方法 <13 F1
  11. 最强的 GraphRAG 和 HippoRAG 2 也只有 11-13
  12. 说明 RAG 系统仍高度依赖预训练知识泄露

检索性能分析(Recall@5)

方法 NQ PopQA MuSiQue 2Wiki HotpotQA 平均
BM25 56.1 35.7 43.5 65.3 74.8 55.1
NV-Embed-v2 75.4 51.0 69.7 76.5 94.5 73.4
RAPTOR 68.3 48.7 57.8 66.2 86.9 65.6
HippoRAG 44.4 53.8 53.2 90.4 77.3 63.8
HippoRAG 2 78.0 51.7 74.7 90.4 96.3 78.2

洞察: - HippoRAG 2 比标准 RAG 高 4.8 个点 - MuSiQue 上 +5.0(多跳推理的提升最明显) - PopQA 上持平(实体密集型,HippoRAG 原版已经很强)


效率对比(MuSiQue 11K 文档)

方法 索引时间 查询时间 GPU 内存 Input Tokens Output Tokens
NV-Embed-v2 12.1 min 0.3 s 1.7 GB - -
RAPTOR 100.5 min 0.6 s 1.4 GB 1.7M 0.2M
HippoRAG 57.5 min 0.9 s 6.0 GB 9.2M 3.0M
GraphRAG 277.0 min 10.7 s 3.7 GB 115.5M 36.1M
LightRAG 235.0 min 13.3 s 4.5 GB 68.5M 18.3M
HippoRAG 2 99.5 min 1.2 s 9.9 GB 9.2M 3.0M

分析: - HippoRAG 2 比 GraphRAG 快 2.8×(索引)和 8.9×(查询) - 但比标准 RAG 慢 8× 和 4× - GPU 内存需求是标准 RAG 的 5.8×(存储三元组嵌入)

权衡:性能提升(+2.8 平均 F1)vs 资源消耗(+8× 索引时间)


持续学习实验

实验设计: - 将数据集分成 4 段 - 选 1 段测试,逐步添加其他 3 段 - 模拟知识持续增长

结果

简单 QA(NQ): - HippoRAG 2: 60 → 62 F1 (稳定) - NV-Embed-v2: 52 → 53 F1 (稳定) - 差距保持 ~8 个点

多跳 QA(MuSiQue): - HippoRAG 2: 52 → 45 F1 (-7) - NV-Embed-v2: 48 → 40 F1 (-8) - 都下降,但 HippoRAG 2 始终领先

关键洞察: - 知识增长对复杂任务影响更大(信息过载) - HippoRAG 2 的优势在知识增长时保持稳定 - 未来需要更好的持续学习 benchmark


消融实验

在 Multi-hop QA 上测试各组件贡献

配置 MuSiQue 2Wiki HotpotQA 平均
HippoRAG 2 74.7 90.4 96.3 87.1
w/ NER-to-Node 53.8 91.2 78.8 74.6 (-12.5)
w/ Query-to-Node 44.9 65.5 68.3 59.6 (-27.5)
w/o Passage Nodes 63.7 90.3 88.9 81.0 (-6.1)
w/o Filter 73.0 90.7 95.4 86.4 (-0.7)

结论: 1. Query-to-Triple 最关键:vs NER-to-Node (+12.5) 2. Passage Nodes 重要:提供上下文 (+6.1) 3. LLM Filter 有帮助:但贡献较小 (+0.7)


总结与评价

HippoRAG 2 的突破

首次实现全面领先: - 简单 QA:与最强标准 RAG 持平 - 多跳 QA:领先 +7.0 F1(MuSiQue +2.9, LV-Eval +3.1) - 语篇理解:与最强标准 RAG 持平

Baselines 的教训

  1. RAPTOR:摘要适合语篇理解,不适合精确推理
  2. GraphRAG:过度生成内容引入噪声
  3. HippoRAG:实体中心丢失关系和上下文
  4. 大模型嵌入:7B 规模显著优于小模型(+6.6 F1)

Benchmarks 的价值

  • LV-Eval 揭示知识泄露问题(所有方法 <13)
  • 三维度评估 暴露方法偏差(顾此失彼)
  • 持续学习实验 展示实用性挑战

开放问题

  1. 所有方法在 LV-Eval 上表现极差(泛化能力不足)
  2. 效率与性能的权衡(HippoRAG 2 慢 8×)
  3. LLM 过滤的精度有待提高(26% 误过滤率)
  4. 实际应用场景下的可扩展性仍待验证

论文信息

  • 标题:From RAG to Memory: Non-Parametric Continual Learning for Large Language Models
  • 会议:NeurIPS 2025
  • 机构:The Ohio State University, UIUC
  • 代码:https://github.com/OSU-NLP-Group/HippoRAG

Thanks for Reading

If this article was helpful to you, feel free to connect with me!