摘要。传统的知识图谱(KG)补全模型通过学习嵌入来预测缺失的事实。最近的研究尝试使用大型语言模型(LLMs)以文本生成的方式来补全知识图谱。然而,它们需要将LLMs的输出与知识图谱实体进行关联,这不可避免地带来了错误。在本文中,我们提出了一种微调框架DIFT,旨在释放LLMs的知识图谱补全能力并避免关联错误。给定一个不完整的事实,DIFT采用轻量级模型获取候选实体,并使用区分指令微调LLM,以从给定的候选中选择正确的一个。为了在减少指令数据的同时提高性能,DIFT使用截断采样方法选择有用的事实进行微调,并将知识图谱嵌入注入LLM。对基准数据集的广泛实验表明了我们提出的框架的有效性。
1 引言
知识图谱(KGs)以多关系结构存储现实世界的事实,其中节点代表实体,边缘标记为关系,以三元组的形式描述事实,如(头实体,关系,尾实体)。知识图谱通常面临不完整性问题,这对下游知识密集型应用的性能产生不利影响,例如问答系统和推荐系统。知识图谱补全模型旨在通过推断缺失的事实来解决不完整性问题,基于知识图谱中已有的事实进行推理。传统的知识图谱补全模型基于知识图谱嵌入。给定一个不完整的事实,其中头实体或尾实体缺失并需要预测,基于嵌入的模型首先使用实体和关系的嵌入函数计算候选实体的合理性,然后对其进行排序以获得预测。实体和关系的嵌入可以基于图结构或文本属性进行学习。
近年来,受到生成预训练语言模型(PLMs)如T5和BART的出色表现的启发,一些模型将知识图谱补全转换为序列到序列的生成任务。给定一个不完整的事实,基于生成的模型首先使用给定实体和关系的文本属性构建自然语言查询,然后请求生成PLM直接生成答案。最后,他们将答案与知识图谱中的实体进行关联,但这不可避免地会带来错误。
最近,一些研究尝试使用大型语言模型(LLMs)进行知识图谱补全,例如ChatGPT和LLaMA。给定一个不完整的事实,KICGPT首先使用演示事实和由预训练知识图谱补全模型预测的前个候选实体构建查询提示。然后,它与ChatGPT进行多轮在线交互,使用这些查询提示。最后,它根据ChatGPT的响应重新排列这些候选实体。这种方法可能没有充分利用LLMs的推理能力,因为LLMs(例如ChatGPT)可能不适合知识图谱。此外,多轮交互的成本过高。相比之下,KG-LLM将知识图谱补全查询转换为自然语言问题,并微调LLMs(例如LLaMA-7B)以生成答案。然后,它使用启发式方法将LLMs的输出与知识图谱实体进行关联:如果输出文本包含实体名称,则选择该实体作为答案。这种关联过程中的错误导致KG-LLM落后于最先进的知识图谱补全模型。此外,基于生成的模型获得多个输出文本并根据生成概率对其进行排序,这既耗时又不适合LLMs。
为了解决上述问题并充分利用LLMs的推理能力,我们提出了DIFT,通过区分指令微调LLMs以进行知识图谱补全。为了避免基于生成的模型中的关联错误,DIFT构建了要求LLMs从给定候选中选择一个实体作为答案的区分指令。具体而言,它首先采用轻量级的基于嵌入的模型为每个不完整的事实提供前个候选实体,并将这些实体的名称添加到提示中,作为知识图谱补全查询的候选答案。然后,它使用像LoRA这样的参数高效微调方法微调LLM,从提示中选择一个实体名称作为输出。通过这种方式,LLM通过微调得到了增强,并且始终能够生成知识图谱中的实体,而不是无约束的生成。
然而,使用参数高效的微调方法训练LLM仍然成本高昂。为了进一步降低微调的计算成本,我们设计了一种截断采样方法,可以从知识图谱中选择有用的样本用于指令构建。假设我们得到了一个用于微调的示例,查询为,答案实体为。我们使用预训练的基于嵌入的模型计算事实的分数和的排名。然后,截断采样方法根据事实的分数和答案实体的排名决定是否丢弃该示例。为了释放LLM在知识图谱上的图推理能力,我们将查询和候选实体的嵌入知识注入LLM,以进一步增强其能力。
总之,我们的主要贡献有三方面:
-
我们提出了一种新的知识图谱补全框架,即DIFT,利用区分指令微调生成LLMs。DIFT不需要将LLMs的输出与知识图谱中的实体进行关联。
-
我们提出了一种截断采样方法,以选择有用的知识图谱样本用于指令构建,从而提高微调效率。我们还将知识图谱嵌入注入LLMs,以提高微调效果。
-
实验表明,DIFT在知识图谱补全结果上超越了最先进的水平,在FB15K-237上达到0.364 Hits@1,在WN18RR上达到0.616。
本文的其余部分结构如下。在第2节中,我们深入探讨现有的知识图谱补全研究。第3节详细阐述了我们提出的框架。然后,我们在第4节中展示实验结果和分析。最后,在第5节中,我们总结了本文并概述了未来研究的潜在方向。
2 相关工作
相关研究可以分为基于嵌入的模型和基于生成的模型。
2.1 基于嵌入的知识图谱补全
基于嵌入的知识图谱补全方法通过从结构或文本特征中学习的实体和关系嵌入来计算预测概率。我们将现有的基于嵌入的模型分为两类:基于结构的模型和基于预训练语言模型(PLM)的模型。
基于结构的模型。这些模型使用结构特征(如边,即三元组)、路径或邻域子图来学习嵌入。因此,它们可以分为三组。第一组包括基于三元组的嵌入模型,以保留知识图谱的局部关系结构。它们将关系解释为几何变换或利用语义匹配方法对三元组进行评分。第二组包含基于路径的模型,这些模型主要从关系路径中学习概率逻辑规则,以促进推理并推断缺失的实体。第三组模型使用各种深度神经网络来编码知识图谱的子图结构。CompGCN捕捉基于图卷积网络(GCN)框架的多关系图的语义。相反,HittER使用Transformer来聚合关系邻居信息。最近,NBFNet采用灵活且通用的框架来学习实体对的表示,在基于结构的模型中表现出强大的性能。
基于PLM的模型。基于PLM的模型使用PLM(例如BERT)来编码事实中实体和关系的文本属性,并使用输出嵌入计算预测概率。KG-BERT是第一个基于PLM的知识图谱补全模型,验证了PLM能够捕捉知识图谱中的事实知识。它通过连接实体和关系名称将事实转化为自然语言句子,然后预测该句子是否正确。在KG-BERT之后,一些后续工作在不同方面进行了改进。StAR将每个事实分为两个不对称部分,并使用Siamese风格的编码器分别对其进行编码。SimKGC引入三种类型的负样本以实现高效的对比学习。CoLE通过共同蒸馏学习框架促进基于结构的模型和基于PLM的模型相互发展。这些工作都是基于嵌入的模型。它们使用仅编码器的PLM(如BERT)获得查询嵌入和实体嵌入。
2.2 基于生成的知识图谱补全
与需要学习实体、关系或事实嵌入的基于嵌入的模型不同,基于生成的模型将知识图谱补全视为文本生成任务。这些模型首先将知识图谱补全查询转换为自然语言问题,然后请求生成语言模型(例如,T5和BART)给出答案。最后,它们使用一些匹配方法将答案与知识图谱中的实体进行关联。与传统的基于分数对实体进行排名的知识图谱补全模型相比,基于生成的模型通过束搜索或采样生成多个实体,并根据生成概率对它们进行排名。GenKGC将知识图谱补全转换为序列到序列的生成任务,以实现快速推理速度。KGT5设计了一个统一的知识图谱补全和问答框架,但舍弃了预训练权重,从头开始训练T5。KG-S2S提出采用生成语言模型来解决不同形式的知识图谱补全任务,包括静态知识图谱补全、时间知识图谱补全和少样本知识图谱补全。尽管这些工作为如何使用大型语言模型进行知识图谱补全提供了一些见解,但仅仅用当前的大型语言模型替换预训练语言模型是不可行的,因为在知识图谱上微调大型语言模型是耗时且需要大量计算资源的。
随着大型语言模型的出现,一些工作尝试将大型语言模型适应于知识图谱补全。KG-LLM在知识图谱补全任务上对相对较小的大型语言模型(例如,LLaMA-7B,ChatGLM-6B)进行指令调优,并超越了ChatGPT和GPT-4,但仍然落后于最先进的知识图谱补全模型。KICGPT采用基于嵌入的模型作为检索器生成有序的候选实体列表,并设计了一种上下文学习策略,以提示ChatGPT通过多轮交互对实体进行重新排序。KICGPT是与我们提出的方法DIFT最相似的工作,因为我们也采用基于嵌入的模型来获取候选实体并将其提供给大型语言模型。然而,访问像ChatGPT这样的闭源大型语言模型成本高昂,因为推理成本随着缺失事实数量的增加而线性增长。相比之下,我们提出了一种有效且高效的方法来微调开源大型语言模型。
3 DIFT框架
在本节中,我们描述了用于知识图谱补全的DIFT框架。
图1. 提出的DIFT框架的示意图。
3.1 符号
我们首先介绍本文中使用的定义和符号。
知识图谱。一个知识图谱(KG)表示为 。 是实体的集合, 是关系的集合。 是事实的集合。我们将一个事实表示为 ,其中 是头实体, 是尾实体, 是 和 之间的关系。此外, 的可用文本属性包括实体名称、关系名称和实体描述。
知识图谱补全。知识图谱补全(也称为链接预测)旨在预测给定不完整事实的缺失实体。更具体地说,给定一个不完整的事实 或 ,知识图谱补全的目的是从实体集合 中找到缺失的实体 或 。
3.2 框架概述
图1展示了所提出的DIFT的整体框架。一般来说,DIFT在给定的知识图谱上对大型语言模型进行微调,借助于一个已经在上训练过的基于嵌入的模型。为了详细说明,以尾部预测查询为例,我们将输入到中,以获取前个预测实体,其中是一个预定义的超参数。随后,我们基于查询和候选实体C构建一个区分指令。最后,将输入到中,以选择最有可能的实体。通过这种方式,我们确保始终预测一个在E中的实体作为答案,避免将来自的无约束输出文本与实体进行关联。为了高效微调,我们利用对指令样本进行评分,仅保留高置信度的样本。此外,为了增强的图推理能力,我们设计了一个知识适应模块,将从获得的和候选实体C的嵌入投射到中。
3.3 指令构建
对于查询 ,我们构建提示 ,整合四个信息片段:查询 Q、描述 D、邻接事实 N 和候选实体 C,可以表示为:
其中“;”是文本之间的连接操作。我们以查询 (Titanic, film language, ?) 为例,如图 1 所示。
查询指的是包含不完整事实 的自然语言句子。我们并不设计复杂的自然语言问题来提示现成的 LLM,而是简单地将实体和关系名称以三元组的形式连接,并指明缺失的实体。在微调过程中,LLM 将被训练以适应我们的提示格式。
描述是关于 的描述性文本,包含丰富的实体信息。这些额外信息帮助 LLM 更好地理解实体 。例如,我们在图 1 中将 Titanic 描述为一部 1997 年由詹姆斯·卡梅隆执导的美国史诗浪漫灾难片。
邻接事实是通过抽样与实体 相关的事实获得的。由于可能有许多与 相关的事实,我们设计了一种简单而有效的抽样机制,即关系共现 (RC) 抽样。它基于关系共现,简化了事实的数量,同时确保包含相关信息。RC 抽样的直觉在于观察到与 经常共现的关系被认为对完成 至关重要。例如,图 1 中的关系 film language 和 film country 经常共现,因为电影的语言与其发行国家密切相关。因此,我们可以推断 Titanic 的语言很可能是英语,因为它是一部美国电影。基于上述观察,我们根据与 的共现频率对 的邻接关系进行排序,并随后选择包含这些关系的事实,直到达到预设阈值 。
候选实体是由知识图谱嵌入模型 排名的前 个实体的名称。我们保留候选实体的顺序,因为该顺序反映了每个实体在 中的置信度。我们指示 LLM 从给定的候选中选择一个实体,从而避免基础错误。
3.4 截断采样
我们设计了一种采样方法,以选择代表性样本来减少指令数据。主要目的是选择由 指示的高置信度样本,从而使 M 能够有效地获取 的内在语义知识。
通过在这些选定的指令样本上微调 ,我们有效地减轻了与训练相关的计算负担。
我们以样本事实 和查询 以及答案实体 为例。我们将样本事实表示为 。具体而言,我们从全局和局部两个角度评估 的置信度。全局置信度 的计算公式为 ,其中 是查询 中 的排名。我们称其为全局置信度,因为它衡量了 在知识图谱中所有候选项中的排名。
考虑到全局置信度忽略了答案实体排名相同的两个查询之间的差异,受到启发,我们提出了局部置信度来衡量事实本身的得分。局部置信度 的计算公式为 ,即从 获得的 的得分。值得注意的是,如果 未在前 名中排名,则 被赋值为 。最后, 的置信度由全局和局部置信度的加权和决定,表达如下:
其中 作为超参数,用于平衡全局和局部置信度。随后,我们引入一个阈值 ,并将置信度大于 的样本保留为最终的指令数据。
3.5 知识适应的指令调优
给定提示 ,我们对大型语言模型 进行微调,以生成实体 的名称。指令调优的损失是重构损失:
其中 表示实体 名称中的标记数量, 表示第 个标记, 表示在给定提示 和已生成标记的情况下生成 的概率。
在 中提供的事实以文本格式呈现,失去了知识图谱的全局结构信息。因此,我们提出将从知识图谱结构中学习到的嵌入注入到 中,以进一步提高其图形细化能力。我们将来自 的嵌入与 M 的语义空间对齐,以获得知识表示:
其中 表示基于嵌入 获得的知识表示,,, 和 是可训练的权重。 是 M 的嵌入维度, 是 M 的隐藏层大小, 是一个超参数。SwiGLU 是 LLaMA 中常用的激活函数。
考虑到 基于查询 和候选实体 的嵌入对事实进行评分,我们将 的知识表示和所有候选实体的知识表示注入到 中。我们添加两个特殊占位符 “[QUERY]” 和 “[ENTITY]” 来指示将会有来自 的知识表示,如图 1 所示。具体而言,我们在 中缺失实体后放置一个 “[QUERY]”,并在 中每个实体名称后放置一个 “[ENTITY]”。
Table 1. 数据集统计信息。
4 实验
4.1 实验设置
数据集。在实验中,我们使用两个基准数据集,FB15K-237和WN18RR,来评估我们提出的框架。FB15K-237由真实世界的命名实体及其关系构成,基于Freebase构建。另一方面,WN18RR包含英语短语及其之间的语义关系,基于WordNet构建。值得注意的是,这两个数据集是从其先前版本(即FB15K和WN18)更新而来的,均移除了某些逆边以防止数据泄漏。有关详细概述,这两个数据集的统计信息见表1。
评估协议。对于每个测试事实,我们通过分别掩盖相应的实体来进行头实体预测和尾实体预测。常规指标是排名评估指标,即Hits ()和平均倒数排名(MRR)。Hits 是正确实体在前名中排名的查询百分比,而MRR测量正确实体的平均倒数排名。在我们的框架中,微调后的LLM从候选排名列表中选择一个实体作为答案。为了评估其性能并使结果可与现有工作进行比较,我们将选定的实体移动到排名列表的顶部,其他候选实体保持不变。然后,我们使用Hits 和MRR来评估重新排名的候选列表。我们报告在过滤排名设置下头实体和尾实体预测的平均结果。
实现细节。我们在两台Intel Xeon Gold CPU、一台NVIDIA RTX A6000 GPU和Ubuntu 18.04 LTS上运行实验。文本属性取自KG-BERT。我们选择三个具有代表性的基于嵌入的模型进行DIFT实验,即TransE、SimKGC和CoLE。每个基于嵌入的模型在训练集上进行预训练。我们为验证集和测试集中的每个查询获取前20个预测实体。我们还获取所有查询和实体的嵌入以进行知识适应。
至于指令调优,我们选择LLaMA-2-7B作为LLM。我们采用LoRA进行参数高效的微调。LoRA的超参数设置为,alpha=16,dropout=0.1。我们在Transformer的自注意力模块中为所有查询和价值投影矩阵引入LoRA。为了进一步加快微调过程,我们通过QLoRA对LLM进行量化,QLoRA通过引入4位NormalFloat数据类型的双重量化将LLM参数量化为4位。受到KICGPT的启发,我们将验证集按9:1分为两部分。第一部分用于微调LLM以遵循指令,第二部分用于超参数选择。请注意,我们不使用每个基准的训练数据来构建指令。由于基于嵌入的模型已经学习了训练数据,它会在大多数训练事实中将正确实体排名为候选列表的第一位。如果我们使用这些候选列表来构建指令,LLM将学习一个巧妙的解决方案,将第一个候选作为答案,这并不是我们微调的目标。
4.2 基线
基于嵌入的模型。我们选择了八个基于结构的模型作为基线。选择了三个基于三元组的模型,包括TransE、RotatE和TuckER。我们还选择了两个基于路径的模型。Neural-LP是第一个从关系路径中学习逻辑规则的模型,而NCLR是当前最先进的基于路径的模型。其余模型均为基于图的模型。CompGCN利用GCN编码知识图谱的多关系图结构,而HittER则利用Transformer架构。NBFNet目前在基于结构的模型中表现最佳。我们还选择了五个基于预训练语言模型的模型作为竞争者,即KG-BERT、StAR、MEM-KGC、SimKGC和CoLE。值得注意的是,SimKGC是WN18RR上最先进的链接预测模型,得益于高效的对比学习。CoLE相互促进预训练语言模型和基于结构的模型,以在PLM基于模型中实现FB15K-237的最佳性能。为了确保公平比较,我们仅展示来自N-BERT的结果,这是CoLE中的PLM基于知识图谱嵌入模块,而不是整个CoLE框架的结果。
基于生成的模型。我们选择了三个基于生成的知识图谱补全模型,所有这些模型都基于BART或T5,即GenKGC、KGT5和KG-S2S。此外,我们选择了两个基于大型语言模型的最新模型作为基线。ChatGPT一键是AutoKG提出的基线,而KICGPT在FB15K-237和WN18RR的整个测试集上进行评估以进行比较。KICGPT是最具竞争力的知识图谱补全模型,它使用RotatE为每个查询提供前个预测实体,并通过多轮交互使用ChatGPT对这些候选者进行重新排序。我们还报告了DIFT在未微调情况下的性能,分别用LLaMA+TransE、LLaMA+SimKGC和LLaMA+CoLE表示。
4.3 主要结果
我们在表2中报告了FB15K-237和WN18RR上的链接预测结果。总体而言,我们提出的框架DIFT在两个数据集的大多数指标上都达到了最佳性能。
表3. 消融研究结果
与选定的基于嵌入的模型TransE、SimKGC和CoLE相比,DIFT在两个数据集上的性能都有所提升,尤其是在Hits@1方面。没有进行微调时,DIFT的性能显著下降,这表明对LLM进行微调对于知识图谱补全任务是必要的。
与基于LLM的模型ChatGPT一键预测相比,DIFT在Hits@1方面始终优于它,无论是否与任何基于嵌入的模型集成。这表明,使用上下文学习提示ChatGPT的效果不如借助现有的基于嵌入的模型对较小的LLM进行微调来进行链接预测。与最具竞争力的基线模型KICGPT相比,后者同样为LLM提供候选实体,DIFT带来的相对提升较小。然而,KICGPT需要与具有175B参数的ChatGPT进行多轮交互。相比之下,DIFT对仅有7B参数的小型LLaMA进行了微调。
比较不同的指标,我们发现Hits@1的性能提升更为显著,而Hits@10的提升则不那么明显。在DIFT中,我们要求LLM从给定的候选列表中选择合适的实体。考虑到正确实体更可能排在前10个实体中而不是前10个之外,LLM更有可能选择前10个中的一个实体作为答案。因此,Hits@1的提升更为明显,而Hits@10的提升则相对较小。我们还发现FB15K-237上的性能提升比WN18RR上的更为显著。这种差异可以归因于两个数据集之间密度的显著差异:FB15K-237的密度明显高于WN18RR,这意味着知识的储备更为丰富。更多的知识导致更好的提升,因为这些知识以提示和嵌入的形式提供给LLM进行理解。
4.4 消融研究
在消融研究中,我们选择CoLE作为基于嵌入的模型来提供候选实体,因为DIFT与CoLE在两个数据集上的整体表现最佳。我们评估了两种采样机制的有效性,即截断采样和采样,以及三种支持信息,即描述、邻居和用于知识适应的嵌入。
从表3中呈现的结果可以明显看出,所有组件对DIFT都有很大贡献。在所有这些组件中,截断采样对性能的影响最大。在没有截断采样的情况下,Hits@1的得分至少下降了。这表明该机制可以有效选择有用的指令数据,使LLM学习基于嵌入的模型的内在语义知识。
我们还可以观察到,描述、邻居和RC采样对两个数据集的影响显著不同。在没有描述的情况下,WN18RR上的Hits@1下降更为明显。这是因为与FB15K-237相比,WN18RR是一个稀疏的知识图谱,结构信息较少。因此,它需要额外的描述来丰富实体信息,帮助区分相似实体。此外,邻居信息对WN18RR也更为重要。这是因为许多正确的实体会直接出现在WN18RR的邻居事实中,便于LLM做出准确的预测。相反,对于RC采样,FB15K-237上的Hits@1提升更显著,而WN18RR则相对较小。我们认为这是由于FB15K-237的密度较高,每个实体都有大量的邻居事实。这些事实中许多与查询无关,导致干扰。因此,RC采样可以最小化无关事实并提高有效性。
至于知识适应,我们观察到在两个数据集上都有一致的性能提升,表明其良好的通用性和鲁棒性。
图2. DIFT在FB15K-237和WN18RR上的Hits 结果和训练时间,以及候选实体的数量。
4.5 进一步分析
候选数量的影响。在第4.3节中,我们将基于嵌入模型提供的候选实体数量 设置为20。在这里,我们研究 对DIFT性能和训练时间的影响。结果如图2所示。首先,对于训练时间,我们发现当增加 时,训练时间呈线性增长。这是直观的,因为增加 会导致更长的提示。其次,关于DIFT的性能,我们发现当 设置为30时,在FB15K-237上的性能最佳,而当 设置为40时,性能略有下降。如果我们在WN18RR上继续增加 ,也可以发现相同的观察结果。这表明盲目增加候选实体的数量并不能提高性能。第三,我们发现当 在FB15K-237上设置为30,在WN18RR上设置为20时,性能最佳。也就是说,为了达到最佳性能,DIFT在FB15K-237上需要比在WN18RR上更多的候选实体。我们认为这种差异源于FB15K-237上的模型性能普遍低于WN18RR。因此,为了确保提示中包含答案实体,在FB15K-237上建议使用比WN18RR更大的 。
截断采样阈值的影响。在第3.4节中,我们使用阈值 来控制指令数据的数量。为了研究 对DIFT性能和训练时间的影响,我们通过设置不同的 值进行实验。特别地,我们将 从主实验中的0.05分别更改为 、0.5和1.0。结果如图3所示。我们有以下观察。首先,随着 的增加,指令数据的数量减少,因此训练时间也相应减少。其次,当我们在两个数据集上将 设置为0时,性能下降,这表明增加指令数据的数量并不一定能提高性能,其质量也会影响性能。第三,如果我们严格确保指令数据的质量足够高,即将 设置为0.5或1.0,DIFT的性能也会下降。我们认为主要有两个原因:(1)当 设置为0.5或1.0时,有限的指令数据不足以充分微调LLM。(2)高置信度的指令数据通常会将答案实体放在候选列表的前几位。因此,用这些数据微调LLM将导致LLM总是选择排名靠前的实体,而不管它们是否正确。
DIFT与基本嵌入模型的比较。我们进一步研究DIFT的预测与所选嵌入模型的预测进行比较。为了进行此分析,我们继续使用CoLE作为嵌入模型来分析结果。我们绘制维恩图以突出它们共享和各自的正确预测,如图4所示。显然,除了共享的正确预测外,DIFT还可以独立获得一些正确预测。相反,我们观察到CoLE做出正确推断的实例,而DIFT未能复制。基于DIFT和CoLE的正确预测之间的差异,我们可以得出结论,LLM并不会盲目重复CoLE预测的实体,而是能够根据其在预训练阶段获得的知识推理缺失的事实。
不同版本LLM的比较。在主要实验中,我们使用LLaMA-2-7B-Chat作为DIFT的LLM。为了研究不同版本的LLM对DIFT性能的影响,我们实验了基础版本,记为LLaMA-2-7B-Foundation。结果如表4所示。使用LLaMA-2-7B-Foundation的DIFT在FB15K-237上的表现略优于使用LLaMA-2-7B-Chat的情况,但在WN18RR上的观察结果正好相反。总体而言,无论使用哪个版本的LLM,DIFT都能实现类似的性能。这表明DIFT对不同LLM版本的鲁棒性和泛化能力。
4.6 微调学习了什么?
在本节中,我们研究了在微调过程中LLM学习了什么。DIFT采用轻量级的基于嵌入的模型为微调和推理提供候选实体。一个自然的问题出现了:LLM是学习了基于嵌入的模型预测的偏好,还是知识图谱中的知识?为了回答这个问题,我们设计了以下实验来评估候选顺序在微调和推理阶段的影响。
候选顺序的影响。DIFT从基于嵌入的模型中获取前个预测实体作为LLM的候选。我们保留候选的顺序,因为我们假设顺序反映了基于嵌入的模型所学习的知识。
表5. 候选顺序的影响
在这里,为了研究候选顺序的影响,我们在微调或推理阶段对候选进行洗牌,要求LLM从洗牌后的候选列表中选择一个实体。请记住,洗牌后的候选列表仅用于实体选择,我们将选定的实体移动到基于嵌入的模型的排名列表顶部进行评估。结果如表5所示,我们有以下观察。
在FB15K-237上,我们采用CoLE作为基于嵌入的模型。我们发现,如果我们用有序候选微调LLM,但在推理过程中洗牌候选,性能会显著下降。我们认为原因在于有序候选指导LLM在前几个实体中进行选择,因为它们更具可信性。因此,即使候选被洗牌,LLM在推理过程中仍然关注前几个候选。当我们用洗牌候选微调LLM时,无论推理过程中候选是否洗牌,性能变化都很小。原因在于LLM并不知道前几个候选更具可信性,因此无法从候选的顺序中受益。
在WN18RR上,我们使用SimKGC作为基于嵌入的模型,发现类似的观察。然而,我们发现当用洗牌候选微调LLM时,DIFT的性能甚至比SimKGC更差。这表明LLM无法仅凭其固有知识超越SimKGC,而不考虑预测偏好。
基于以上分析,似乎我们的DIFT不仅捕捉了预测偏好,还主要从知识图谱中获取了知识。
案例研究。为了探索DIFT与所选基于嵌入的模型相比如何提高性能,我们对DIFT(集成CoLE)、TransE、SimKGC和CoLE进行了案例研究。表6展示了四个模型在FB15K-237的三个查询上的Hits@1结果,其中底部用横线标记的实体为答案。在前两个案例中,DIFT始终准确地执行,而其他模型则都预测错误的实体。
- 在案例1中,头实体的上下文描述“它讲述了一位名叫Betty Elms的有抱负的女演员的故事,她刚刚抵达洛杉矶……”提供了充足的支持来确定答案“洛杉矶”,而我们的DIFT生成了正确的实体名称,表明DIFT在上下文推理能力上相比基于嵌入的模型有所提升。
表6. FB15K-237三个查询的案例研究。正确答案用下划线标出。
-
在案例2中,描述和邻居信息都没有提供关于Shonda Rhimes性别的线索。基于嵌入的模型很难根据如此不完整的知识推断出正确的实体。相反,DIFT具有开放知识和强大的常识推理能力,使其能够克服这一限制并预测正确答案。这个案例展示了我们框架中基于嵌入的模型和LLM的互补性。
-
在案例3中,尽管DIFT推断出一个“错误”的实体“苏格兰的最后国王”,但必须强调的是,根本问题与数据集有关,而不是DIFT本身。这是因为“苏格兰的最后国王”的语言也是英语,但FB15K-237缺乏这一特定知识。这个案例表明,DIFT能够利用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 的正确特征了。