HippoRAG:受海马体启发的长时记忆模型,提升大语言模型的知识整合能力

ops/2025/1/23 16:53:49/

论文地址:https://arxiv.org/pdf/2405.14831

1. 背景与挑战

1.1 哺乳动物大脑与长时记忆
  • 进化优势: 哺乳动物的大脑进化出强大的长时记忆系统,能够存储大量关于世界的知识,并不断整合新信息,同时避免灾难性遗忘。
  • 知识整合能力: 这种记忆系统使人类能够积累持续更新的知识库,为推理和决策提供基础。
1.2 大语言模型 (LLM) 的局限性
  • 缺乏持续更新的长时记忆: 尽管 LLM 在近年来取得了巨大进步,但它们仍然缺乏类似哺乳动物大脑的持续更新长时记忆系统。
  • RAG 的局限性:
    • 现状: 检索增强生成 (RAG) 已成为 LLM 长时记忆的默认解决方案,允许用户向静态模型提供新知识。
    • 问题: 现有 RAG 方法无法有效整合跨段落边界的知识,因为每个新段落都是独立编码的。
    • 影响: 许多现实世界的任务,如科学文献综述、法律案例摘要和医学诊断,都需要跨段落或文档的知识整合。

2. HippoRAG:受海马体启发的 RAG 框架

2.1 灵感来源:海马体记忆索引理论
  • 理论核心:
    • 海马体: 负责存储海马体索引,即一组相互连接的索引,指向新皮层上的记忆单元,并存储它们之间的关联。
    • 新皮层: 处理和存储实际的记忆表征。
    • 模式分离: 确保不同感知体验的表征是唯一的。
    • 模式完成: 能够从部分刺激中检索完整的记忆。
  • 工作原理:
    • 海马体索引通过改变海马体索引而不是更新新皮层表征来整合新信息。
    • 当海马体接收到来自 PHR 管道的部分感知信号时,它会利用其上下文依赖的记忆系统来识别海马体索引中完整且相关的记忆,并将其路由回新皮层进行模拟。
2.2 HippoRAG 的设计理念

HippoRAG 旨在模拟上述人类记忆模型,为 LLM 提供长时记忆。其设计包含三个主要组件,分别对应于人类长时记忆的三个组成部分:

  1. 离线索引 (Offline Indexing):

    • 人工新皮层: 使用强大的指令微调 LLM 将语料库转换为无模式知识图谱 (KG),作为人工海马体索引。
      • 过程: 使用 OpenIE 从每个段落中提取显着信号作为离散名词短语,而不是密集向量表示。
      • 优势: 允许更细粒度的模式分离。
    • 人工海马体索引: 构建在检索语料库上的开放 KG。
    • 人工 PHR: 使用为检索微调的现成密集编码器 (检索编码器) 为 KG 中的相似但不相同的名词短语添加额外的同义关系边,以帮助下游的模式完成。
  2. 在线检索 (Online Retrieval):

    • 过程模拟: 模仿人脑的记忆检索过程。
      • 输入处理: LLM 提取查询中的显着命名实体 (查询命名实体)。
      • 实体链接: 使用检索编码器将查询命名实体链接到 KG 中的节点 (查询节点)。
      • 模式完成:
        • PPR 算法: 在 KG 上运行 PPR 算法,使用查询节点作为种子,模拟海马体从特定部分线索中提取关联信号的过程。
          • 优势: 能够在单个检索步骤中执行多跳推理。
        • 概率分布: PPR 输出更新后的节点概率分布。
        • 段落排序: 将 PPR 节点概率与之前定义的 P 矩阵相乘,得到每个段落的排序分数,用于检索。
  3. 节点特异性 (Node Specificity):

    • 概念: 一种更符合神经生物学原理的方法,用于进一步提高检索性能。
    • 实现: 将每个查询节点概率与节点特异性值相乘,然后再进行 PPR。
      • 节点特异性: 定义为节点提取的段落数量的倒数。
      • 优势: 仅需要局部信号,更符合神经生物学原理。

3. 实验结果与分析

3.1 数据集与基线
  • 数据集:
    • MuSiQue: 包含多跳问答 (QA) 问题,需要整合跨段落的信息。
    • 2WikiMultiHopQA: 以实体为中心的多跳 QA 数据集。
    • HotpotQA: 多跳 QA 数据集,但知识整合要求较低。
  • 基线方法:
    • 单步检索: BM25、Contriever、GTR、ColBERTv2、RAPTOR、Propositionizer。
    • 多步检索: IRCoT。
3.2 主要发现
  • 单步检索性能:
    • 优势: HippoRAG 在 MuSiQue 和 2WikiMultiHopQA 上均优于所有基线方法,在 HotpotQA 上也表现出竞争力【表 2】。
      • MuSiQue: R@2 和 R@5 分别提高了约 3%。
      • 2WikiMultiHopQA: R@2 和 R@5 分别提高了 11% 和 20%。
    • 原因分析:
      • 2WikiMultiHopQA 的实体中心设计特别适合 HippoRAG。
      • HotpotQA 的知识整合要求较低,且存在概念与上下文之间的权衡问题。
  • 多步检索性能:
    • 互补性: HippoRAG 与 IRCoT 互补,结合使用可带来显著的性能提升【表 3】。
      • MuSiQue: R@5 提高了约 4%。
      • 2WikiMultiHopQA: R@5 提高了 18%。
      • HotpotQA: R@5 提高了 1%。
  • 问答性能:
    • 单步检索: HippoRAG 的 F1 分数在 MuSiQue、2WikiMultiHopQA 和 HotpotQA 上分别提高了 3%、17% 和 1%【表 4】。
    • 多步检索: IRCoT + HippoRAG 的 F1 分数在 MuSiQue、2WikiMultiHopQA 和 HotpotQA 上分别提高了 3%、18% 和 1%。
    • 效率: 单步 HippoRAG 的在线检索成本仅为 IRCoT 的 1/10 到 1/30,速度却快了 6 到 13 倍【附录 G】。
3.3 深入分析
  • HippoRAG 的优势:
    • 单步多跳检索能力:
      • 原因: HippoRAG 能够通过 PPR 算法在单个检索步骤中执行多跳推理。
      • 证据: 在 MuSiQue 和 2WikiMultiHopQA 上,所有支持段落成功检索的查询百分比均有所提高【表 6】。
    • 路径查找多跳检索能力:
      • 案例: 在“哪个斯坦福大学教授从事阿尔茨海默病神经科学研究?”这个问题中,HippoRAG 能够利用 Thomas Sdhof 教授与阿尔茨海默病研究的关联,成功检索到相关段落,而 ColBERTv2 和 IRCoT 则无法做到【表 7】。
      • 原因: HippoRAG 利用其海马体索引中的关联网络和图搜索算法来确定相关实体并检索其段落。

4. 消融实验与误差分析

4.1 消融实验
  • OpenIE 替代方案:
    • REBEL: 性能大幅下降,表明 LLM 的灵活性至关重要【表 5】。
    • Llama-3.1: 8B 版本在除 2Wiki 之外的所有数据集上与 GPT-3.5 性能相当,70B 版本在两个数据集上优于 GPT-3.5。
    • 结论: Llama-3.1 提供了更经济的索引大型语料库的选择。
  • PPR 替代方案:
    • 仅使用查询节点: 性能下降,表明 PPR 在整合关联信息方面更有效。
    • 添加查询节点邻居: 性能进一步下降,表明 PPR 的重要性。
  • 消融分析:
    • 节点特异性: 在 MuSiQue 和 HotpotQA 上带来显著提升,但在 2WikiMultiHopQA 上几乎没有变化。
    • 同义关系边: 对 2WikiMultiHopQA 影响最大,表明在大多数相关概念是命名实体时,噪声实体标准化是有用的。
4.2 误差分析
  • 主要误差来源:
    • NER 限制: 48% 的误差是由于 NER 设计无法从查询中提取足够的信息进行检索。
    • OpenIE 错误: 28% 的误差是由于 OpenIE 错误,例如忽略了关键信息或未准确捕获时间属性。
    • PPR 误差: 24% 的误差是由于 PPR 算法无法识别相关子图,通常是由于混淆信号造成的。

5. 结论与未来工作

  • 优势:

    • 知识整合能力: 在路径跟踪多跳 QA 上表现出色,在路径查找多跳 QA 上也展现出潜力。
    • 效率提升: 显著提高了效率,并具有持续更新的特性。
    • 神经生物学原理: 提供了 LLM 长时记忆的神经生物学原理框架。
  • 局限性:

    • 组件微调: 所有组件都是现成的,没有进行额外训练,未来可以通过组件微调来提高方法的实用性。
    • OpenIE 一致性: 需要改进 OpenIE 在较长文档中的一致性。
    • 可扩展性: 未来需要进一步验证 HippoRAG 的可扩展性。
  • 未来方向:

    • 图遍历改进: 探索允许关系直接指导图遍历的方法。
    • OpenIE 改进: 改进 OpenIE 性能,特别是在处理长文档时。
    • PPR 优化: 研究更复杂的图搜索算法以提高检索效率。
    • 多模态整合: 将 HippoRAG 扩展到多模态领域,例如整合视觉信息。

6. 图表总结

图 1: 知识整合与 RAG

图 2: HippoRAG 方法详细流程

图 3: HippoRAG 流程示例 (问题与注释)

图 4: HippoRAG 流程示例 (索引)

图 5: HippoRAG 流程示例 (检索)

图 6: 候选段落 (干扰项和支持段落) 的相似度分数密度

表 1: 每个数据集的检索语料库和提取的 KG 统计数据
数据集# Passages §# Unique Nodes (N)# Unique Edges (E)# Unique Triples# Contriever Synonym Edges (E’)# ColBERTv2 Synonym Edges (E’)
MuSiQue11,65691,72921,714107,448145,990191,636
2Wiki6,11942,6947,86750,671146,02082,526
HotpotQA9,22182,15717,52398,709159,112171,856
表 2: 单步检索性能
模型RetrieverMuSiQue2WikiHotpotQAAverage
R@2R@5R@2R@5R@2R@5R@2R@5
BM25 [69]32.341.251.861.955.472.246.558.4
Contriever [35]34.846.646.657.557.275.546.259.9
GTR [53]37.449.160.267.959.473.352.363.4
ColBERTv2 [70]37.949.259.268.264.779.353.965.6
RAPTOR [71]35.745.346.353.858.171.246.756.8
RAPTOR (ColBERTv2)36.946.557.364.763.175.6
Proposition [10]37.649.356.463.158.771.150.961.2
Proposition (ColBERTv2)37.850.155.964.963.978.1
HippoRAG (Contriever)41.052.171.589.559.076.257.272.6
HippoRAG (ColBERTv2)40.951.970.789.160.577.757.472.9
表 3: 多步检索性能
模型RetrieverMuSiQue2WikiHotpotQAAverage
R@2R@5R@2R@5R@2R@5R@2R@5
IRCoT + BM25 (Default)34.244.761.275.665.679.053.766.4
IRCoT + Contriever39.152.251.663.865.981.652.265.9
IRCoT + ColBERTv241.753.764.174.467.982.057.970.0
IRCoT + HippoRAG (Contriever)43.956.675.393.465.882.361.777.4
IRCoT + HippoRAG (ColBERTv2)45.357.675.893.967.083.062.778.2
表 4: QA 性能
RetrieverMuSiQue2WikiHotpotQAAverage
EMF1EMF1EMF1EMF1
None12.524.131.039.630.442.824.635.5
ColBERTv215.526.433.443.343.457.730.842.5
HippoRAG (ColBERTv2)19.229.846.659.541.855.035.948.1
IRCoT (ColBERTv2)19.130.535.445.145.558.433.344.7
IRCoT + HippoRAG (ColBERTv2)21.933.347.762.745.759.238.451.7
表 5: HippoRAG 消融实验
模型MuSiQue2WikiHotpotQAAverage
R@2R@5R@2R@5R@2R@5R@2R@5
HippoRAG40.951.970.789.160.577.757.472.9
REBEL [34]31.739.663.176.543.959.246.258.4
Llama-3.1-8B-Instruct [1]40.851.962.577.559.975.154.467.8
Llama-3.1-70B-Instruct [1]41.853.768.885.360.878.657.172.5
PPR Alternatives: Rq Nodes Only37.141.059.161.455.966.250.756.2
PPR Alternatives: Rq Nodes & Neighbors25.438.553.474.747.864.542.259.2
Ablations: w/o Node Specificity37.650.270.188.856.373.754.770.9
Ablations: w/o Synonymy Edges40.250.269.285.659.175.756.270.5

7. 总结

HippoRAG 是一种受神经生物学原理启发的 RAG 框架,通过模拟人类长时记忆的机制,显著提升了 LLM 的知识整合能力。其在多跳 QA 上的出色表现和效率提升,使其成为 LLM 长时记忆的有力解决方案。


http://www.ppmy.cn/ops/152510.html

相关文章

代码随想录day15

110. 知道平衡二叉树的概念即可。 /** lc appleetcode.cn id110 langcpp** [110] 平衡二叉树*/// lc codestart /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nul…

AI赋能前端性能工程:突破技术边界,迈向智能化开发

前端性能工程对于用户体验至关重要。一个加载缓慢、反应迟钝的网站会直接导致用户流失,影响业务转化率。然而,在快速迭代的现代前端开发中,我们常常面临着效率瓶颈:代码冗余、资源加载缓慢、渲染性能低下等问题层出不穷。传统的手…

青少年CTF练习平台 PHP的XXE

访问靶场是个phpinfo()页面 题目提示是PHP的XXE&#xff0c;访问simplexml_load_string.php文件 get请求是空白&#xff0c;要使用post方法请求 尝试读取文件,读取/etc/passwd文件 <?xml version"1.0" encoding"utf-8" ?> <!DOCTYPE xxe [ &l…

Qt调用ffmpeg库实时播放rtmp或rtsp视频流

参考链接 https://blog.csdn.net/u012532263/article/details/102736700

并发任务管理:`submit()` 和 `invokeAll()` 的对比

并发任务管理&#xff1a;submit() 和 invokeAll() 的对比 在 Java 中&#xff0c;使用多线程执行并发任务是提高性能的常用手段。本文将深入探讨 submit() 和 invokeAll() 的使用场景、执行方式及其优缺点&#xff0c;并通过示例和对比帮助理解如何在实际开发中选择合适的方法…

机器学习练习day1

使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测 KNN算法有三要素&#xff1a;1.K值选择&#xff1b;2.距离选择&#xff1b;3.分类规则选择。 步骤1 导入数据集 步骤2 将数据集设置标签 步骤3 设置超参数 代码 from sklearn.neighbors import KNei…

Dart语言的云计算

Dart语言在云计算中的应用与发展 引言 随着云计算技术的迅猛发展&#xff0c;越来越多的开发者和企业开始关注如何利用云计算实现更高效的应用程序开发。在众多编程语言中&#xff0c;Dart语言因其独特的特性与优势&#xff0c;逐渐成为云计算开发领域中的一种热门选择。本文…

【深度学习基础】多层感知机 | 多层感知机的实现

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…