人大高瓴发布Think-on-Graph 2.0,基于知识图的大模型推理再升级!

news2024/11/14 5:42:05

经常参加高考的朋友可能会体会到,比起死记硬背知识点,将知识整理成脉络往往会获得事半功倍的效果。其实对于大模型来说也是如此,哪怕被允许“开卷作答”,即通过检索增强(Retrieval-augmented generation,RAG)技术从知识库中为大模型取回相应知识作为参考,但当面对复杂问题的时候,RAG对大模型的增益效果也不尽如人意。毕竟“难道开卷你们就能考满分了吗?

也正因如此,我们希望为大模型的思考方式注入类似知识框架的方法指导,而已经发展多年趋渐成熟的知识图(Knowledge-Graph,KG)或许将给我们一个解决方案。

论文标题:
Think-on-Graph 2.0: Deep and Interpretable Large Language Model Reasoning with Knowledge Graph-guided Retrieval

论文链接:
https://arxiv.org/pdf/2407.10805.pdf

图片

背景与动机

在当前的大模型(LLMs)研究中,RAG技术的出现为解决知识缺陷和幻觉问题提供了一种有效解决方案,通过动态检索外部信息源中的相关内容,显著提升了LLMs的能力,使它们能够超越静态训练数据知识的限制,应对多样化和复杂的应用场景。

然而,尽管RAG系统在知识预处理、细粒度检索和生成思维链等方面进行了各种复杂的附加处理,LLMs在构建类似人类对复杂任务洞察力方面仍面临挑战,而解决这些任务往往需要有动机的、持续的努力来理解对象、数字、概念和事件之间的联系,以便预测它们的轨迹并有效行动。

此外,大多数严重依赖于文本向量相似度进行检索的RAG系统,在理解各种类型知识之间的长距离关联方面也几个局限性:

  1. 浅层相关性捕获:简单基于向量的匹配可能会错过概念之间的关联,如全球金融危机和2008年衰退之间的关系。

  2. 聚合多样化事实的困难:仅依赖于向量嵌入的检索系统在理解复杂问题中关键点之间的关系时,往往无法准确聚焦,导致信息密度低和长距离知识关联无效。

  3. 处理复杂逻辑的能力不足:简单的基于向量的检索不适合多步推理或跟踪不同信息片段之间的逻辑链接,除非所有这些片段预先被划分和编码,这对于许多潜在的推理类型来说是非常低效的。

因此,为解决这些挑战,本文提出了Think-on-Graph 2.0 (ToG2.0),通过知识图谱引导的知识检索实现深度和可解释的推理。ToG2.0有效地将文档中的非结构化知识与知识图谱中的结构化洞察力结合起来,作为增强复杂问题解决能力的路线图。通过将问题与知识图谱对齐并将其作为导航工具,深化并细化了RAG范式,不仅确保了事实一致性层面的语义相似性,还促进逻辑一致性层面的长距离关联。这种范式使LLM在推理和问题解决时更接近人类:检查当前线索并根据其现有的知识框架关联潜在实体,不断深入主题直到找到答案。

基于知识图谱的检索增强

在RAG系统中,检索数据的粒度是一个重要因素。粗粒度的检索单元理论上可以为问题提供更多相关信息,但它们也可能包含冗余内容,这可能会分散检索器和生成器在下游任务中的注意力。另一方面,细粒度的检索单元虽然可以减轻生成器的负担,但同时也把压力给到了检索器一侧,且很难保证语义完整性和所需知识的完整性。

和语义检索不同,KG提供了动态、明确和结构化的知识表示,这种结构化的知识表示为LLM可访问的知识中引入了可解释性和精确度。近期的研究通过将KG中的相关结构化知识转换为文本提示(Prompt)从外部增强LLM,但也遇到了一些独特的挑战和限制,例如三元组提供的信息缺乏深度和细节。由于KG的不完整性,甚至可能会丢失信息。

下图展示了传统RAG(a)、基于KG的生成(b)和ToG2.0(c)的对比。该示例具体说明了纯语义检索和纯知识图增强框架在复杂QA任务中的局限性,以及本文提出的KG+RAG框架的优点:

图片

ToG2.0

ToG2.0初始化

ToG2.0初始化阶段的关键任务是为特定查询选择适当的起点,这有助于实现更流畅的推理。例如,在查询“腾讯公司的创始人中,谁曾是全国人民代表大会的成员?”时,选择一个广泛或选择不当的起点如“全国人民代表大会的成员”可能会导致陷入在大量无关数据中筛选的陷阱,从而造成耗时且不够集中的探索。有效的起点应聚焦于“腾讯公司的创始人”这样的实体。这一原则在推理任务中至关重要,尤其是在开放领域问答中,问题的高度多样性使得选择合适的起点尤为重要。

因此,给定一个问题,ToG2.0首先执行命名实体识别(NER)和主题修剪(TP),这促使LLM评估及其出现的实体,选择一组适合作为问题起点的主题实体。在复杂推理中,问题与有效的中间线索句子之间的隐含关联往往不被稀疏向量检索模型和密集向量检索模型所识别。为解决这一限制,ToG2.0提示LLM基于当前上下文为每个主题实体制定线索查询问题,这为探索实体关系和上下文的下一步方向提供了指导。

再次以上面的问题为例,基于实体“全国人民代表大会”,LLM可能会生成一个线索查询,建议收集有关他们的政治身份或隶属关系的信息。通过这种方式,ToG2.0能够更有效地引导LLM在KG中进行有针对性的探索,从而提高推理的准确性和效率。

基于图驱动的知识检索推理

ToG2.0的推理过程是通过图驱动的知识检索来实现的,这一过程涉及迭代地利用结构化和非结构化知识进行推理。具体来说,在第次迭代中,给定原始问题第次迭代中的线索查询,主题实体及其前面的三元组路径 (其中),每次迭代包括三个步骤:关系修剪(RP)、实体修剪(EP)和检查与推理(ER)。

  • 关系修剪(RP):基于问题和线索查询 ,ToG2.0提示LLM选择最有可能找到包含有助于解决问题的上下文信息、并与线索查询相匹配的实体。这一步骤通过同时考虑所有主题实体来减少API调用次数,从而加速推理时间,并使LLM能够从更全局的视角进行选择。对于实体,其被选择的关系可表示为,其中是超参数宽度。

  • 实体修剪(EP):给定一个主题实体和一个选定的关系,ToG2.0会识别所有在Wiki知识图谱中相互连接的候选实体节点,并获取它们相关的维基百科页面文档。每个候选实体的文档上下文被分割成适当大小的块,其中是候选实体文档块的数量。随后,ToG2.0使用了一个两阶段的搜索策略:

    • 首先,利用预训练的语言模型对所有候选实体的文档块进行相关性评分。具体地,表示第个实体和第文档块的相关性得分,是当前候选实体所派生的三元组。

    • 随后,候选实体的排名分数通过排名前K的文本块分数的指数衰减加权和计算得到,其中排名为的文本块权重为,其中和都通过超参数设置。最终,选择排名前的候选实体作为下一轮迭代的新主题实体,同时更新相应的三元组路径。

  • 检查与推理(ER):在RP和EP之后,ToG2.0为LLM提供了精心聚合的参考,包括问题,参考查询,三元组路径和前L个文本块()。随后,LLM被提示检查逻辑连贯性和事实证据的完整性。如果LLM认为它可以回答这个问题,迭代就结束了。如果没有,则需要根据问题和收集到的上下文线索为下一轮生成新的线索查询。

图片

实验

数据、评测方法与基线

本文选择了两个多跳知识库问答(KBQA)数据集WebQSP和QALD-10-en,一个多跳复杂文档问答数据集HotpotQA,以及一个事实验证数据集FEVER来测试ToG2.0的性能。对于FEVER数据集,使用的评估指标是准确性(Accuracy),而对于WebQSP、HotpotQA和QALD-10-en数据集,则使用精确匹配(Exact Match, EM)作为评估指标。

此外,本文选择了如下基线方法:

  • 标准提示(Vanilla Prompt):直接回答问题

  • 思维链(Chain-of-Thought, CoT):生成几个中间理由,然后再给出最终答案,以提高LLM处理复杂推理任务的能力。

  • 知识链(Chain-of-Knowledge, CoK):一个异构源增强的LLM框架。

  • Think-on-Graph(ToG):一个基于知识图谱的方法,用于搜索有用的三元组进行推理。

实验结果

在与包括标准提示、思维链、知识链和原始版本ToG方法的比较中,ToG2.0表现出显著的优势。具体来说,ToG2.0在WebQSP、HotpotQA和QALD-10-en数据集上均优于其他基线方法。特别值得注意的是,在HotpotQA数据集上,ToG2.0不仅超越了所有基线方法,还显著超过了当前最先进的基线CoK,性能提升达到了5.51%。与原始的ToG方法相比,ToG2.0在HotpotQA上的性能提升更是达到了14.6%,在WebQSP上提升了4.93%,在QALD-10-en上提升了3.85%,在FEVER上提升了5.84%。

图片

尽管在FEVER数据集上,ToG2.0的准确性略低于CoK,但这一差异可能是由于CoK利用了更多的知识源和额外的LLM自我验证机制。为了降低计算成本和减少推理延迟,本文选择不使用自我验证机制,但同时也指出这可以根据未来应用需求进行调整。

此外,本文还进行了消融研究(Ablation Study),以评估ToG2.0中每个组件的贡献。结果显示,主题修剪(Topic Prune, TP)在WebQSP数据集上的效果尤为明显,这可能是因为WebQSP问题中包含更多一般性实体,这些实体可能会引入更多不必要的噪声。关系修剪(Relation Prune, RC)虽然可能会略微降低性能,因为它增加了LLM在单个提示中理解多个任务的难度,但其好处是显著减少了推理次数和延迟。此外,线索查询在每个数据集上都带来了相对一致的改进,表明适应性查询优化可以帮助LLM更好地理解任务。

图片

本文还额外测试了在能力较弱的LLM(如Llama-2-13B)上应用ToG2.0的效果。结果表明,ToG2.0能够在这些较弱的LLM上带来更大的性能提升,这表明ToG2.0可能更具适应性。较弱的LLM在处理复杂任务时往往会遇到瓶颈,而ToG2.0通过使用知识图谱作为线索来优化推理路径并降低任务复杂度,然后利用实体上下文进一步引导模型关注相关信息,从而提高任务理解和响应准确性。相比之下,像GPT-3.5这样的更强大LLM可能不会表现出同样显著的性能提升,因为它已经接近其性能上限。

结论与展望

ToG2.0通过结合结构化的知识图谱和非结构化的文档信息,集众家之长显著提升了LLMs的推理能力。这就像给一个超级聪明善于总结梳理知识框架的学生,提供了一个装满各种书籍和资料的图书馆,那这个可以预见地,他要还学不好那就奇怪了。

由于ToG2.0具备强大的系统化推理能力增益潜质,未来随着LLM推理和理解能力的同步发展,或许通过ToG2.0或类似技术赋能的LLM被应用于包括医疗咨询、法律分析或教育辅导等在内的更复杂更专业任务,将更快成为现实。

总的来说,结合图的RAG,我个人还是很看好这个方向,尤其从最近github上各种Graph Rag方案的上星速度来看,大家对图如何更好应用于rag上也都表现出了强烈兴趣。但另一方面,图构建本身也是个过程较重,且对准确率很敏感的操作;而之前传统RAG的流行,则得益于其在撞上LLM后呈现出的“简单粗暴,方便好用”效果,因此如何在二者之间进行权衡和改进,或许也将是我们在未来研究中需要思考的问题。

图片

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

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

相关文章

【前端面试3+1】20 css三栏布局6种实现方式、多行文本溢出怎么实现、token过期了怎么处理、【二叉树的中序遍历】

一、css三栏布局6种实现方式 1.浮动布局(Floats) .container {overflow: auto; /* 清除浮动 */ }.left, .right {width: 20%; /* 左右栏宽度 */float: left; }.middle {width: 60%; /* 中间栏宽度 */margin: 0 20%; /* 左右栏宽度 */ } 2.Flexbox .conta…

面试经典 222. 完全二叉树的节点个数

二叉树我最近刷的特别多,差不多快刷完了,但是有一种题型差点给我忽略了,那就是完全二叉树,这也是一个很重要的题型,今天刚好有一道题目可以来复习一下完全二叉树的特性 题目链接如下:https://leetcode.cn/…

力扣-200.岛屿数量

刷力扣热题–第二十四天:200.岛屿数量 新手第二十四天 奋战敲代码,持之以恒,见证成长 1.题目描述 2.题目解答 这道题刚开始想的确实想的绞尽脑汁的,看了相关解答才明白的,三种方法,这里想先用两种方法进行实现&#…

MySQL改密码(简洁无废话)

1.找到MySQL的bin目录: 2.在上方输入cmd: 进入这个界面: 3.输入 mysqladmin -uroot -p password 4.输入后在下面输入原密码: 5.下面输入新密码,确认新密码: 然后就可以修改成功了。

学习 Helm ,一文弄懂

1. 什么是 Helm 1.1 概述 Helm 是 Kubernetes 应用程序的包管理器,和redhat中yum 管理包类似. 1.2 架构图v3 1.3 下载 官当 最新版本 官方github curl -LO https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz 1.4 安装 解压 #由于是二进制,直接解压到/usr/local/b…

科普文:解读MySQL 执行计划explain

概叙 实战:万字小结MySQL慢原因分析-CSDN博客 实战:搞懂SQL执行流程、SQL执行计划解读和SQL优化_sql解析和sql执行计划-CSDN博客 在排查mysql执行慢的过程中,前面文章中都有解释explain执行计划,这里单独拿出来解读一下。 慢查…

uniapp打开地图直接获取位置

uniapp官网文档 https://en.uniapp.dcloud.io/api/location/open-location.html <view class"map-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view></view>import map from ../../…

业务逻辑支付漏洞靶场复现(dami,niushop,cmseasy)

目录 dami_5.4 第一种&#xff1a;直接修改页面数量 第二种&#xff1a;利用抓包修改购买数量和金额 Niushop Cmseasy 第一种&#xff1a;改变购买数量 第二种&#xff1a;利用抓包修改数量 dami_5.4 首先通过注册页面注册账户&#xff0c;并登录。 第一种&#xff1a;直…

鉴源实验室·HTTP协议网络安全攻击

作者 | 李芷若 上海控安可信软件创新研究院工控网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 背 景 随着互联网的迅猛发展&#xff0c;HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&…

萝卜快跑引领换电革命,储能蓝海爆发千亿商机,你抓住了吗?

近日&#xff0c;百度旗下的无人驾驶出行服务平台“萝卜快跑”火爆出圈&#xff0c;7月10日凭借优秀的订单量表现成功助推百度股价上涨超10%&#xff0c;其六公里4元的超高性价比广受好评。多个网络平台的自媒体博主们也抓准时机开始各类测评体验。 百度“萝卜快跑”无人驾驶项…

QT安装 error: [QNetworkReply::NetworkError(

QT安装遇到问题&#xff1a; [29040] Warning: No QtAccount credentials found. Please login via the maintenance tool of the SDK. [29040] Warning: No QtAccount credentials found. Please login via the maintenance tool of the SDK. [31404] Warning: Network error…

linux用户组练习

准备工作 [rootlocalhost ~]# watch -n 1 tail -n 5 /etc/group使用watch 动态监控 1.建立用户组 shengcan&#xff0c;其id 为2000 2.建立用户组 caiwu&#xff0c;其id 为 2001 3.足建立用户组 jishu&#xff0c;其id 为 2002 4.建立用户lee&#xff0c;指定其主组id为sh…

QT多媒体编程(二)——视频编程知识详解及mp4视频播放器Demo

目录 引言 1. QMediaPlayer 类详解 1.1 基本用法 示例代码&#xff1a; 1.2 常用函数 2. QVideoWidget 类详解 2.1 基本用法 示例代码&#xff1a; 2.2 常用函数 3. 实际案例&#xff1a;视频播放器 UI界面 核心代码&#xff1a; 运行结果&#xff1a; 4. 总结 引…

NodeJS凉山地区特色农产品团购平台-计算机毕业设计源码72936

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 用户登录流程 2.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4用例分析 2.5本章小结 3 系统总体设计 3…

【LeetCode每日一题】2024年8月第一周(上)

2024.7.30 中等 链接&#xff1a;2961. 双模幂运算 &#xff08;1&#xff09;题目描述&#xff1a; &#xff08;2&#xff09;示例&#xff1a; &#xff08;3&#xff09;分析&#xff1a; ① 在计算中&#xff0c;反复用到了%10&#xff0c;说明返回的只要取个位即可&…

SEO之网站结构优化(八)

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 8、URL静态化 URL静态化一直以来都是最基本的SEO要求之一&#xff0c;但近一两年 SEO 行业对是否一定要做静…

科普文:万字细说微服务及其框架Netflix,Spring Cloud,Spring Cloud Alibaba梳理

概叙 微服务&#xff08;Microservices&#xff09;是一种软件架构风格&#xff0c;它将单一的应用程序拆分为多个小的服务&#xff0c;每个服务都是独立运行和部署的。每个微服务通常只专注于一个业务功能&#xff0c;具有自己的数据存储&#xff0c;并且通过轻量级的通信机制…

多无人机协同机间通信技术详解

随着无人机技术的飞速发展&#xff0c;多无人机系统&#xff08;Multi-Unmanned Aerial Vehicle, Multi-UAV&#xff09;在军事侦察、环境监测、目标跟踪、物流配送等多个领域展现出巨大潜力。多无人机协同作业的核心在于高效的机间通信技术&#xff0c;它能够实现无人机之间的…

npm install 巨慢,导致Jenkins编译报错问题解决——基础积累

今天在弄后台系统的服务器编译时&#xff0c;一直报错。报错信息为&#xff1a;系统找不到指定的路径。 最后进入到服务器中&#xff0c;找到E:/Jenkins/WorkSpace/JiePeiAiMomsAdmin_FenZhi这个路径&#xff0c;然后通过cmd进入到命令提示符中。 然后通过npm i进行安装&#…

简单的docker学习 第4章docker容器

第4章 Docker容器 4.1 容器基础 4.1.1 容器启动流程 通过 docker run 命令可以启动运行一个容器。该命令在执行时首先会在本地查找指定的镜像&#xff0c;如果找到了&#xff0c;则直接启动&#xff0c;否则会到镜像中心查找。如果镜像中心存在该镜像&#xff0c;则会下载到…