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

news2024/11/25 4:03:23

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

大模型(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.coloradmin.cn/o/2208733.html

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

相关文章

云轴科技ZStack入选信通院《高质量数字化转型产品及服务全景图》AI大模型图谱

近日,由中国互联网协会中小企业发展工作委员会主办的“2024大模型数字生态发展大会暨铸基计划年中会议”在北京成功召开。会上发布了中国信通院在大模型数字化等领域的多项工作成果,其中重点发布了《高质量数字化转型产品及服务全景图(2024上…

解决重写QSilder::sliderPress后点击位置与滑块显示位置不一样的问题

如下代码所示,我是用的是事件过滤器,也可以重写QSlider。 bool KuGouApp::eventFilter(QObject *watched, QEvent *event) {if(watched ui->progressSlider) {if (event->type()QEvent::MouseButtonPress) //判断类型{auto mouseEvent…

【封装案例】点和圆的关系

文章目录 前言1、point.h文件2、circle.h文件3、point.cpp文件4、circle.cpp文件5、主函数和全局函数6、测试 前言 本篇主要是用C实现一个判断点和圆关系的程序。 思路:已知点和圆心的坐标,通过比较两点间的距离和圆半径的大小,判断两者的关…

ubuntu下实时查看CPU,内存(Mem)和GPU的利用率

一、实时查看CPU和内存(Mem)利用率 htop官网:htop - an interactive process viewer sudo apt-get install htop htop ①. 顶部状态栏(System Metrics Overview) 这个区域显示系统的全局资源使用情况,包括…

18770 差值最大

### 思路 为了找到两个数x和y使得x - y的值最大,并且x在y的右侧,我们可以使用以下方法: 1. 从右向左遍历数组,记录当前遍历到的最大值max_right。 2. 对于每个元素a[i],计算max_right - a[i],并更新最大差…

我的研究生周报模板

2022.12.12——2022.12.18周报 本周计划 文献阅读:(说明是打算读哪方面的论文) 实验:(打算做什么实验,目的是什么) 项目:(打算完成项目中哪一部分) 本周进…

fastadmin 多商户模式下侧边栏跳转路径BUG

记录:仅作自己项目记录,在一个域名下部署多套项目时,若是多商户模式项目会出现跳转路径问题。 修改 \manystore\library\Auth.php 文件的 getSidebar 方法 // 1 改为: $v[url] isset($v[url]) && $v[url] ? $v[url] :…

Reqable抓包演示

1.Reqable下载 官网:Reqable 下载对应平台版本即可。 多个客户端。 2.使用教程 打开后如下图所示 根据提示安装完证书后即可使用。 这里以小猿口算的练习模式的抓包为例 1.打开雷电模拟器 在模拟器上安装Reqable,并安装证书,一定要安装…

【C++】基于红黑树封装set和map

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言一、更高维度的泛型二、模版参数三、比较逻辑的重写四、迭代器4.1 const迭代器4.2 重载4.3 - -重载 五、完整代…

EXCEL SUM系列求和函数大全

大家好,这里是效率办公指南! 📊 在数据分析中,求和是一项基础而频繁的操作。Excel 提供了一系列求和函数,可以帮助我们快速汇总数据。今天,我们将介绍 Excel 中常用的求和函数,包括它们的语法和…

java 自定义填充excel并导出

首先在resources下面放一个excel模板 1. 方法签名和请求映射 RequestMapping(value "/ExportXls") public ResponseEntity<byte[]> rwzcExportXls(HttpServletRequest request, RequestBody JSONArray jsonArray) throws IOException { RequestMapping(val…

YOLO11改进 | 注意力机制 | 结合静态和动态上下文信息的注意力机制

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 上下文Transformer&#xff08;CoT&…

【MySQL 保姆级教学】数据库基础(重点)(2)

目录 1. 什么是数据库1.1 数据库的定义1.2 mysql 和 mysqld1.3 文件和数据库 2. 数据库的分类3. 连接数据库3.1 数据库的安装3.2 连接服务器&#xff08;数据库&#xff09;3.3 服务器 数据库 表 三者的关系 4. 数据库-表 和目录-文件 的关系5. MySQL 框架6. SQL 分类7. 储存引…

人工智能AI等级划分

人工智能等级划分 第一级“聊天机器人”。 第二级“推理者”水平。这一级别的AI系统具备类似拥有博士学位教育但未配备任何工具的人类&#xff0c;能执行基础的问题解决任务。据悉&#xff0c;OpenAI的管理层在会议中还向员工们展示了涉及GPT-4 AI模型的一个研究项目&#xff…

【面试宝典】深入Python高级:直戳痛点的题目演示(下)

目录 &#x1f354; Python下多线程的限制以及多进程中传递参数的⽅式 &#x1f354; Python是如何进⾏内存管理的&#xff1f; &#x1f354; Python⾥⾯如何拷⻉⼀个对象&#xff1f; &#x1f354; Python⾥⾯search()和match()的区别&#xff1f; &#x1f354; lambd…

生成式专题的第一节课---GAN图像生成

一、GAN的起源与发展 1.GAN的起源 GAN &#xff08;生成式对抗网络&#xff09;诞生于 2014 年&#xff0c;由 Ian Goodfellow 提出&#xff0c;是用于生成数据的深度学习模型&#xff0c;创新点是对抗性训练&#xff0c;即生成器与判别器的竞争关系&#xff0c;为图像生成、…

多态常见面试问题

1、什么是多态&#xff1f; 多态&#xff08;Polymorphism&#xff09;是面向对象编程中的一个重要概念&#xff0c;它允许同一个接口表现出不同的行为。在C中&#xff0c;多态性主要通过虚函数来实现&#xff0c;分为编译时多态&#xff08;静态多态&#xff09;和运行时多态…

DDoS攻击快速增长,如何在抗ddos防护中获得主动?

当下DDoS攻击规模不断突破上限。前段时间&#xff0c;中国首款3A《黑神话&#xff1a;悟空》也在一夜之内遭受到28万次攻击DDoS攻击&#xff0c;严重影响到全球玩家的游戏体验。Gcore发布的数据也显示了 DDoS攻击令人担忧的趋势&#xff0c;尤其是峰值攻击已增加到了令人震惊的…

腾讯IM SDK:TUIKit发送多张图片

一、问题描述 在使用腾讯IM DEMO&#xff08;https://github.com/TencentCloud/chat-uikit-vue.git&#xff09;时发现其只支持发送一张图片&#xff1a; 二、解决方案 // src\TUIKit\components\TUIChat\message-input-toolbar\image-upload\index.vue<inputref"inp…

【GaussDB】产品简介

产品定位 GaussDB 200是一款具备分析及混合负载能力的分布式数据库&#xff0c;支持x86和Kunpeng硬件架构&#xff0c;支持行存储与列存储&#xff0c;提供PB(Petabyte)级数据分析能力、多模分析能力和实时处理能力&#xff0c;用于数据仓库、数据集市、实时分析、实时决策和混…