Think-on-Graph:基于知识图的大型语言模型的深层可靠推理11.12

Hink-on-Graph:基于知识图的大型语言模型的深层可靠推理

  • 摘要
  • 1 引言
  • 2 方法
    • 2.1图上思考
      • 2.1.1图的初始化
      • 2.1.2 探索
      • 2.1.3推理
    • 2.2 基于关系的Think on graph

在这里插入图片描述

摘要

尽管大型语言模型(LLM)在各种任务中取得了巨大的成功,但它们经常与幻觉问题作斗争,特别是在需要深入和负责任的推理的场景中。这些问题可以通过在LLM推理中引入外部知识图(KG)来部分解决。在本文中,我们提出了一个新的LLM-KG集成范式“LLM KKG”,它把LLM作为一个代理,以交互式地探索相关的实体和KGs上的关系,并进行推理的基础上检索到的知识。我们通过引入一种称为图上思维(ToG)的新方法进一步实现了这种范式,其中LLM代理迭代地在KG上执行波束搜索,发现最有希望的推理路径,并返回最可能的推理结果。我们通过一系列精心设计的实验来检验和说明ToG的以下优点:

  • 1)与LLM相比,ToG具有更好的深度推理能力;
  • 2)ToG通过利用LLM推理和专家反馈,具有知识可追溯性和知识可纠正性;
  • 3)ToG为不同的LLM、KG和提示策略提供了一个灵活的即插即用框架,而不需要任何额外的训练成本;
  • 4)在某些场景下,具有小LLM模型的ToG的性能可以超过诸如GPT-4的大LLM,这降低了LLM部署和应用的成本。

作为一种具有较低计算成本和较好通用性的免训练方法,ToG在9个数据集中的6个数据集中实现了整体SOTA,而大多数以前的SOTA依赖于额外的训练。

1 引言

大型语言模型(LLM)在各种自然语言处理任务中表现出了卓越的性能。这些模型利用了应用于大量文本语料库的预训练技术,以生成连贯和上下文适当的响应。尽管LLM具有令人印象深刻的性能,但在面对复杂的知识推理任务时,LLM具有很大的局限性,需要深入和负责任的推理。

  • 首先,LLM通常无法提供准确的答案,要求专业知识超出预培训阶段(图1a中的过时知识),或者需要长逻辑链和多跳知识推理的问题。
  • 其次,LLM缺乏责任感,可解释性和透明度,担心出现幻觉或错误文本的风险。
  • 第三,LLM的培训过程通常昂贵且耗时,使其知识保持最新具有挑战性。
    在这里插入图片描述
    认识到这些挑战,一个自然和有前途的解决方案是结合外部知识,如知识图(KG),以帮助改善LLM推理。KG提供了结构化的、明确的和可编辑的知识表示,提出了一种补充策略来减轻LLM的局限性。研究人员探索了使用KG作为外部知识来源,以减轻LLM的幻觉。
    这些方法遵循常规:从KG检索信息,相应地增加提示,并将增加的提示输入LLM(如图1b所示)。在本文中,我们将这种范式称为“LLM⊕LKG”。虽然LLM的目的是整合的力量和KG,在这个范式中,LLM扮演翻译器的角色,将输入的问题转换为机器可理解的命令KG搜索和推理,但它不直接参与图推理过程。不幸的是,松耦合LLM⊕KG范式有其自身的局限性,其成功在很大程度上取决于KG的完整性和高质量。例如,在图1b中,尽管LLM成功地识别了回答问题所需的必要关系类型,但关系“majority party” 的缺失导致检索正确答案的失败。

基于这些考虑,我们提出了一个新的紧耦合的“LLM ⊕ KG”范式,其中KG和LLM协同工作,在图推理的每个步骤中相互补充。图1c提供了一个示例,说明了LLM ⊕ KG的优势。在这个例子中,导致图1b中失败的缺失关系“多数党”可以由具有动态推理能力的LLM代理发现的参考三元组(澳大利亚,总理,Anthony Albanese)补充,以及安东尼艾博年的政党成员来自法学硕士的固有知识。通过这种方式,LLM成功地利用从KG检索的可靠知识生成正确答案。作为这种范式的实现,我们提出了一个算法框架“图上思考”(意思是:LLM“思考”沿着推理路径”知识“图”一步一步,以下简称为ToG),深入、负责、高效的LLM推理。在KG/LLM推理中使用波束搜索算法。ToG允许LLM在KG中动态探索许多推理路径并相应地做出决策。给定输入问题,ToG首先识别初始实体,然后迭代地调用LLM以通过探索(经由“在图上”步骤在KG中寻找相关三元组)和推理(经由“思考”步骤决定最相关的三元组)从KG检索相关三元组,直到信息足够通过波束搜索中的前N个推理路径来回答问题(由LLM在“思考”步骤中判断)或达到预定义的最大搜索深度。

ToG的优势可以概括为:

  • (1) 深度推理:ToG从KG中提取多样的多跳推理路径作为LLM推理的基础,增强了LLM对知识密集型任务的深度推理能力。
  • (2) 负责任的推理:显式的、可编辑的推理路径提高了LLM推理过程的可解释性,并能够跟踪和纠正模型输出的起源。
  • (3) 灵活性和效率:
    • a)ToG是一个即插即用的框架,可以无缝地应用于各种LLM和KG。
    • b)在ToG框架下,知识更新可以通过KG来实现,而不是LLM,后者的知识更新昂贵且缓慢
    • c)ToG增强了小型LLM的推理能力(例如,LLAMA 2 - 70 B)与大型LLM(例如,GPT-4)。

2 方法

ToG通过要求LLM在知识图上执行波束搜索来实现“LLM⊗KG”范式。具体地,它提示LLM迭代地探索KG上的多个可能的推理路径,直到LLM确定可以基于当前推理路径来回答问题。ToG不断更新和维护前N条推理路径P = {p1,p2,…,pN},其中N表示波束搜索的宽度。ToG的整个推理过程包括初始化、探索和推理3个阶段。

2.1图上思考

2.1.1图的初始化

给定一个问题,ToG利用底层LLM在知识图上定位推理路径的初始实体。该阶段可以被视为前N个推理路径P的初始化。ToG首先提示LLM自动提取所讨论的主题实体,并获得前N个主题实体E0 = {e01,e02,…,e0N}的问题。注意,主题实体的数量可能小于N。

2.1.2 探索

在第D次迭代开始时,每条路径pn由D-1个三元组组成,即pn ={(eds,n, rdj,n, edo,n)}D−1d=1。其中eds,n,和edo,n表示主体和客体实体,rdj,n是它们之间的特定关系,(eds,n, rdj,n, edo,n)和((ed+1s,n, rd+1j,n, ed+1o,n))彼此连接。P中的尾实体和关系的集合表示为ED-1 = {eD-11,eD-12,.,eD-1N }和RD−1 = {rD−11,rD−12,… ,rD−1N }。

第D次迭代中的探索阶段旨在利用LLM基于问题x从当前前N个实体集合ED-1的相邻实体中识别最相关的前N个实体ED,并使用ED扩展前N个推理路径P。为了解决使用LLM处理众多相邻实体的复杂性,我们实现了两步探索策略:首先发掘出有意义的关系,然后用所选择的关系指导实体发掘。

关系探索
关系探索是一个波束搜索过程,深度为1,宽度为N,从ED-1到RD。整个过程可以分解为两个步骤:搜索和修剪。LLM作为代理自动完成此过程。
在这里插入图片描述

  • 搜索 在第D次迭代开始时,关系探索阶段首先为每个推理路径pn搜索链接到尾实体eD-1n的关系RDcand,n。这些关系被聚合成RDcand。在图2的情况下,E1 = {堪培拉},R1cand表示向内或向外链接到堪培拉的所有关系的集合。值得注意的是,搜索过程可以通过执行附录E.1和E.2中所示的两个简单的预定义正式查询来轻松完成,这使得ToG能够很好地适应不同的KG,而无需任何培训成本。
  • 剪枝 一旦我们已经从关系搜索中获得候选关系集RDcand和扩展的候选推理路径Pcand,我们就可以利用LLM基于问题x的文字信息和候选关系RDcand从Pcand中选出以尾部关系RD结尾的新的前N个推理路径P。此处使用的提示可参见附录E.3.1。如图2所示,LLM在第一次迭代中从链接到实体堪培拉的所有关系中选择前3个关系{capital of,country,territory}。由于堪培拉是唯一的主题实体,所以前3个候选推理路径被更新为{(堪培拉,首都),(堪培拉,国家),(堪培拉,领土)}。

实体探索 与关系探索类似,实体探索也是由LLM从RD到ED执行的波束搜索过程,并且包括两个步骤,搜索和修剪。

  • 搜索 一旦我们已经从关系探索获得了新的前N个推理路径P和新的尾关系RD的集合,对于每个关系路径pn ∈ P,我们可以通过查询(eD-1n,rDn,?)或(?,rDn,eD−1n),其中eD−1n,rn表示pn的尾实体和关系。我们可以聚合{}
    扩展为EDcand,并利用尾部实体EDcand扩展前N条推理路径P到Pcand。对于所示的情况,E1cand可以表示为{Australia,Australia,澳大利亚首都直辖区}。
  • 剪枝 由于每个候选集合EDcand中的实体是用自然语言表达的,因此我们可以利用LLM来从Pcand中选择以尾部实体艾德结束的新的前N个推理路径P。此处使用的提示可参见附录E.3.2。如图2所示,澳大利亚和澳大利亚首都直辖区被评分为1,因为关系capital of、country和territory仅分别链接到一个尾实体,并且当前推理路径p被更新为{(堪培拉,capital of,Australia),(Canberra,country,Australia),(Canberra,territory,澳大利亚首都直辖区)}。

2.1.3推理

在通过探索过程获得当前推理路径P后,我们提示LLM评估当前推理路径是否足以生成答案。如果评估结果是肯定的,我们将提示LLM使用推理路径生成答案,并将查询作为输入,如图2所示。用于评估和生成的提示可在附录E.3.3和E.3.4中找到。相反,如果评估得到否定的结果,我们重复探索和推理步骤,直到评估是肯定的或达到最大搜索深度Dmax。如果算法还没有结束,这意味着即使在达到Dmax时,TOG仍然无法探索推理路径来解决问题。在这种情况下,TOG完全基于LLM中的固有知识来生成答案。TOG的整个推理过程包括D个探索阶段和D个评估步骤,以及一个生成步骤,最多需要2ND+D+1次LLM调用。

2.2 基于关系的Think on graph

先前的KBQA方法,特别是基于语义解析的KBQA方法,主要依赖于问题中的关系信息来生成正式查询。受此启发,我们提出了基于关系的ToG(ToG-R),其探索前N个关系链{pn =(e0 n,r1 n,r2 n,...,rD n)}N n=1
,从主题实体{e0 n}N n= 1开始,而不是基于三元组的推理路径。ToG-R在每次迭代中依次执行关系搜索、关系修剪和实体搜索,这与ToG相同。然后ToG-R基于实体搜索获得的以EDcand结尾的所有候选推理路径执行推理步骤。如果LLM确定检索到的候选推理路径不包含LLM回答问题的足够信息,则我们从候选实体EDcand中随机采样N个实体,并继续进行下一次迭代。假设每个实体集合 在这里插入图片描述中的实体可能属于同一实体类并且具有相似的相邻关系,则修剪实体集合在这里插入图片描述的结果可能对随后的关系探索具有很小的影响。因此,我们使用随机波束搜索代替ToG中的LLM约束波束搜索来进行实体修剪,称为随机修剪。算法1和2显示了ToG和ToG-R的实现细节。ToG-R最多需要ND +D + 1个到LLM的调用。与ToG相比,ToG-R提供了两个关键优势:
1)它消除了使用LLM修剪实体的过程,从而降低了整体成本和推理时间。
2)ToG-R主要强调关系的文字信息,当中间实体的文字信息缺失或不熟悉时,减轻误导推理的风险。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python类中的抽象函数,以及继承后子类的比较

抽象函数的定义方式 导包 from abs import ABCMeta,abstractmethod声明抽象类 class Area(object):abstractmethoddef area(self):pass在抽象类中,不用写构造函数,抽象类不能进行实例化 继承抽象类的子类必须将抽象类中的函数进行重写(不重…

【Android】Android apk 逆向编译

链接:https://pan.baidu.com/s/14r5s9EJwQgeLK5cCb1Gq1Q 提取码:qdqt 解压jadx 在 lib 文件内找到 jadx-gui-1.4.7.jar 打开cmd 执行 :java -jar jadx-gui-1.4.7.jar示列:

数据代理机制

目录 前言 Object.defineProperty() 语法 第三个参数配置项 数据代理机制的实现 MVVM分层思想 前言 本文介绍Vue的数据代理机制,也就是通过vue实例对象来代理data对象中的属性的操作 Object.defineProperty() 在介绍vue的数据代理机制前,我们需要…

LLM 面试总结

溜一遍 MLStack.Cafe - Kill Your Next Machine Learning & Data Science Interview https://www.llmforce.com/llm-interview-questions MLStack.Cafe - Kill Your Next Machine Learning & Data Science Interview An interview with a language model, ChatGPT - W…

大数据技术与原理实验报告(MapReduce 初级编程实践)

MapReduce 初级编程实践 验环境: 操作系统:Linux(建议Ubuntu16.04); Hadoop版本:3.2.2; (一)编程实现文件合并和去重操作 对于两个输入文件,即文件 A 和…

Spark Job优化

1 Map端优化 1.1 Map端聚合 map-side预聚合,就是在每个节点本地对相同的key进行一次聚合操作,类似于MapReduce中的本地combiner。map-side预聚合之后,每个节点本地就只会有一条相同的key,因为多条相同的key都被聚合起来了。其他节…

pychon/PIL/opencv/json学习过程中遇到的问题

1. 使用PIL.Image读取图片 注意:pytorch中对图像预处理是transforms的输入必须是PIL格式的文件,使用cv2读取的图片就按照第二条的代码处理(3通道合并、归一化处理) from PIL import Image img Image.open("test1.jpg"…

数据结构 队列(C语言实现)

目录 1.队列的概念及结构2.队列的代码实现 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站。 1.队列的概念及结构 队列:只允许在…

【多线程 - 03、线程的生命周期】

生命周期 当线程被创建并启动以后,它不是一启动就进入执行状态,也不会一直处于执行状态,而是会经历五种状态。 线程状态的五个阶段: 新建状态(New)就绪状态(Runnable)运行状态&…

【c++随笔12】继承

【c随笔12】继承 一、继承1、继承的概念2、3种继承方式3、父类和子类对象赋值转换4、继承中的作用域——隐藏5、继承与友元6、继承与静态成员 二、继承和子类默认成员函数1、子类构造函数 二、子类拷贝构造函数3、子类的赋值重载4、子类析构函数 三、单继承、多继承、菱形继承1…

MyBatis研究

入门级使用 参照MyBatis官网的简介与入门部分&#xff0c;尝试使用MyBatis&#xff0c;可创建新的Maven项目&#xff0c;引入以下依赖&#xff1a; <dependencies> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</…

Spark 资源调优

1 资源规划 1.1 资源设定考虑 1、总体原则 以单台服务器128G内存&#xff0c;32线程为例。 先设定单个Executor核数&#xff0c;根据Yarn配置得出每个节点最多的Executor数量&#xff0c;每个节点的yarn内存/每个节点数量单个节点的数量 总的executor数单节点数量*节点数。 2、…

C/C++满足条件的数累加 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C满足条件的数累加 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C满足条件的数累加 2021年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 现有n个整数&#xff0c;将其中个位数…

react 组件进阶

目标&#xff1a;1.能够使用props接收数据 2.能够实现父子组建之间的通讯 3.能够实现兄弟组建之间的通讯 4.能够给组建添加props校验 5.能够说出生命周期常用的钩子函数 6.能够知道高阶组件的作用 一&#xff0c;组件通讯介绍 组件是独立且封闭的单元&#xff0c;默认情况下&a…

U-Mail邮件中继,让海外邮件沟通更顺畅

在海外&#xff0c;电子邮件是人们主要的通信工具&#xff0c;尤其是商务往来沟通&#xff0c;企业邮箱是标配。这主要是因为西方国家互联网发展较早&#xff0c;在互联网早期&#xff0c;电子邮件技术较为成熟&#xff0c;大家都用电子邮件交流&#xff0c;于是这成了一种潮流…

2022年03月 Python(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下面有关random的常用方法,描述错误的是? A: random.random()生成一个[0.0,1.0)之间的随机小数 B: random.randint(a,b)生成一个[a,b]之间的随机整数 C: random.choice(seq)从序列中…

SpringBoot2.X整合集成Dubbo

环境安装 Dubbo使用zookeeper作为注册中心&#xff0c;首先要安装zookeeper。 Windows安装zookeeper如下&#xff1a; https://blog.csdn.net/qq_33316784/article/details/88563482 Linux安装zookeeper如下&#xff1a; https://www.cnblogs.com/expiator/p/9853378.html Sp…

高防CDN:护航网络安全的卓越之选

在当今数字化时代&#xff0c;网络攻击与日俱增&#xff0c;为了确保网站和应用程序的稳定运行&#xff0c;高防CDN&#xff08;高防御内容分发网络&#xff09;应运而生。选择高防CDN的理由不仅源于其强大的防护性能&#xff0c;还体现了其与硬件防火墙异曲同工的奥妙。 选择高…

wordpress是什么?快速搭网站经验分享

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c入门第一个程序和基本知识讲解 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;宁静是一片强大而治愈的神奇海洋&#xff01; 目录 前言 wordp…

[ASP]数据库编辑与管理V1.0

本地测试&#xff1a;需要运行 ASP专业调试工具&#xff08;自己搜索下载&#xff09; 默认登陆口令&#xff1a;admin 修改口令&#xff1a;打开index.asp找到第3行把admin"admin"改成其他&#xff0c;如admin"abc123" 程序功能齐全&#xff0c;代码精简…