HippoRAG 2:从RAG到记忆——大模型的非参数化持续学习

HippoRAG 2:从RAG到记忆——大模型的非参数化持续学习

今天我们将探讨一篇RAG的论文,主题是大模型的非参数化持续学习框架——HippoRAG 2。该研究针对大模型在吸收新知识和避免灾难性遗忘方面的挑战,提出了一种新的方法,模拟人类长期记忆的动态性和关联性。HippoRAG 2在事实记忆、语义理解和关联记忆任务上的表现好于标准检索增强生成(RAG)方法,为大模型的持续学习提供了新的可能性。

1. 基本信息

  • 论文标题《从RAG到记忆:大模型的非参数化持续学习》(From RAG to Memory: Non-Parametric Continual Learning for Large Language Models)

  • 作者包括Bernal Jiménez Gutiérrez、Yiheng Shu、Weijian Qi、Sizhe Zhou和Yu Su,分别来自俄亥俄州立大学(The Ohio State University)和伊利诺伊大学厄巴纳-香槟分校(University of Illinois Urbana-Champaign)。

  • GitHub地址为https://github.com/OSU-NLP-Group/HippoRAG

2. 研究背景

近年来,大模型在自然语言处理领域取得了显著进展,涵盖从对话生成到复杂推理的多种任务。但在持续学习方面,大模型仍面临较大挑战。

其他持续学习方法通常分为三类:持续微调、模型编辑和RAG。

  • 持续微调(Continual fine-tuning)涉及定期用新数据对大型语言模型进行训练。可以通过像持续预训练、指令微调和对齐微调等方法实现。虽然整合了新的语言模式和推理技能,但持续微调受到灾难性遗忘的影响,即随着新数据的引入而丢失先前学到的知识。此外,其计算费用使得频繁更新对现实世界的应用来说也不具备可操作性。

  • 模型编辑技术(Model editing)提供了一个更轻量级的替代方案,通过直接修改模型中的特定参数来更新其知识。然而,这些更新高度局部化,对与更新相关联的信息影响很小。

  • 检索增强生成(Retrieval-Augmented Generation)作为连续学习的一个可扩展且实用的替代方案。与其修改大型语言模型(LLM)本身,不如在推理时检索相关的外部信息,允许实时适应新知识

总的来说,传统方法如持续微调和模型编辑试图通过更新参数来融入新知识,但往往因灾难性遗忘和高计算成本而受限。例如,实验表明,持续微调可能导致模型遗忘早期训练数据中的知识,而模型编辑的更新效果通常局限于局部,难以全面关联相关信息。检索增强生成(RAG)因其非参数化特性成为解决这一问题的热门方案,通过在推理时检索外部信息,避免直接修改模型参数。但标准RAG依赖向量检索,难以捕捉人类长期记忆中的语义理解和关联性,特别是在处理多跳推理或长篇语篇时表现不足。

针对这些局限性,近年来的研究提出了多种结构增强的RAG方法。例如,RAPTOR通过生成摘要整合信息,GraphRAG则利用知识图谱(KG)增强检索过程。尽管这些方法在语义理解或关联性任务上有所改进,但实验表明,它们在基本事实记忆任务上的性能下降,未能实现全面的记忆能力。HippoRAG 2的研究动机源于此,旨在设计一种框架,既能保持事实记忆的准确性,又能提升语义理解和关联记忆的深度,从而更接近人类长期记忆的动态特性

GraphRAG是一种利用知识图谱增强检索增强生成(RAG)的方法,旨在通过结构化数据提升大模型的全局理解和推理能力。该方法通过大模型从源文档中提取实体、关系和声明,构建一个实体知识图谱。这种图结构不仅捕捉了实体间的直接关系,还通过社区检测技术识别出实体群组,生成社区摘要以提供高层次的语义信息。在检索阶段,GraphRAG利用图的结构信息进行上下文感知的检索,能够处理需要跨整个数据集进行信息汇总的复杂查询。相较于传统的RAG方法,GraphRAG在处理全局性问题时表现出色,能够生成更连贯和全面的回答,特别适用于需要深入语义理解的场景。

LightRAG是一种将图结构融入文本索引和检索过程的RAG系统,旨在提升大模型在处理复杂查询时的效率和准确性。该方法采用双层检索框架,结合低级和高级知识发现,增强了信息检索的全面性。通过将图结构与向量表示相结合,LightRAG能够高效检索相关实体及其关系,显著提高响应速度,同时保持上下文的相关性。此外,LightRAG引入了增量更新算法,确保系统能够及时整合新数据,适应快速变化的数据环境。实验表明,LightRAG在多个领域的数据集上超越了传统RAG和GraphRAG,尤其在处理大规模语料库和复杂查询时表现出色,提供了更准确和多样化的回答。

3. 方法(重点内容)

HippoRAG 2的提出源于标准RAG和现有改进方法在模拟人类记忆方面的不足。标准RAG依赖向量检索,虽然简单高效,但无法处理复杂的上下文关联;而结构增强方法虽有所进步,但牺牲了事实记忆的性能。基于此,HippoRAG 2在前作HippoRAG的基础上,结合个性化PageRank(PPR)算法、深入的段落集成和有效的在线大模型使用,构建了一个更强大的非参数化持续学习框架。这一框架通过离线索引和在线检索两个阶段实现,其设计灵感来源于人类大脑的神经机制。

离线索引

在离线索引阶段,HippoRAG 2首先利用大模型从每个段落中提取开放三元组(如(subject, relation, object)),并将其整合到一个无模式的开放KG中。KG包含两类节点:

  • 短语节点(phrase nodes),代表概念;

  • 段落节点(passage nodes),保留上下文信息。

此外,通过编码器检测短语间的同义关系并添加同义边(synonym edges),实现跨段落的信息互联。段落节点通过"contains"边与从中提取的短语节点相连。这种设计借鉴了大脑的密集与稀疏编码理论,其中短语节点类似稀疏编码,提供简洁的概念表示,而段落节点类似密集编码,保留丰富的上下文细节。最终,KG整合了概念的原子性和上下文的全面性,为后续检索奠定了基础。

在线检索

在线检索是HippoRAG 2的核心,分为以下步骤:

  1. 通过"Query to Triple"过程,编码器将查询与KG中的三元组匹配,识别潜在种子节点。与HippoRAG依赖NER(命名实体识别)不同,HippoRAG 2直接匹配整个查询,捕获更丰富的上下文。

  2. 通过"Recognition Memory"机制,大模型过滤检索到的三元组,仅保留与查询高度相关的部分,模拟人类记忆中的识别过程,减少噪声干扰。

  3. 利用个性化PageRank(PPR)算法在KG上进行上下文感知检索。PPR通过随机游走计算节点的重要性,公式如下:

    其中,是节点的PageRank分数,是阻尼因子(通常设为0.5),是连接到的节点集合,是的出度。PPR通过种子节点的个性化初始化,发现多跳关联的段落。

  4. 根据PageRank分数对段落排序,选出得分最高的段落用于下游任务。

与现有方法的对比

与标准RAG相比,HippoRAG 2通过KG和PPR实现了关联性推理,而非仅依赖向量相似性。与GraphRAG等方法不同,其KG直接辅助检索而非扩展语料库,避免了生成噪声的干扰。相较于HippoRAG,HippoRAG 2通过段落节点的整合和识别记忆机制,显著提升了上下文感知能力

4. 实验与发现

HippoRAG 2的实验在多个基准数据集上进行,包括:

  • 简单QA任务:NaturalQuestions、PopQA;

  • 多跳QA任务:MuSiQue、2Wiki、HotpotQA、LV-Eval;

  • 语篇理解任务:NarrativeQA。

这些数据集覆盖事实记忆、语义理解和关联记忆三个维度,样本数量从124到1000不等,语料库段落数在4111到22849之间(详见论文Table 1)。评估指标包括检索任务的Recall@5和QA任务的F1分数,实验使用Llama-3.3-70B-Instruct作为提取和过滤模型,NV-Embed-v2作为检索器,确保结果的可重复性。

实验表明,HippoRAG 2在所有基准上均好于基线方法。以下是部分关键数据(论文Table 2和Table 3):

  • 在简单QA任务中,HippoRAG 2在NaturalQuestions上的F1分数为63.3,PopQA为56.2,略高于NV-Embed-v2的61.9和55.7;

  • 在多跳QA任务中,其在MuSiQue上的Recall@5为74.7(比NV-Embed-v2高5.0%),2Wiki为90.4(高13.9%),HotpotQA为96.3;

  • 在语篇理解任务NarrativeQA上,F1分数达25.9,表现最好。

这些数据表明,HippoRAG 2在保持事实记忆能力的同时,显著提升了关联性和语义理解能力。

进一步分析显示,HippoRAG 2的优越性具有统计显著性。例如,在减少知识泄漏的挑战性数据集LV-Eval上,其F1分数为12.9,远高于NV-Embed-v2的7.8,凸显了其在复杂场景中的鲁棒性。对比HippoRAG,其改进版本在多跳任务上的提升尤为明显,验证了方法设计的有效性。

5. 结论与展望

HippoRAG 2通过整合个性化PageRank算法、段落节点和识别记忆机制,成功构建了一个接近人类长期记忆的RAG框架。其核心贡献在于实现了事实、语义和关联记忆的全面提升,为大模型的非参数化持续学习提供了新范式。实验表明,该框架在多种任务中表现出色,尤其在多跳推理和语篇理解方面具有显著优势

HippoRAG 2的研究方向值得进一步探索。例如,将episodic memory融入框架,可能实现对话中的动态记忆能力,推动大模型在长时交互中的应用。此外,结合领域自适应技术,HippoRAG 2有望在特定场景(如法律、医疗)中展现更大潜力,为AI的实用化迈出重要一步。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

### HippoRAG 部署指南 HippoRAG 是一种先进的检索增强生成框架,在处理复杂查询和多模态数据方面表现出色。以下是关于如何部署 HippoRAG 的详细介绍。 #### 1. 环境准备 在开始之前,需确保环境满足以下条件: - Python 版本应为 3.8 或更高版本。 - 安装必要的依赖库,例如 `transformers` 和 `torch`,这些可以通过 pip 进行安装[^1]。 ```bash pip install transformers torch faiss-cpu ``` #### 2. 数据预处理 HippoRAG 使用的知识库通常由结构化三元组和非结构化段落组成。因此,需要对原始数据进行清洗和转换以便于后续索引构建。具体操作如下: - 将文档拆分为较小的片段(如句子或段落),并提取其中的关键实体形成三元组形式 (主体, 关系, 对象)[^2]。 - 利用编码器模型对上述单元进行向量化表示存储至矢量数据库中待查。 #### 3. 构建索引 为了加速检索过程,可以借助 FAISS 或 Annoy 等工具创建高效的近似最近邻搜索索引。此步骤对于大规模知识库尤为重要因为能够显著降低计算成本同时保持较高的召回率水平。 #### 4. 查询服务搭建 当一切就绪之后就可以着手开发支持实时交互的服务接口了。一般推荐使用 FastAPI 来快速实现 RESTful API 并集成前端界面方便用户提交请求获取响应结果。 ```python from fastapi import FastAPI app = FastAPI() @app.post("/query/") async def query_endpoint(query: str): # 调用 HippoRAG 处理逻辑返回答案 result = hipporag_process(query) return {"response": result} ``` #### 5. 测试优化 最后不要忘记进行全面的功能性和性能测试以发现可能存在的问题并及时调整参数配置直至达到满意的效果为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值