自然语言处理:第三十二章HippoRAG:性能提高20% - 受海马体启发的RAG

news2024/11/29 10:34:15

文章链接: HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models

项目地址: OSU-NLP-Group/HippoRAG: HippoRAG is a novel RAG framework inspired by human long-term memory that enables LLMs to continuously integrate knowledge across external documents. (github.com)





人们总能类人的方法上找到突破口,从CNN 到 RNN 再到attention。这次又到了海马体。

摘要

HippoRAG,这是一种由斯坦福大学联合发布的新颖的检索框架,灵感来源于人类长期记忆的海马索引理论。HippoRAG结合了大型语言模型(LLMs)、知识图谱和个性化PageRank算法,以模拟人类记忆中新皮层和海马的不同角色。通过这种方法,HippoRAG能够在新体验中更深入、更高效地整合知识。我们比较了HippoRAG与现有检索增强生成(RAG)方法在多跳问题回答上的性能,结果表明HippoRAG显著优于现有最先进方法,最高提升了20%。此外,HippoRAG的单步检索在成本和速度上都大大优于迭代检索方法(比如说IRCoT),同时还能处理现有方法无法触及的新类型场景。



背景

哺乳动物大脑经过数百万年的进化,发展出了存储大量世界知识并在不断整合新体验的同时避免灾难性遗忘的能力。然而,尽管大型语言模型(LLMs)取得了令人印象深刻的成就,但它们在预训练后仍然难以有效地整合大量新体验。现有的RAG方法无法帮助LLMs执行跨段落边界整合新知识的任务,因为每个新段落都是孤立编码的。HippoRAG的设计灵感来源于海马记忆索引理论,该理论认为人类的强大上下文记忆依赖于新皮层和海马之间的交互。

HippoRAG的主要亮点包括:

  • 单步多跳检索:HippoRAG能够在单次检索中执行多跳推理,这是通过模仿大脑的关联记忆能力实现的,相较于现有RAG方法显著提高了性能, 最高可达20%
  • 效率和成本:与迭代检索方法相比,HippoRAG在在线检索过程中成本更低,速度更快。HippoRAG的单步检索在成本上节 省10-30倍 ,在速度上快 6-13倍 ,并且与IRCoT结合使用可以带来进一步的显著增益。
  • 处理新场景:HippoRAG能够处理现有方法无法解决的新类型场景,这表明了其在知识整合方面的潜力。


核心算法

在这里插入图片描述

HippoRAG的核心算法包括以下几个关键步骤:

  1. 离线索引(offline indexing):使用指令调整的大型语言模型(LLM)作为人工新皮层,通过开放信息提取(OpenIE)从检索语料库中的段落中提取知识图谱(KG)三元组。
    • 新皮层模拟:使用一个指令调整的大型语言模型(LLM),作为人工新皮层,通过开放信息提取(OpenIE)从文档集合中提取知识图谱(KG)三元组。这一过程被称为开放信息提取,它从文档中提取名词短语作为离散信号,而不是密集的向量表示,从而实现更细粒度的模式分离。
    • 知识图谱构建:构建的KG是无模式的(schemaless),允许更灵活的模式分离和新信息整合。
    • 海马索引构建:使用标准的检索编码器(retrieval encoders),这些编码器为KG中的相似但不完全相同的名词短语提供额外的边,帮助下游的模式完成。
  2. 在线检索:使用相同的三个组件执行在线检索,模拟人脑的记忆检索过程。LLM基础的新皮层从查询中提取一组显著的命名实体,这些命名实体与KG中的节点基于检索编码器确定的相似性相连。LLM新皮质从查询中提取命名实体,而海马旁回检索编码器将它们链接到我们的海马体索引。然后我们利用个性化PageRank(PPR)算法:利用PPR算法在KG上运行,使用查询概念作为种子,整合跨段落的信息进行检索。来实现基于上下文的检索,并提取最后的答案。
    • 查询处理:LLM基于新皮层从查询中提取一组显著的命名实体(query named entities),这些实体随后通过检索编码器与KG中的节点链接。
    • 模式完成:选定的查询节点成为部分线索,人工海马体执行模式完成,通过个性化PageRank(PPR)算法在KG上运行,使用查询概念作为种子,整合跨文档的信息进行检索。
    • 个性化PageRank(PPR):PPR算法是一种PageRank的变体,它只通过一组用户定义的源节点(即查询节点)在图中分布概率。这使得PPR输出只偏向于查询节点集,模仿海马体从特定部分线索中提取相关信号。

在这里插入图片描述




结果

单步检索性能。 HippoRAG在MuSiQue和2WikiMultiHopQA上的表现超过了所有基线,并且在挑战性较小的HotpotQA数据集上达到了可比的性能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**在多跳问题回答(QA)**基准测试中,HippoRAG在MuSiQue和2WikiMultiHopQA数据集上的表现显著优于现有RAG方法,提升了大约3%到20%。此外,HippoRAG的在线检索过程比现有的迭代检索方法如IRCoT快6到13倍,同时成本降低了10到30倍。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

成本与速度评测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传




总结

HippoRAG作为一种新型的RAG框架,通过模仿人类记忆中新皮层和海马的交互,提供了一种强大的长期记忆解决方案。它在多跳QA任务上展现出卓越的性能,特别是在单步多跳检索和处理新场景方面。尽管HippoRAG在某些方面仍有改进空间,但其目前的表现已经证明了它作为一种有前景的方法,能够推动大型语言模型在理解和整合知识方面的发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1802181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macbook本地部署 pyhive环境连接 hive用例

前言 公司的测试和生产环境中尚未提供基于Hive的客户端。若希望尝试操作Hive表,目前一个可行的方案是使用Python语言,通过借助pyhive库,您可以对Hive表进行各种操作。以下是一些示例记录供您参考。 一、pyhive是什么? PyHive是一…

电脑提示缺失iUtils.dll文件怎么办,分享几种靠谱的解决方法

在现代科技发展迅猛的时代,电脑已经成为我们生活和工作中不可或缺的工具。然而,随着使用时间的增长,电脑也会出现一些问题,其中之一就是开机时弹出窗口提示找不到iUtils.dll文件。这个问题可能会给用户带来困扰和不便,…

[AIGC] Springboot 自动配置的作用及理由

在详细解释SpringBoot的自动配置之前,先介绍以下背景知识。在创建现代复杂的应用程序时,一个困难的部分是正确地设置您的开发环境。这个问题尤其在Java世界中尤为突出,因为您必须管理和配置许多独立的标准和技术。 当我们谈论Spring Boot的自…

react 基础样式的控制(行内和className)

import ./index.cssconst style{color:red,font-size:150px }function App() {return (<div className"App"><h1>行内样式控制</h1><h1 style{{color:red,font-size:150px}} >asd </h1><span style{style} >asd </span>&l…

二叉排序树--c++

【相关知识】 二叉排序树&#xff08;也称二叉查找树&#xff09;&#xff1a;或者是一棵空的二叉树&#xff0c;或者是具有下列性质的二叉树&#xff1a; ⑴ 若它的左子树不空&#xff0c;则左子树上所有结点的值均小于根结点的值&#xff1b; ⑵ 若它的右子树不空&#xff0c…

基本算法-枚举、模拟、递推(上)

目录 递归实现指数型枚举 题目描述 运行代码 代码思路 递归实现组合型枚举 题目描述 运行代码 代码思路 递归实现排列型枚举 题目描述 运行代码 代码思路 递归实现指数型枚举 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行代码 #include<iostream> …

Java装饰器模式,装饰器模式通常通过创建一个接口和一个或多个实现了该接口的类来开始,然后创建装饰器类,这些类也实现了相同的接口

1、定义一个接口Component public interface Component { void operation(); }2、创建一个实现了Component接口的简单类SimpleComponent public class SimpleComponent implements Component { Override public void operation() { System.out.println("SimpleCom…

【JS重点知识05】正则表达式

本文章目标&#xff1a;学习正则表达式概念及语法&#xff0c;编写简单的正则表达式实现字符查找或检测&#xff1b; 一&#xff1a;正则表达式简介 1 什么是正则表达式 是用于匹配字符串中字符组合的模式。在JS中&#xff0c;正则表达式也是对象 2 正则表达式作用 表单验…

【C#】WinForm关闭新(二级)界面使主程序关闭

参考视频&#xff1a;https://www.bilibili.com/video/BV1JY4y1G7jo?p14&vd_source1c57ab1b2e551da5b65c0dfb0f05a493 1.背景介绍 主程序界面&#xff0c;点击弹出二级界面&#xff08;同时隐藏主界面&#xff09;&#xff0c;不做任何设置&#xff0c;这时关闭二级界面…

FM1202,FM020和利时备品

FM1202,FM020和利时备品,统硬件设备、数据库、控制算法、图形、报表&#xff09;和相关系统参数的设置。对整个系统进行监视和控制。操作员站主要完成以下FM1202,FM020和利时备品,各种监视信息的显示、查询和打印&#xff0c;主要有工艺流程图显示、趋势显示、参数列表显示、报…

将二叉排序树转换成双向链表--c++【做题记录】

【问题描述】 编写程序在不增加结点的情况下&#xff0c;将二叉排序树转换成有序双向链表&#xff08;如下图&#xff09;。 链表创建结束后&#xff0c;按照从前往后的顺序输出链表中结点的内容。 【输入输出】 【输入形式】 第一行输入数字n&#xff0c;第二行输入n个整数…

【CS.SE】浅谈: 程序员的职业素养与成长之路

文章目录 1 引言2 持续学习与自我提升2.1 永无止境的学习之路2.2 真实案例&#xff1a;自学Python 3 团队合作与沟通能力3.1 高效沟通是团队成功的基石 4 责任心与职业道德4.1 责任心&#xff1a;代码背后的承诺4.2 真实案例&#xff1a;修复紧急Bug 5 适应变化与快速反应5.1 适…

Linux安装MySQL教程【带图文命令巨详细】

巨详细Linux安装MySQL 1、查看是否有自带数据库或残留数据库信息1.1检查残留mysql1.2检查并删除残留mysql依赖1.3检查是否自带mariadb库 2、下载所需MySQL版本&#xff0c;上传至系统指定位置2.1创建目录2.2下载MySQL压缩包 3、安装MySQL3.1创建目录3.2解压mysql压缩包3.3安装解…

用Python代码锁定Excel单元格以及行和列

Excel能够帮助用户高效地组织数据&#xff0c;还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁&#xff0c;保护数据的准确性和完整性变得尤为重要。在Excel表格中&#xff0c;我们可以通过锁定特定的单元格或区域&#xff0c;防止对单元格内容进行随意修改&#xf…

2024年全国大学生数据统计与分析竞赛B题论文和代码:电信银行卡诈骗检测数据分析和机器学习模型构建

2024年全国大学生数据统计与分析竞赛B题论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#x…

人工智能--Foxmail邮箱使用方法

目录 &#x1f349;Foxmail全面指南 &#x1f349;下载与安装 &#x1f348;下载软件 &#x1f348;安装软件 &#x1f349;配置邮箱 &#x1f348;启动 Foxmail &#x1f348;添加邮箱账户 &#x1f348;手动配置邮箱 &#x1f34d;接收邮件服务器 (IMAP/POP3) &…

亘古真知

目录 一&#xff0c;概述 二&#xff0c;个人面板 三&#xff0c;科技面板 四&#xff0c;手牌 五&#xff0c;回合 1&#xff0c;行动 &#xff08;1&#xff09;打造 &#xff08;2&#xff09;学习 &#xff08;3&#xff09;归档 &#xff08;4&#xff09;挖掘 …

麒麟操作系统运维工程师(KYCP)课程,实现职业突破

在IT行业中&#xff0c;掌握先进的技能和知识是实现职业突破的关键。如果你希望在麒麟操作系统上成为一名卓越的运维工程师&#xff0c;那么麒麟操作系统运维工程师&#xff08;KYCP&#xff09;课程将是你的理想全面提升学员在麒麟操作系统环境下的运维能力。课程内容涵盖安全…

如何提高网站访问量?

提高网站访问量通常需要一个多方面的策略&#xff0c;涉及SEO、内容营销、社交媒体和其他网络营销手段&#xff0c;而我们仅从seo入手来说说 关键词优化是SEO的核心&#xff0c;它确保网站能够针对潜在用户的搜索查询进行优化。这不仅涉及在网站内容中使用正确的关键词 还需要…

Lua移植到标准ANSI C环境

本文目录 1、引言2、环境准备2.1 源码下载2.2 项目构建环境准备 3、项目编译3.1 添加main.c3.2 Kconfig选择模块3.3 项目构建3.4 项目编译 4、运行 文章对应视频教程&#xff1a; 在下方喔 ~~~ 欢迎关注 点击图片或链接访问我的B站主页~~~ lau解释器移植与功能验证 1、引言 本…