1. 动机
本文是IDEA研究院的工作,这篇工作将知识图谱的和大语言模型推理进行了结合,在每一步图推理中利用大语言模型检索图结构数据,实现了深层且可靠的推理。
1.1 大语言模型的问题
尽管大型语言模型(LLM)在各种任务中都取得了显著的表现,但在面临复杂的知识推理任务时有很大的局限性
(1)LLM通常无法准确回答需要预训练阶段以外的专业知识的问题或需要长逻辑链和多跳知识推理的问题
(2)LLM缺乏可靠性、可解释性和透明度,这引起了用户对“幻觉”和“有害文本”风险的担忧
(3)LLM的训练过程通常既昂贵又耗时,这使得它们很难保持最新的知识。
1.2 “LLM ⊕ KG”方法的局限性
一个自然而有潜力的解决方案是结合外部知识,如知识图谱(KGs),以帮助改进LLM推理。KGs提供结构化、明确和可编辑的知识表示,提供了一种互补的策略来减轻LLM的局限性。这些方法遵循一个范式:从KGs中检索信息,相应地增加提示,并将增加的提示输入LLM,这篇论文称为“LLM ⊕ KG”。
尽管LLM旨在整合LLM和KG的力量,但在这种范式中,LLM扮演着翻译器的角色,将输入问题转换为机器可理解的命令,用于KG的搜索和推理,但它并不直接参与图推理过程。不幸的是,这种低耦合度的范式有其自身的局限性,其成功在很大程度上取决于KG的完整性和高质量。
1.3 “LLM ⊗ KG”范式的提出
本文提出了一种新的高耦合“LLM ⊗ KG”范式,其中KG和LLM协同工作,在图推理的每一步中互补彼此的能力。这篇文章称为“Think-on-Graph”,ToG允许LLM动态探索KG中的许多推理路径,并相应地做出决策。其具有以下优点:
(1)深度推理
(2)可靠推理
(3)灵活高效
图1 针对问题“堪培拉所在的国家现在的多数党是什么?”,三种LLM推理范式的典型工作流程:(a) 仅LLM(例如思想链提示),由于知识库时间落后答案错误(b) LLM⊕KG(例如,通过LLM生成的SPARQL查询进行KBQA),图谱查询失败(c)LLM⊗KG(如,ToG)深度推理成功得到答案。
2. 方法
图2 ToG的推理过程,包含多个关系探索、实体探索过程并且包含搜索和修剪过程,最终生成多个推理路径,从中得到答案
2.1 ToG
ToG提示LLM迭代地探索KGs上的多个可能的推理路径,直到LLM确定可以根据当前推理路径回答问题。整个推理过程包括以下三个阶段:初始化、探索和推理。
(1)初始化
ToG首先提示LLM自动提取有问题的主题实体,并获得问题的前N个主题实体。请注意,主题实体的数量可能小于N。
(2)探索
第D次迭代中的探索阶段旨在利用LLM,根据问题x从当前前N个实体集 的相邻实体中识别出最相关的前N个实体 ,并用 扩展前N个推理路径P。为了解决LLM处理大量相邻实体的复杂性,ToG实施了两步探索策略:首先,探索出重要的关系,然后使用选定的关系来指导实体探索。
关系探索
关系探索是一个深度为1、宽度为N的集束搜索(beam search)过程,从 到 。整个过程可以分解为两个步骤: 搜索和修剪。LLM充当自动完成此过程的代理。
搜索:搜索在第D次迭代开始时,关系探索阶段首先为每个推理路径 搜索链接到尾部实体 的关系 。这些关系被聚合为 。
修剪:一旦我们从关系搜索中获得了候选关系集 和扩展的候选推理路径 ,我们就可以利用LLM基于问题x的文字信息和候选关系 ,从 中选择出以尾部关系 结尾的新的前N个推理路径P。
实体探索
与关系探索类似,实体探索也是LLM从 到 执行的波束搜索过程,由两个步骤组成:搜索和修剪。
搜索:一旦我们从关系探索中获得了新的前N个推理路径P和一组新的尾部关系 ,对于每个关系路径 ,我们可以通过查询 或 来探索候选实体集 ,其中 表示 的尾部实体和关系。我们可以将 聚合到 中,并将前N条推理路径P扩展到具有尾部实体 的 。
修剪:由于每个候选集合 中的实体是用自然语言表示的,因此我们可以利用LLM来选择新的前N个推理路径P,该路径P以 的尾部实体 结束。
在执行上述两个探索之后,我们重建新的前N个推理路径P,其中每个路径的长度增加1。每个修剪步骤最多需要N个LLM调用。
(3)推理
在通过探索过程获得当前推理路径P后,我们提示LLM评估当前推理路径是否足以生成答案。如果评估结果为肯定,我们将提示LLM使用推理路径生成答案,并将查询作为输入,如图2所示。相反,如果评估结果为否定,我们重复探索和推理步骤,直到评估结果为肯定或达到最大搜索深度 。如果算法尚未结束,则表明即使达到 ,ToG仍然无法探索解决问题的推理路径。在这种情况下,ToG仅基于LLM中的固有知识生成答案。
ToG的整个推理过程包括D个探索阶段和D个评估步骤以及一个生成步骤,该生成步骤最多需要对LLM进行2ND+D+1次调用。
2.2 ToG-R
以前的KBQA方法,特别是基于语义解析的方法,主要依赖于问题中的关系信息来生成正式查询。受此启发,本文提出了基于关系的ToG(ToG-R),它探索从主题实体开始的前N个关系链 ,而不是基于三元组的推理路径。ToG-R在每次迭代中依次执行关系搜索、关系修剪和实体搜索,与ToG相同。然后ToG-R基于通过实体搜索获得的以 结尾的所有候选推理路径来执行推理步骤。如果LLM确定检索到的候选推理路径不包含LLM回答问题的足够信息,则我们从候选实体 中随机抽取N个实体,并继续进行下一次迭代。
假设每个实体集 中的实体可能属于同一实体类并具有相似的相邻关系,则修剪实体集 的结果可能对后续的关系探索几乎没有影响。因此,我们在ToG中使用随机集束搜索而不是LLM约束的波束搜索来进行实体修剪,称为随机修剪。oG-R最多需要对LLM进行ND+D+1调用。
ToG-R对比ToG的优势
(1)它消除了使用LLM修剪实体的过程的需要,从而减少了总体成本和推理时间。
(2)ToG-R主要强调关系的字面信息,当中间实体的字面信息缺失或LLM不熟悉时,降低了错误推理的风险。
3. 实验
3.1 实验设计
数据集和评估采用最近常用的方法,如表1所示,共做了五个任务,包含九个数据集,使用了Freebase和Wikidata两个知识图谱用于推理。并且使用了多个大语言模型验证即插即用的便捷性,分别是ChatGPT, GPT4和Llama-2,其中。测试指标采用标准绝对匹配(exact match)准确率。因为基于特定数据集的大模型微调方法仅在特定相关领域有较好表现,所以不将微调方法的SOTA水平作为比较。
表1 ToG在不同数据集上的结果
3.2 实验结果
(1)与其他方法对比的结果:如表1所示,使用ToG方法所有的任务上效果都优于CoT方法的SOTA水平,甚至部分超过了微调方法。在大部分场景下,ToG方法优于ToG-R方法,因为ToG按照三元组推理的方法比ToG-R关系推理能够获得更多中间实体的信息。
(2)不同基座模型的表现 :实验表明ToG的效果随着基座模型能力的提升而提升。并且即使使用最小的模型Llama-2(70B参数),ToG也优于GPT-4的CoT。小型LLM的ToG方案可能是替代昂贵大LLM的候选者,特别是在外部KG可以覆盖的垂直场景中。
(3)消融研究:针对搜索宽度和深度,实验表明宽度和深度设置为3是最合适的。针对知识图谱的选择,针对不同的任务越专业的知识图谱效果越好。针对提示的设计,使用ToG的三元组格式提示效果优于序列格式、句子格式以及ToG-R的格式。针对不同的修剪工具,直接让大模型做修剪效果最佳。
(4)知识的可追溯性和可纠正性:ToG的显式推理路径可以显示给用户,体现了知识的可追溯性。同时,根据ToG的提示,用户可以要求LLM更正KG出现的错误,并用正确的信息回答相同的问题。ToG不仅用KG增强LLM,而且用LLM提高KG的质量,称为知识灌输。
4. 总结
这篇文章介绍了LLM⊗KG范式,用于以紧密耦合的方式集成LLM和KG,并提出了图上思考(ToG)算法框架,该框架利用LLM作为参与KG推理的智能代理来实现更好的决策。实验结果表明,ToG在没有额外训练成本的情况下优于现有的部分基于微调的方法和基于提示的方法,并减轻了LLM的幻觉问题。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。