HippoRAG如何从大脑获取线索以改进LLM检索
知识存储和检索正在成为大型语言模型(LLM)应用的重要组成部分。虽然检索增强生成(RAG)在该领域取得了巨大进步,但一些局限性仍然没有克服。
俄亥俄州立大学和斯坦福大学的研究团队推出了HippoRAG,这是一种创新性的检索框架,其设计理念源于人类长期记忆系统中的海马索引理论。
HippoRAG的引入使大型语言模型(LLM)应用程序能够更有效地集成动态知识,并更快、更准确地检索重要信息。HippoRAG在多跳(multi-hop)问答等任务上表现出令人印象深刻的性能,对于需要对大型复杂知识图进行组装和推理的LLM应用程序非常有用。
LLM知识整合的挑战
哺乳动物的大脑可以储存大量的知识,并在不丢失以前经验的情况下不断整合新经验。这种长期记忆系统允许人类不断更新他们用于推理和决策的知识。
相比之下,LLM在预训练后的知识整合仍然很困难。虽然RAG已经成为LLM中长期记忆的主流解决方案,但现有的方法在处理新文档时往往采取单独编码的方式,这使得不同来源的知识难以有效集成。
许多应用程序需要跨多个文档进行知识集成。例如,科学文献综述、法律案例简报和医学诊断需要将不同来源中提到的事实和概念相互关联。标准的多跳问答也需要整合各种文档的多个段落之间的信息。
为了完成这些任务,当前的RAG系统使用多个检索和生成步骤来连接不同的段落。然而,即使执行了多步RAG,对于许多知识集成场景来说,也往往是不够的。
HippoRAG
HippoRAG从大脑中的新皮层和海马体之间的生物相互作用中获得灵感,这种相互作用使强大的基于场景的、不断更新的人类大脑记忆成为可能。
根据科学研究,大脑皮层负责处理和存储实际的记忆表征,而海马体则拥有一组相互关联的索引,这些索引指向新皮层中的记忆单元,并储存它们之间的关联性。这两个关键组成部分共同协作,执行“模式分离”和“模式完成”的功能,前者确保不同经历的表征具有独特性,后者则让从部分刺激中检索完整记忆成为可能。
HippoRAG通过使用LLM将文档语料库转换为充当人工海马索引的知识图来模仿这种记忆模型。HippoRAG分为两个阶段,离线索引用于存储信息,在线检索用于将知识整合到用户请求中。
离线索引阶段类似于大脑中的记忆编码,使用指令调优的LLM以知识图三元组的形式从段落中提取重要特征。与传统的RAG管道中使用的密集嵌入相比,这允许更细粒度的模式分离。
人工海马索引是在检索语料库中得到的三元组的基础上建立的开放知识图谱。为了连接这些组件,HippoRAG使用现成的密集编码器进行检索,这些编码器在知识图中相似的名词短语之间提供额外的边缘,以帮助下游模式完成连接。编码器有助于使系统更有弹性和灵活性,因为相同的知识可以用稍微不同的方式表达。
在线检索过程反映了大脑的记忆检索过程。LLM从用户查询中提取显著的命名实体,然后根据检索编码器确定的相似性将其链接到知识图中的节点。然后,HippoRAG使用个性化PageRank算法,这是PageRank的一个版本,它使用一组用户定义的源节点在图中分布概率。这种约束使HippoRAG能够将其输出限制为前一步中选择的候选查询节点集。然后将结果应用于索引的段落,以选择它们进行检索。
HippoRAG的实际应用
研究人员在两项具有挑战性的多跳问答基准测试(MuSiQue和2WikiMultiHopQA)以及HotpotQA数据集上,对HippoRAG的检索能力进行了全面的评估。他们将其与几种强大的检索方法和最近的LLM增强基线进行了比较。
评估结果表明, HippoRAG在单步检索上优于所有其他方法,包括那些基于LLM增强的基线模型。与多步骤检索方法IRCoT相结合时,HippoRAG在相同的数据集上提供高达20%的互补增益。
HippoRAG的一个主要优点是它能够在一个步骤中执行多跳检索。其在线检索过程的成本与目前的迭代检索方法(例如IRCoT)相比低10到30倍,快6到13倍,同时实现了相当的性能。
研究人员在报告中写道:“我们提出的神经生物学原理方法虽然简单,但已经显示出克服标准RAG系统固有局限性的巨大潜力,同时保留了它们相对于参数记忆的优势。HippoRAG在路径跟踪多跳QA和路径发现多跳QA方面的卓越表现,以及其显著的效率提升和持续更新的能力,使其成为了连接标准RAG方法和参数化记忆之间的强大中间框架,为LLM中的长期记忆问题提供了令人信服的解决方案。”
研究人员承认,为了进一步改进HippoRAG,还需要克服一些局限性,例如对其组件进行微调,并进一步验证其对更大知识图谱的可扩展性。然而,当前的研究结果已经证明了神经生物学启发的方法在推进LLM知识整合方面的潜力,并使他们能够对非结构化信息进行更复杂的推理。
知识图谱和LLM的结合是一个非常强大的工具,可以解锁许多应用程序。GNN-RAG是一种将图神经网络(GNN)和知识图与LLM相结合的创新方法,已被证明可以解决许多经典RAG无法解决的复杂推理问题。而将GNN引入HippoRAG可能是未来探索的一个有趣方向。
相关文章:

HippoRAG如何从大脑获取线索以改进LLM检索
知识存储和检索正在成为大型语言模型(LLM)应用的重要组成部分。虽然检索增强生成(RAG)在该领域取得了巨大进步,但一些局限性仍然没有克服。 俄亥俄州立大学和斯坦福大学的研究团队推出了HippoRAG,这是一种创新性的检索框架,其设计理念源于人类…...
求函数最小值-torch版
目标:torch实现下面链接中的梯度下降法 先计算 的导函数 ,然后计算导函数 在处的梯度 (导数) 让 沿着 梯度的负方向移动, 自变量 的更新过程如下 torch代码实现如下 import torchx torch.tensor([7.5],requires_gradTrue) # print(x.gr…...

如何将HEVC格式的视频转换为无损、未压缩的MP4格式视频?
在和大家分享视频格式转换之前,先跟大家分享一下HEVC格式的视频到底是什么文件?压缩原理是什么?了解了它的本质之后,我们就可以知道如何保证视频高清无损了。 如何将HEVC格式的视频转换为无损、未压缩的MP4格式视频? …...

自定义在线活动报名表单小程序源码系统 源代码+搭建部署教程 可二次定制开发
系统概述 在数字化时代,线上活动成为连接用户与组织的重要桥梁。为了高效地管理活动报名流程,一款灵活、易用的在线活动报名表单小程序显得尤为重要。本文旨在为开发者提供一套全面的解决方案,包括自定义在线活动报名表单小程序的源代码分析…...

数据分析入门指南:表结构数据(三)
在数字化转型的浪潮中,表结构数据作为企业决策支持系统的核心要素,其重要性日益凸显。本文深入剖析了表结构数据的本质特征、高效处理策略,并探讨了其在现代商业智能环境中的广泛应用,旨在为数据分析师与决策者提供前沿洞察与实战…...

凌凯科技前五大客户依赖症加剧:研发费用率骤降,应收账款大增
《港湾商业观察》黄懿 6月13日,上海凌凯科技股份有限公司(下称“凌凯科技”)在港交所提交上市申请,拟于主板上市,华泰国际为其独家保荐人。 凌凯科技致力于提供小分子化合物技术和产品解决方案,专注于制药…...

5 科大讯飞AI大赛:热力学定律的电池材料生产参数动态调控
赛题名称:基于热力学定律的电池材料生产参数动态调控挑战赛 赛题类型:数据挖掘 赛题任务:利用时空模型进行建模并预测匣钵实际温度 赛题链接:https://challenge.xfyun.cn/topic/info?typebattery-material&optiontjjg&…...

概论(二)随机变量
1.名词解释 1.1 样本空间 一次具体实验中所有可能出现的结果,构成一个样本空间。 1.2 随机变量 把结果抽象成数值,结果和数值的对应关系就形成了随机变量X。例如把抛一次硬币的结果,正面记为1,反面记为0。有变量相对应的就有自…...

Apache AGE 安装部署
AGE概述 概述 我们可以通过源码安装、拉取docker镜像运行、直接使用公有云三种方式中的任意一种来使用Apache AGE 获取 AGE 发布版本 可以在 https://github.com/apache/age/releases 找到发布版本和发布说明。 源代码 源代码可以在 https://github.com/apache/age 找到…...

Python29 Tensorflow的基本知识和使用
1. TensorFlow TensorFlow 是一个开源的机器学习框架,由 Google Brain 团队开发。它用于数据流图的计算,尤其擅长深度学习任务。在 TensorFlow 中,数据流图(Data Flow Graph)是其核心概念之一,它定义了计算…...

Linux操作系统上用到的磁盘分区管理工具
parted磁盘分区工具 磁盘格式:MBR, GPT, 这两种名称分别是硬盘里面分区表两种格式的称呼, 第一种MBR格式的分区表最大支持2TB的容量, 磁盘的三种分区主分区,扩展分区,逻辑分区,主分区扩展分区<4 第…...

Python数据结构的库之Fuk使用详解
概要 fuk 是一个用于处理 Python 数据结构的库,全称为 "Fast and Uncomplicated Kit"。它提供了一系列高效、简洁的数据结构实现,以及对 Python 内置数据结构的扩展。通过使用 fuk,开发者可以更加方便地处理列表、集合、字典等数据类型,提高代码的执行效率和可读…...

【STM32学习】cubemx配置,串口的使用,串口发送接收函数使用,以及串口重定义、使用printf发送
1、串口的基本配置 选择USART1,选择异步通信,设置波特率 选择后,会在右边点亮串口 串口引脚是用来与其他设备通信的,如在程序中打印发送信息,电脑上打开串口助手,就会收到信息。 串口的发送接收࿰…...

复现MiDAS文章:文章数据和代码
介绍 MiDAS 4: A global catalogue of full-length 16S rRNA gene sequences and taxonomy for studies of bacterial communities in wastewater treatment plants 提供了全套的代码和数据,方便大家复现: github: https://github.com/ msdueholm/MiD…...

【Python专栏】Python的历史及背景介绍
博客主页:Duck Bro 博客主页系列专栏:Python专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Python的背景介绍 关键词:Python、优缺点、领域 目录 …...

web端已有项目集成含UI腾讯IM
通过 npm 方式下载 TUIKit 组件,将 TUIKit 组件复制到自己工程的 src 目录下: npm i tencentcloud/chat-uikit-vue mkdir -p ./src/TUIKit && rsync -av --exclude{node_modules,package.json,excluded-list.txt} ./node_modules/tencentcloud/…...

IF不降反增!审稿速度,比我家网速还快!3本接受率高的医学期刊,赶紧码住!
🔍 为什么选择这3本期刊? 今天老毕给大家分享3本医学 SCI,分别为Tumori Journal、Adipocyte以及Annals of Medicine。 这3本医学杂志,不仅审稿速度快,录用率还高,其中不乏接受率为48%的“毕业神刊”。2024年…...

怎样把视频字幕提取出来?分享4个零门槛的字幕提取工具
暑假正是弯道超车的好机会!相信不少朋友都会选择宅在家自学网课。 不可否认的是,海量学习资源的确可以让学习变得更加便捷与自由。然而,如何高效地吸收和理解在线课程也就成为了一个关键问题。不敢想倘若此时能够拥有一款高效又实用的视频提…...

PostgreSQL 里怎样解决多租户数据隔离的性能问题?
文章目录 一、多租户数据隔离的性能问题分析(一)大规模数据存储和查询(二)并发访问和锁争用(三)索引维护成本高(四)资源分配不均 二、解决方案(一)数据分区&a…...

Oracle执行一条SQL的内部过程
一、SQL语句根据其功能主要可以分为以下几大类: 1. 数据查询语言(DQL, Data Query Language) 功能:用于从数据库中检索数据,常用于查询表中的记录。基本结构:主要由SELECT子句、FROM子句、WHERE子句等组成…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...