当前位置: 首页 > news >正文

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磁盘分区工具 磁盘格式&#xff1a;MBR, GPT, 这两种名称分别是硬盘里面分区表两种格式的称呼&#xff0c; 第一种MBR格式的分区表最大支持2TB的容量&#xff0c; 磁盘的三种分区主分区&#xff0c;扩展分区&#xff0c;逻辑分区&#xff0c;主分区扩展分区<4 第…...

Python数据结构的库之Fuk使用详解

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

【STM32学习】cubemx配置,串口的使用,串口发送接收函数使用,以及串口重定义、使用printf发送

1、串口的基本配置 选择USART1&#xff0c;选择异步通信&#xff0c;设置波特率 选择后&#xff0c;会在右边点亮串口 串口引脚是用来与其他设备通信的&#xff0c;如在程序中打印发送信息&#xff0c;电脑上打开串口助手&#xff0c;就会收到信息。 串口的发送接收&#xff0…...

复现MiDAS文章:文章数据和代码

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

【Python专栏】Python的历史及背景介绍

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

web端已有项目集成含UI腾讯IM

通过 npm 方式下载 TUIKit 组件&#xff0c;将 TUIKit 组件复制到自己工程的 src 目录下&#xff1a; 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本接受率高的医学期刊,赶紧码住!

&#x1f50d; 为什么选择这3本期刊&#xff1f; 今天老毕给大家分享3本医学 SCI&#xff0c;分别为Tumori Journal、Adipocyte以及Annals of Medicine。 这3本医学杂志&#xff0c;不仅审稿速度快&#xff0c;录用率还高&#xff0c;其中不乏接受率为48%的“毕业神刊”。2024年…...

怎样把视频字幕提取出来?分享4个零门槛的字幕提取工具

暑假正是弯道超车的好机会&#xff01;相信不少朋友都会选择宅在家自学网课。 不可否认的是&#xff0c;海量学习资源的确可以让学习变得更加便捷与自由。然而&#xff0c;如何高效地吸收和理解在线课程也就成为了一个关键问题。不敢想倘若此时能够拥有一款高效又实用的视频提…...

PostgreSQL 里怎样解决多租户数据隔离的性能问题?

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

Oracle执行一条SQL的内部过程

一、SQL语句根据其功能主要可以分为以下几大类&#xff1a; 1. 数据查询语言&#xff08;DQL, Data Query Language&#xff09; 功能&#xff1a;用于从数据库中检索数据&#xff0c;常用于查询表中的记录。基本结构&#xff1a;主要由SELECT子句、FROM子句、WHERE子句等组成…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

PydanticAI快速入门示例

参考链接&#xff1a;https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...