论文链接:https://aclanthology.org/2024.findings-emnlp.446
发表会议:ACL 2024
1. 动机
尽管大型语言模型在各种自然语言处理任务中表现出色,但其固有的幻觉现象严重影响了它们在复杂推理中的可信度。将可解释的知识图谱与大模型相结合已经成为当下研究的重点。以知识图谱问答任务为例,当前的主要问题:1)是如何准确地从知识图谱中检索特定知识;2)如何使推理模型能够理解和利用这些结构化知识。作者通过构建子图,使用 CoT 推理进一步增强 KG 的检索能力,并重新组织了更有效的知识图谱结构,同时设计了知识图谱相关的指令和持续的预训练策略,使大模型能够有效地学习和内化这种表示形式。
2. 方法
基于子图的检索增强生成范式:由KG检索和KG在大模型的上的推理两部分构成。
从 KG 中检索相关且有用的知识对于 KGQA 任务至关重要。知识图谱中个体知识的语义表达是有限的,并且在多跳问答中知识和问题之间的语义关系并不直接相关。因此,作者考虑在检索知识时结合邻近的知识信息和推理过程。将从问题实体到答案实体的路径上的所有知识三元组作为正样本,并从剩余的三元组中随机采样作为负样本。为了解决训练和推理过程中CoT质量不一致的问题,在训练过程中的提示中提供答案(如下图),以便LLM能够根据答案生成合理的推理过程。
知识图谱本质上是结构化知识,而大模型通常是针对非结构化文本进行预训练的。为了弥合这一差距并使大模型能够更好地理解和利用结构化知识,提出了知识图谱的简化表示。此外,作者还采用指令调整和持续的预训练来确保大模型能够内化这两种知识。
YAML 格式的知识图谱:检索到的知识三元组可能表现出许多字面相似性,直接将这些三元组线性化作为推理LLM的输入,将会导致明显的token冗余。如下图,YAML 使用缩进来表示层次关系。将不同的头实体视为第一层,将同一头实体下的不同关系视为第二层,将同一头实体和关系下的不同尾部实体视为第三层。
同时,因为训练语料库的问题,通用的 LLM并不熟悉YAML 格式的KG。为了使LLM能够理解YAML中的KG,设计了三种类型的图相关指令微调任务:1)实体级任务,其中LLM需要根据邻居推理实体;2)关系级任务,该任务是推理实体之间的关系;3)图级任务,LLM需要理解KG的语义并转换为自然语言。通过以上三种任务帮助大模型理解YAML 的KG。
3. 实验
实验设定:
作者选择WebQSP和CWQ作为实验数据集,以Hits@1和F1作为WebQSP和CWQ的评估指标。选择LLaMA2-7b-Chat作为基础模型,并且选择BGE-1.5-en-base作为基础检索模型。使用 LLaMA2-70b-Chat生成高质量的推理过程,用于训练推理模型。
实验结果:
通用 LLM 在 KGQA 任务上表现不佳,LLaMA2-7b-Chat 和 ChatGPT 都无法与 KGQA 特定模型的性能相匹,尤其是在更具挑战性的 CWQ 数据集中。这意味着大模型在理解和利用结构化知识图进行复杂推理的能力方面仍有很大的提升空间。在Hits@1指标方面,作者的方法全面超越了现有的SOTA,特别是在WebQSP数据集上,首次实现了超过90%的突破,并且作者的方法在 F1 分数方面与 SOTA 模型相当。
同时,作者比较了文章中的检索模型、无子图模型、无 CoT 模型和 BGE 模型的召回能力。实验表明作者的检索模型从 top-5 到 top-30 的召回率比其他三个模型更高,显著超过了原始的 BGE 模型。
消融实验:
在消融实验中,最重要知识图谱的推理训练;如果没有它,模型的性能在 Hits@1 中从 68.7% 骤降到 42.6%。这表明,即使LLM对KG信息进行编码并理解其语义,如果LLM不能利用KG进行推理那将是徒劳的。第二个关键组件是检索模块。实验表明,子图信息和推理过程的作用是互补的,它们的组合使用可以最大化效果。
4. 总结
在本文中,提出了一种将可解释的知识图与大型语言模型相结合的方法,以增强复杂的推理能力。方法包括知识图谱检索模型和知识图谱推理模型。整合推理过程和子图信息以实现更好的 KG 检索。对推理模型采用了一种新颖的 KG 表示和与 KG 相关的微调,以学习使用 KG 进行理解和推理。实验表明推出的方法优于现有的强基线和 SOTA 模型。
如何学习大模型 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 的正确特征了。