重新思考大模型知识注入框架

技术

Revisiting the Knowledge Injection Frameworks**”**

本文研究了大型语言模型在垂直领域特定任务中如何更好地利用外部知识。通过注入随机的知识元组到LLMs中,可以得到与注入对齐知识相媲美的结果。作者提出了一种简单的改进技术,即强调对注入LLMs的外部知识库进行修剪和净化。通过将这种技术与大部分知识注入框架和最新的LLMs集成,成功解决了这个问题并推动了领域自适应LLMs性能的提升。

picture.image

论文地址

https://arxiv.org/abs/2311.01150.pdf

摘要

大型语言模型(LLMs)如GPT在全球范围内产生了巨大影响,但如何利用外部知识使LLMs更适合垂直领域特定任务仍未完全解决。现有的一些工作依赖于对齐启发式方法,将相应的知识元组注入相关文本样本中。然而,研究发现注入未对齐(即随机)的知识元组比注入对齐的知识元组效果更好。因此,提出了一种简单的技术,核心在于对注入LLMs的外部知识库进行修剪和净化。将此技术整合到大多数(如果不是全部)知识注入框架和最新的LLMs中,可以克服上述问题并进一步推动领域自适应LLMs的性能边界。

简介

大型语言模型(LLMs)如BERT、RoBERTa、GPT-3等已经在NLP领域带来了巨大的影响,但缺乏领域特定知识时,LLMs更容易在下游任务中出现幻觉。知识注入是解决这个问题的一种轻量级但有前途的方法,例如ERNIE、KnowBert和K-BERT。这些方法依赖于对齐模块,将外部知识图与文本样本自动关联,以影响下游任务。

我们的研究结果:本文研究了知识注入技术在模型微调中的效果,发现注入不对齐、随机或无关的知识元组可以获得与对齐知识相当甚至更好的结果。这一结论在多个知识注入框架和12个数据集上得到了验证。作者认为这种轻量级的方法更适合实际应用。但是,这并不意味着知识注入技术完全行不通,之前的预训练阶段也取得了一些成功。未来需要研究注入知识的调整动态和解决问题的方法。

picture.image

我们发现,注入的知识会被模型视为噪声,而不是有用的信息。作者提出了一个假设,即模型无法充分解开外部知识的复杂性,因此将注入的知识视为噪声。作者通过构建一个新的知识图谱来解决这个问题,并证明了这种方法可以与以前的注入框架以及最新的LLM(语言模型)无缝集成。作者强调了注入的知识本身的重要性。

相关工作

LLMs的知识注入

大型预训练语言模型(LLMs)如ChatGPT和GPT-4在许多任务中展示了出色的能力,但在专业领域如医疗保健中仍需注入知识。虽然LLMs可以通过预训练或检索文档来获取专业领域知识,但这可能会带来高昂的成本和知识不与模型内部知识无缝对接的挑战。因此,需要一种更简洁方便的方式来整合外部结构化知识源,而不是更新LLMs的内部参数。

知识增强模型

大规模应用预训练模型在自然语言处理领域后,许多研究希望通过整合外部知识来提高下游任务的性能。其中,许多工作使用基于知识表示的方法来整合事实知识,其他模型则使用其他形式将知识整合到模型中。

这些文本介绍了一些预训练模型,如ERNIE、LUKE、KnowBert和KBERT,它们在不同的下游任务中表现出色。这些模型都采用了不同的注入机制,但缺乏深入的研究和分析,导致它们缺乏可解释性。

LLMs中的可解释性分析

知识注入框架的透明度和可解释性分析是一个重要的研究方向。目前的研究还比较有限,但已有一些相关工作。Peters等人(2019)、Jiang等人(2020)和Cao等人(2021)证明了预训练语言模型可以通过在大规模无标签数据上进行预训练来获取大量的事实知识。Li等人(2022)从捕捉事实知识的角度分析了语言模型的能力。Zhang等人(2021)展示了注入冗余和无关知识会导致效率下降。Hou等人(2022)表明知识注入语料库的大小与注入质量之间没有正向关系。然而,我们认为对知识注入的透明度进行适当的研究是非常重要的。这个研究方向还处于早期阶段,往往被之前的工作忽视或优先级较低。通过这项工作的研究,我们可以谦卑地通过展示我们提出的协议产生的一些负面结果来提醒社区。

预备知识

首先介绍与知识注入相关的初步概念,为后续章节打下基础。知识注入是指将外部知识融入到机器学习模型中,以提高模型的性能和泛化能力。

文本-知识图谱对齐

将知识图谱或其子图与输入文本进行对齐的先决步骤,标准方法使用实体对齐工具(如TagMe)来检测输入文本中提到的知识图谱实体并将它们链接到正确的知识图谱条目。

picture.image

这个过程可以表示为m,k_e = h(x,G),其中m表示提到的实体,k_e表示链接到知识图谱中的实体,h表示实体对齐工具。‘’

知识注入方法

picture.image

知识注入方法的任务是将外部知识注入到语言模型中,以更好地适应下游任务,特别是低资源领域。这个领域有几个分支,其中一个主要的区分是在预训练阶段还是微调阶段进行注入。这篇文章不是为了提出新的注入方案,而是探讨不同的实现方式,包括 ERNIE、KnowBert、ChatGPT、GPT-4 等模型。注入的方式可以用简单的公式表示:y = f(x, k),其中 x 是输入文本,k 是注入的知识,y 是对应的标签,f 是可训练的神经网络。

picture.image

注入的不同知识

通过控制变量来研究知识注入对模型性能的影响。实验中注入的知识包括对齐知识、随机知识、维基三元组知识和概念知识。其中,对齐知识是先进行文本-知识图谱对齐,然后注入模型中;随机知识是从外部知识库中随机选择一个知识点注入模型;维基三元组知识是从维基数据中提取三元组,不进行对齐;概念知识是从维基数据和Wordnet中提取,然后进行对齐。实验结果表明,注入不同类型的知识对模型性能有不同的影响。

随机 vs. 对齐

本文讨论了一个研究问题:现有的注入算法的性能改进是否真的归因于注入的知识。为了解决这个问题,作者设计了一系列的消融实验,严格控制变量,以调查知识信息的实际影响。在12个相关数据集上的实验结果表明,对齐的知识注入并不优于随机的知识注入。接下来的部分将详细描述实验设置并呈现相应的结果。

知识注入的效果可以分解为两个部分:(i)注入机制,即如何注入知识;(ii)知识本身,即注入什么知识。大部分之前的研究都集中在(i)上,并以最终性能作为唯一的指标来检查注入是否有效。然而,为了进一步提高系统的透明度,我们认为应该研究并满足这两个条件。因此,我们主要关注(ii)。我们打算用随机知识3.3替换先前添加的知识,并评估原始注入的性能(使用对齐的知识3.3)进行比较。具体而言,我们采用以下设置:

  • 知识注入是指在训练和测试过程中注入对齐的知识;

  • 随机注入是指在训练和测试过程中注入随机的知识;

  • 噪声注入是指在训练和测试过程中注入随机的高斯白噪声。

知识注入模型在细调阶段没有充分利用注入的知识,可能将其视为白噪声注入。进一步分析发现,知识注入和随机注入在编码器和分类器输出上的差异也很小。

主干网络和数据集。 不同的下游任务可能需要不同的知识类型、规模或数量。不同NLP应用的独特知识注入方法和模型主干也可能存在很大差异。为了对知识增强模型进行全面的回顾,我们选择了最先进、性能最好的知识注入LLMs作为基线,与不同的基准相对应。遵循上述原则,我们主要选择LUKE、ERNIE、KnowBERT、K-BERT和KeBioLM作为研究的主要骨干。这些方法主要可以分为两类:基于文本的方法以及基于嵌入的方法。同时,我们涵盖了大多数主要数据集。

picture.image

主要结果与讨论。 根据表1 - 5c,我们得出结论:(i)知识注入并不优于随机注入。它们之间的差异一般在1.0以内,有的甚至低于0.1;(ii)随机注入和噪声注入之间的差异也可以忽略,F1值不超过0.3。

这些现象可以进一步推断,知识注入模型没有充分利用微调阶段注入的知识,这可能是这些注入模型面临的一个致命问题。经过进一步的研究,我们有理由相信该模型对待知识注入的方式类似于白噪声注入。

进一步分析。 为了进一步探究知识注入和随机注入的区别,我们在开放实体中比较了它们在编码器和分类器输出上的相似性,并TACRED,发现它们的差异也很小。有关进一步探索的细节,请参阅附录B。

picture.image

picture.image

picture.image

通过这些实验,我们发现以往的知识注入、随机注入甚至噪声注入方法都没有产生明显的区别。这使我们认为他们可能不被认为是有利的选择。从之前的分析中,我们观察到之前的工作倾向于强调注入方法本身,而不是考虑模型准确感知和理解注入知识的能力。这可能是问题的根本原因。

更多不一定更好

本文研究了知识注入框架在微调阶段中的表现,发现LLMs更倾向于将注入的知识视为白噪声。作者认为过多和过于复杂的注入知识可能是造成这一问题的原因之一。作者通过实验验证了这一假设,并发现过多的注入知识并不一定能提高性能,甚至可能导致性能下降。

picture.image

实验细节。 在之前的消融实验中,微调阶段的知识注入主要有两种类型,基于文本的和基于嵌入的。在基于嵌入的知识注入方法中,由于在单个点添加不同的知识嵌入可能会丢失大量的知识嵌入信息,因此很难设计相关的实验。然而,基于文本的知识注入方法,如K-BERT,是为大量知识注入而设计的(如软位置嵌入和可见层的设计),不适合这类实验。

在此基础上,设计了一种简单的基于文本的注入方法。该方法利用指代实体对应的标题对文本中的指代实体进行标注,并在文本的结尾添加对应的指代实体三元组。举一个具体的例子,给定原始输入文本,互联网上最著名的猫不爽猫(Grumpy Cat)在7岁时去世。不爽猫,网络上最著名的猫,7岁就去世了。(不爽猫型猫)。它可以定义为y = f(x, (k1, k2,…, kn)),其中n是我们限制的知识注入量,(k1, k2,…, kn)参考维基三元组知识3.3。为了严格控制变量,与之前的实验分析相对应,我们使用BERTbase作为基线,并保持与ERNIE相同的微调设置。

分析。 图3展示了在基于文本的方法实验中,随着注入知识的增加,知识注入与随机注入在开放实体和FewRel上的性能差异变化。我们可以观察到,随着注入三元组数量的增加,知识注入与随机注入之间的差距总体上减小。

在不控制知识纯度的情况下,更多并不意味着更好。因此,我们必须将重点从注入更多的知识转向注入更精细、更有针对性的知识。

用简单的方法补救

我们提供了一个(令人尴尬的)简单的修复方法(仅在微调阶段),该方法在上述所有消融测试中都取得了成功。为了缓解知识注入失败的问题,引入了更干净、抽象的概念性知识。为了验证补救措施的有效性,我们设计了协议的最后一部分。

注入细节。 建议用一个更干净、更简洁的知识来改变注入的知识:y = f(x, k c),其中k c是所构建的概念性知识3.3。与事实知识库Wikidata(包括超过8000万个实体)相比,概念知识库Wordnet要小得多,只有117 000个概念。并且随着概念网络(Wordnet的结构)的加深,概念知识库可以得到更大程度的细化和剪枝。有了这些概念知识,第5节中的例子就变成了:* 不爽猫 *,互联网上最著名的猫,死于7岁。(不爽猫猫动物)。

picture.image

主要结果。 我们选择BERT-base作为骨干和基线,并遵循前面的协议。注意,在比较中,除了注入知识的不同形式外,所有设置都是相同的。如表6和表7所示,我们得出以下观察结果:(i)正确知识注入和随机知识注入的性能差异相比前几节有明显的放大,例如在两个关系抽取数据集上的+3.91 F1;(ii)-开放实体上的这一差异仍然相对较小(0.32 F1),但仍优于之前的消融实验结果(≤0.06 F1)。我们推测这可能是由于数据集规模较小(每个数据集只有2000个训练和测试样本)造成的。

picture.image

在ChatGPT中的实验为了验证概念注入在ChatGPT中的有效性,我们从TACRED中抽取了一些数据。实验分为三组:

  • 组1采用段落“注入细节”的文本格式,最后没有三元组;

  • 组2保留并注入所有的维基三元组知识(k1, k2,…, k n),就像y = f(x, (k1, k2,…, k n));

  • 第三组注入概念性知识k c,即y = f(x, k c)。

结果表明,组1和组2都表现出88%的准确率水平。相反,包含概念知识的组3达到了92%的准确率,绝对提高了4%。这意味着概念注入可能会对ChatGPT产生明显的影响。有关更多实验信息,请参阅附录D.1。

知识源剪枝是成功向语言模型注入知识的关键。

总结

本文介绍了一个关于知识注入框架的综合实证研究。通过一系列的测试和消融协议,我们发现大多数以前的知识注入方法都存在错误。我们提出了噪声注入的相似性解释,并提供了一个简单的修复方法来解决这些问题。我们鼓励学术界进一步检查知识注入方法,并更加关注知识本身,而不仅仅是注入机制或神经架构。最后,我们希望我们的协议能够在未来的研究中作为一个合理性检查的工具,并将我们的简单修复方法作为额外的基准应用。

▌关于我们

灵度智能,我们致力于提供优质的AI服务,涵盖人工智能、数据分析、机器学习、深度学习、强化学习、计算机视觉、自然语言处理、语音处理等领域。提供AI课程、AI算法代做、论文复现、远程调试等服务。如有相关需求,请私信与我们联系。

我们的愿景通过创新创意和智能技术为客户提供卓越的解决方案,助力产业升级和数字化转型。我们的产品和服务将引领行业标准,创造卓越的用户体验。我们的团队致力于创造更智能、更便捷和更高效的生活方式,推动社会进步,致力于创造更美好的未来。

淘宝店铺: 公众号后台回复“淘宝”获取店铺地址

商务合作: 发送邮件至lingdu_tech@163.com邮箱

关注【灵度智能】公众号,获取更多AI资讯。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生环境下的日志采集存储分析实践
云原生场景下,日志数据的规模和种类剧增,日志采集、加工、分析的多样性也大大增加。面对这些挑战,火山引擎基于超大规模下的 Kubernetes 日志实践孵化出了一套完整的日志采集、加工、查询、分析、消费的平台。本次主要分享了火山引擎云原生日志平台的相关实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论