人工智能长期记忆的新突破:HippoRAG的创新框架

人工智能咨询培训老师叶梓 转载标明出处

大模型(LLMs)在预训练后,如何有效地整合大量新经验,同时避免灾难性遗忘,一直是人工智能领域的难题。尽管已有的检索增强生成(RAG)方法为LLMs提供了长期记忆的解决方案,但这些方法在处理需要跨段落整合新知识的复杂任务时仍然力不从心。图1通过一个例子说明,如果要找到一个既与斯坦福大学有关又研究阿尔茨海默病的教授,当前的RAG系统由于孤立地编码每个段落,很难找到这位教授,除非一个段落同时提到这两个特征。这与人类大脑的关联记忆能力形成对比,人类可以迅速通过海马体的索引结构(上图中的C形结构)回忆起这位教授。

为了解决这一挑战,来自俄亥俄州立大学和斯坦福大学的研究人员提出了一种名为HippoRAG的新型检索框架,灵感来源于人类长期记忆的海马索引理论。

方法

海马记忆索引理论详细描述了人类长期记忆中的三个关键组成部分:新皮层、海马旁区域(PHR),以及海马体。这三个部分协同工作,实现了模式分离和模式完成两个主要目标。模式分离确保不同感知经验的表征是独特的,而模式完成则允许从部分刺激中检索完整的记忆。

图2 展示了HippoRAG如何模仿这一过程,包括以下两个阶段:

  1. 离线索引阶段:类似于人类记忆的编码过程,使用一个指令调整的大型语言模型(LLM)作为人工新皮层,通过开放信息提取(OpenIE)技术从文本语料库中提取知识图谱(KG)三元组。这些三元组以离散的名词短语形式存在,而不是密集的向量表示,从而实现更细粒度的模式分离。人工海马索引被定义为这个开放的KG,它是逐段构建在整个检索语料库上的。为了连接这两个组成部分,类似于PHR的作用,使用了为检索微调的现成密集编码器(检索编码器),在KG内相似但不完全相同的名词短语之间提供额外的边,以帮助下游的模式完成。

  2. 在线检索阶段:模仿人脑的记忆检索过程。基于LLM的新皮层从查询中提取一组显著的命名实体,称为查询命名实体。然后,这些命名实体通过检索编码器与KG中的节点联系起来,这些选定的节点被称为查询节点。一旦选择了查询节点,它们就成为人工海马体执行模式完成的部分线索。为了模仿海马体中神经通路的高效图搜索过程,利用了个性化PageRank(PPR)算法,这是一个只通过一组用户定义的源节点在图中分布概率的PageRank版本。这种约束允许输出偏向查询节点集合,就像海马体从特定部分线索中提取关联信号一样。最后,聚合PPR节点概率在先前索引的段落上,并用它来对它们进行排名以进行检索。

在图2的示例中,可以看到涉及Thomas教授的三元组被提取并整合到KG中。在在线检索阶段,LLM新皮层从查询中提取了命名实体"Stanford"和"Alzheimer’s",然后通过检索编码器将它们链接到KG中的相应节点。PPR算法随后在海马索引上运行,最终通过聚合PPR节点概率来对段落进行排名,以实现检索。

HippoRAG还引入了节点特异性的概念,这是一种神经生物学上合理的改进检索的方法。节点特异性定义为节点在P中出现的次数的倒数,作为一种局部信号,替代了需要全局聚合的逆文档频率(IDF)。在图2中,通过符号大小表示节点特异性:"Stanford"标志比"Alzheimer’s"标志大,因为它出现在较少的文档中,体现了其更高的节点特异性。这种方法允许HippoRAG在检索过程中调节查询节点及其邻域的概率,从而提高检索的准确性。

想要掌握如何将大模型的力量发挥到极致吗?2024年10月26日叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。

留言“参加”即可来叶老师的直播间互动,1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

实验

实验主要在两个具有挑战性的多跳问答(QA)基准测试集上评估HippoRAG的检索能力:MuSiQue和2WikiMultiHopQA。此外,尽管HotpotQA被认为对于多跳推理的测试较弱,但由于其完整性,也包括在内。为了限制实验成本,从每个验证集中提取了1,000个问题。为了创建一个更现实的检索环境,根据IRCoT的方法,收集了选定问题的所有候选段落(包括支持和干扰段落),并为每个数据集形成了一个检索语料库。表1展示了每个数据集的检索语料库和提取的知识图谱(KG)的统计数据。

  • MuSiQue有11,656个段落(P),91,729个唯一节点(N),21,714个唯一边(E),107,448个唯一三元组。
  • 2WikiMultiHopQA有6,119个段落,42,694个唯一节点,7,867个唯一边,50,671个唯一三元组。
  • HotpotQA有9,221个段落,82,157个唯一节点,17,523个唯一边,98,709个唯一三元组。
  • 在Contriever和ColBERTv2生成的同义词边(E′)的数量也被列出。

HippoRAG与几种强大且广泛使用的检索方法进行了比较,包括BM25、Contriever、GTR和ColBERTv2。此外,还与两个最近的大模型增强型基线进行了比较:Propositionizer和RAPTOR。除了上述单步检索方法外,还包含了多步检索方法IRCoT作为基线。

使用recall@2和recall@5(R@2和R@5)来评估检索性能,使用精确匹配(EM)和F1分数来评估QA性能。

默认情况下,使用GPT-3.5-turbo-1106作为大模型L,Contriever或ColBERTv2作为检索器M。使用MuSiQue训练数据中的100个示例来调整HippoRAG的两个超参数:同义词阈值τ设置为0.8,PPR阻尼因子设置为0.5。HippoRAG的性能通常对其超参数具有鲁棒性。

表2 显示了单步检索结果。HippoRAG在MuSiQue和2WikiMultiHopQA数据集上超越了所有其他方法,并在较不具挑战性的HotpotQA数据集上取得了可比的性能。

表3 显示了多步检索结果。将HippoRAG与标准的多步检索方法如IRCoT结合使用,在所有三个数据集上都取得了显著的改进。

表4 显示了问答性能。HippoRAG在单步和多步检索设置中的改进导致了在MuSiQue、2WikiMultiHopQA和HotpotQA上的F1分数分别提高了3%、17%和1%。

值得注意的是,单步HippoRAG在在线检索期间的成本比IRCoT低10-30倍,速度比IRCoT快6-13倍。这些结果表明,HippoRAG不仅在检索性能上取得了显著的改进,而且在成本和效率方面也具有明显的优势。

https://arxiv.org/pdf/2405.14831

https://github.com/OSU-NLP-Group/HippoRAG

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt事件——鼠标事件

通过label来显示各种事件 鼠标按下事件 //按下显示坐标 void MyLabel::mousePressEvent(QMouseEvent * ev) {int i ev->x();int j ev->y();//判断按下的鼠标键位if (ev->button() Qt::LeftButton) {qDebug() << "LeftButton";}else if (ev->bu…

SpringCloud-服务治理-Eureka

本篇是从基础方便讲解一些springcloud-服务治理-Eureka中的一些理论性的故事&#xff1b;具体的代码不详细展示&#xff1b;后面的文章会将源码进行整理&#xff0c;并且将源码的github地址上传。 1.什么是服务治理 专治分布式系统 (一)高可用性&#xff1a;服务治理框架保证…

【环境搭建】远程服务器搭建ElasticSearch

参考&#xff1a; 非常详细的阿里云服务器安装ElasticSearch过程..._阿里云服务器使用elasticsearch-CSDN博客 服务器平台&#xff1a;AutoDL 注意&#xff1a; 1、切换为非root用户&#xff0c;su 新用户名&#xff0c;否则ES无法启动 2、安装过程中没有出现设置账号密码…

【微服务】springboot远程docker进行debug调试使用详解

目录 一、前言 二、线上问题常用解决方案 2.1 微服务线上运行中常见的问题 2.2 微服务线上问题解决方案 2.3 远程debug概述 2.3.1 远程debug原理 2.3.2 远程debug优势 三、实验环境准备 3.1 搭建springboot工程 3.1.1 工程结构 3.1.2 引入基础依赖 3.1.3 添加配置文…

Linux之如何找回 root 密码?

1、启动系统&#xff0c;进入开界面&#xff0c;在界面中按“e"进入编辑界面 2、进入编辑界面&#xff0c;使用键盘上的上下键把光标往下移动&#xff0c;找到以”Linux16“开通内容所在的行数&#xff0c;在行的最后面输入&#xff1a;init/bin/sh 3、输入完成后&…

麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖

“鼎新杯”数字化转型应用大赛&#xff0c;由中国通信标准化协会主办、中国信息通信研究院承办&#xff0c;以落实国家“十四五”规划关于“加快数字化发展&#xff0c;建设数字中国”的总体要求为目标&#xff0c;意在打造一批具有产业引领与推广应用效应的企业数字化转型应用…

JavaEE-进程与线程

1.进程 1.1什么是进程 每个应⽤程序运⾏于现代操作系统之上时&#xff0c;操作系统会提供⼀种抽象&#xff0c;好像系统上只有这个程序在运 ⾏&#xff0c;所有的硬件资源都被这个程序在使⽤。这种假象是通过抽象了⼀个进程的概念来完成的&#xff0c;进程可 以说是计算机科学…

C#源码安装ZedGraph曲线显示组件

在软件开发里,数据的显示,已经是软件开发的大头。 如果让数据更加漂亮地、智能地显示,就是软件的核心价值了。 因为不管数据千万条,关键在于用户看到图。因为一个图表,就可以表示整个数据的趋势, 或者整个数据的走向,数据频度和密码。所以图表显示是软件的核心功能,比如…

STM32 -- USB CDC 虚拟串口通信

本篇操作: 通过CubeMX Keil&#xff0c;配置STM32作为USB设备端&#xff0c;与电脑上位机进行通信&#xff08;CDC&#xff09;&#xff1b;通用带USB功能的 STM32 芯片 &#xff08;如F1、F4等&#xff0c;系统时钟配置不同&#xff0c;代码通用&#xff09;。 目录 一、 S…

python中双引号和单引号的区别是什么

python3中的单引号‘’和双引号“”的作用一样。 3个单引号的作用&#xff1a; 1、表示注释 #3个单引号表示注释多行gf_of_archerzon "Wang" print("archerzon的女盆友是",gf_of_archerzon) print("archerzon的女盆友是%s"%gf_of_archerzon)2…

Vue基础(三)

生命周期 又名生命周期回调函数&#xff0c;生命周期函数&#xff0c;生命周期钩子 是什么&#xff1a;Vue在关键时刻帮我们调用的一些特殊名称的函数 生命周期函数的名字不可更改&#xff0c;但函数的具体内容是程序员根据需求编写的 生命周期函数中的this指向是vm或者组件实…

Leetcode - 周赛418

目录 一&#xff0c;3309. 连接二进制表示可形成的最大数值 二&#xff0c;3310. 移除可疑的方法 三&#xff0c;3311. 构造符合图结构的二维矩阵 四&#xff0c;3312. 查询排序后的最大公约数 一&#xff0c;3309. 连接二进制表示可形成的最大数值 本题数据范围较小&#…

鼓组编写:SsdSample鼓映射 GM Map 自动保存 互换midi位置 风格模板 逻辑编辑器

SsdSample音源的键位映射 方便编写鼓的技巧 可以这样去设置键位关系的面板和钢琴卷帘窗的面板&#xff0c;方便去写鼓。 可以先按GM的midi标准去写鼓&#xff0c;然后比对下鼓的键位映射的关系&#xff0c;去调整鼓。 可以边看自己发b站等处的图文笔记&#xff0c;然后边用电…

网络初识基本概念总结

网络发展背景 经历了 单机阶段 -> 局域网阶段 -> 广域网阶段 -> 移动互联网阶段 (简单介绍一下) 其他一些小概念 局域网LAN: 是把一些设备通过交换机 / 路由器连接, 形成的私有网络广域网WAN: 是把更多的局域网相互连接起来,当规模足够大时形成广域网交换机和路由器…

STM32F103ZET6 FREERTOS 双UART 多任务多串口输出(配置教程)

基本的stm32cubemx使用就不细说了&#xff0c;要想配置freertos&#xff0c;用这个工具配置那是相当方便和简单 1、系统晶振配置 使用外部时钟晶振&#xff0c;配置如图 2、系统定时器设置 serial wire 保证下次可以程序下载 SysTick 是 Cortex-M 内核中的一个系统定时器&a…

用C++编写信息管理系统(歌单信息管理)

C语言是面向过程的编程语言&#xff0c;而C是面向对象的编程语言&#xff0c;在书写代码时风格有所不同&#xff08;也存在很多共性&#xff09;。 程序说明 本次系统程序使用的是C语言进行编写&#xff0c;主要考虑怎么实现面向对象的问题。 因为本次程序属于小型系统程序&…

C语言 | 第十六章 | 共用体 家庭收支软件-1

P 151 结构体定义三种形式 2023/3/15 一、创建结构体和结构体变量 方式1-先定义结构体&#xff0c;然后再创建结构体变量。 struct Stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成绩 }; struct Stu stu1, stu2; //…

从二维到三维,电商行业有哪些变化?

从二维到三维&#xff0c;电商行业经历了一系列显著的变化&#xff0c;这些变化不仅体现在商品展示的方式上&#xff0c;还深刻影响了消费者的购物体验、电商平台的运营策略以及整个电商行业的竞争格局。 一、商品展示方式的变革 二维展示阶段&#xff1a; 在电商行业的早期&…

【黑苹果】记录MacOS升级Sonoma的过程

【黑苹果】记录MacOS升级Sonoma的过程 一、硬件二、提前说明三、准备OC四、选择驱动五、选择ACPI六、下载内核扩展七、其他问题 一、硬件 设备是神舟zx6-ct5da 具体参照下图 二、提前说明 本机器已经安装过 macOS Monterey 12.6&#xff0c;这次是升级到 macOS Sonoma 14。 …

Java后端面试题(day16)

目录 java常见的引用类型java中深拷贝和浅拷贝如何设计一个秒杀系统?谈一下对高并发的理解&#xff0c;平时怎么处理高并发问题?Comparable和Comparator区别&#xff1f;解决hash冲突有哪些方法&#xff1f;Synchronized锁的升级过程 java常见的引用类型 java的引用类型一般分…