1. 动机
大语言模型(LLMs)在文本理解和零样本推理方面表现出令人瞩目的能力。然而,知识更新的延迟可能导致它们推理错误或产生有害结果。知识图谱(KGs)通过对广泛的实体和关系进行结构化组织和连接,为大语言模型的推理过程提供丰富且可靠的上下文信息。现有的基于知识图谱的大语言模型推理方法仅以文本形式将知识图谱的知识注入提示中,忽略了其结构信息。此外,它们大多依赖于闭源模型或大参数的开源模型,这对高资源消耗提出了挑战。为解决这些问题,作者提出了一种新颖的轻量级且高效的用于知识图谱问答(KGQA)的提示学习推理框架(LightPROF),它充分发挥大语言模型的潜力,以参数高效的方式处理复杂的推理任务。
*2. 贡献*
本文的主要贡献有:
(1)第一个将知识图谱的文本内容和图结构都转换为用于提示大语言模型的嵌入的框架。
(2)提出了LightPROF,这一轻量级且高效的提示学习推理框架为小规模大语言模型提供了稳定的检索和高效的推理能力,与大语言模型本身相比,所需的训练参数要少得多。
(3)在两个知识图谱问答数据集上进行的大量实验证明了LightPROF的优越性,超过了使用大规模大语言模型(如LLaMa-2-70B、ChatGPT)的方法。通过进一步分析,LightPROF在输入词元数量和推理时间方面具有显著的效率优势。
3. 方法
总体框架如图1左图所示,LightPROF通过精确检索和细粒度结构化数据处理能力,在小规模大语言模型下实现高效的复杂知识图谱问题推理。“检索-嵌入-推理”框架包含三个阶段:推理图检索、知识嵌入和知识提示混合推理。
图1 总体框架图
阶段1:推理图检索
对于复杂的多跳知识图谱问答任务,“如何基于问题从知识图谱中高效、准确且稳定地检索信息” 这一问题至关重要。为解决这一关键问题,作者将检索模块分为三个步骤:语义提取、关系检索和推理图采样,如图1右图所示。
语义提取:对于给定的问题q,目标是从知识图谱中提取相关语义(即跳数和锚实体B),在保留关键推理知识的同时缩小检索范围。这种方法能够检索并构建高度相关且精确的推理图。具体而言,作者微调一个预训练语言模型,如BERT,以基于查询q的语义向量学习知识图谱推理所需的跳数。H是数据集中的最大跳数,这可以被构建为一个分类任务:
关系检索:知识图谱中的关系描述了两个实体之间的特定连接,为它们的交互提供语义清晰度,并极大地丰富了知识图谱的信息内容。目前许多研究利用语义丰富的关系链接进行知识图谱推理任务。更关键的是,与不断变化且复杂的实体相比,知识图谱中的关系表现出更高的稳定性和直观性。为了尽可能收集相关知识,作者基于锚实体B和预测的跳数在知识图谱中搜索关系链接。具体来说,模型首先选择一个锚实体,然后采用深度限制为的约束广度优先搜索。这个过程旨在收集所有从锚实体B出发、长度达到预定的关系链接。 推理图采样:首先,将检索到的关系链接输入到大语言模型中。随后,大语言模型计算分数,并根据它们与问题q的语义相关性对其进行排序。然后,选择前k个相关链接。最后基于选定的关系链接在知识图谱中进行采样,提取多个推理路径,以构建一个精炼的推理图,表示为。
*阶段2:知识嵌入*
知识图谱通常包含丰富多样的复杂结构信息,包括子图结构、关系模式以及实体之间的相对关系。这种结构信息对于大语言模型深入理解知识图谱至关重要。然而,知识图谱结构信息的自然语言表达存在冗余和混淆,无法直接揭示其内在本质,从而阻碍了大语言模型有效利用这些信息。 为应对上述挑战,作者提出了一种精细且紧凑的知识适配器,它能够对推理图中的文本信息进行编码,同时提取其结构信息,如图3所示。通过在细粒度上结合文本信息和结构细节,知识适配器帮助模型深入理解推理图中的知识,实现更精确的推理。 具体而言,假设推理图由个推理路径组成,每个推理路径被分解为一组三元组,其中是推理跳数。随后,使用Embed(·)为每个三元组获取关系嵌入。
用相同的方式获得实体嵌入、。接下来旨在捕获每个实体和关系之间的局部和全局交互。首先使用StructEmb(·)对中第i个三元组的局部结构信息进行编码。然后,使用线性层Linear(·)从整个推理路径聚合全局结构信息:
此外,为了捕获推理路径的文本信息,作者使用Fusion(·)组合中所有实体和关系的文本级信息。首先获得所有头实体的组合文本表示,如下所示:
然后,用相同的方式获得关系的组合文本表示和尾实体的组合文本表示。之后,将这些向量合并为一个向量,以表示整个推理路径的综合文本信息:
最后使用KnowledgeEncoder(·)将获得的综合文本信息和全局结构信息无缝整合,得出推理路径的融合表示,如图2所示:
图2 知识适配器示意图及其关键组件
*阶段**3**:知识提示混合推理*
大语言模型通过在大型语料库上进行广泛训练,获取了大量知识。然而,尽管它们在通用知识方面表现出色,但在处理专业知识、复杂的长逻辑链和多跳知识推理时,仍存在显著不足,这主要源于其预训练数据的局限性。此外,虽然可以通过重新训练来扩展大语言模型的知识库,但这种方法通常成本高昂且耗时。更严重的是,重新训练可能导致模型对现有知识的灾难性遗忘。因此,这给保持大语言模型的知识更新带来了一定挑战。为避免上述问题,在LightPROF训练过程中,作者冻结大语言模型的参数,使用软提示和硬提示相结合的方式,引导模型更精确、高效地回答问题,如图1所示。
具体来说,大语言模型的输入采用聊天格式组织,通过精心设计的文本模板将指令和问题组合在一起,称之为硬提示。在大语言模型的编码阶段,将表示推理图的知识软提示插入硬提示的特定位置,有效地注入外部知识,如图1所示。这种方法使大语言模型能够根据给定的输入内容自主、准确地回答问题,而无需更新参数。通过这种方式,不仅保持了模型的稳定性,还在特定知识领域内提高了其性能和效率。
4. 实验
在实验中,作者深入探讨以下问题。问题1:LightPROF在知识图谱问答任务中能在多大程度上提升大语言模型的性能?问题 2:LightPROF能否与不同的大语言模型骨干网络集成以提升性能?问题 3:LightPROF能否在小规模大语言模型下实现高效输入和稳定输出?
表1 LightPROF与基线方法在两个数据集上的性能比较
数据集:基于Freebase知识图谱的两个公开数据集上训练和评估LightPROF的多跳推理能力:WebQuestionsSP(WebQSP)和ComplexWebQuestions(CWQ)。使用匹配准确率(Hits@1)来评估模型的top - 1 答案是否正确。
表2 消融实验
结果表明,结构信息的整合对于模型理解和处理复杂查询中的实体和关系至关重要。结构信息的融入显著提高了模型对知识图谱中数据的利用效率。持续训练知识编码器对于增强模型对知识表示的理解和生成也至关重要。这个训练过程显著提高了模型编码复杂结构知识的能力,使其能够更准确地响应基于深度知识的查询。此外,随机检索的推理路径会对性能造成显著损害,突出了准确稳定的检索模块的重要性。
5. 总结
在本文中,作者介绍了LightPROF框架,它能够准确检索并高效编码知识图谱,以增强大语言模型的推理能力。为了有效缩小检索范围,LightPROF以稳定关系为单位对知识图谱进行逐步采样。为了在参数较少的大语言模型上实现高效推理,作者开发了一种精细的知识适配器,它能够有效解析图结构并进行细粒度的信息整合,从而将推理图压缩为更少的标记,并通过投影器与大语言模型的输入空间实现全面对齐。
如何学习大模型 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 的正确特征了。