0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何向大规模预训练语言模型中融入知识?

深度学习自然语言处理 来源:复旦DISC 作者:王瑞泽 2021-06-23 15:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文介绍了复旦大学数据智能与社会计算实验室 (Fudan DISC)在ACL 2021上录用的一篇Findings长文: K-Adapter: Infusing Knowledge into Pre-Trained Models with Adapters

文章摘要

本文关注于向大规模预训练语言模型(如RoBERTa、BERT等)中融入知识。提出了一种灵活、简便的知识融入框架K-Adapter,通过外挂知识插件的方式来增强原模型,缓解了知识遗忘的问题、且支持连续知识学习。本文提出的模型在三种知识驱动的任务,包括了命名实体识别、关系分类、问答等任务上取得了显著的效果。

研究背景

预训练语言模型,如BERT、GPT、XLNet、RoBERTa,可以通过无监督训练目标(如MLM)来从大规模文本语料中学习通用表示,并且在各种各样的下游任务上取得了SOTA的表现。尽管这些模型取得了巨大的进步,但是最近的一些工作表明这些通过无监督方式训练的模型很难学习到丰富的知识,如逻辑知识、事实类知识、语言学知识、特定领域的知识等等。因此这启发了本文来研究如何向预训练模型中融入知识。

最近出现了一些向预训练模型中融入知识的工作,如ERNIE、WKLM、KnowBERT等。下表中展示了本文工作和先前融入知识工作的对比。先前的工作通过多任务(multi-task)学习的方式训练模型,也就是在原有的MLM训练目标的基础上,额外增加了用于融入知识的训练目标,例如ERINE通过增加Entity Linking的训练目标学习相关知识。由于这些方法在预训练融入知识的阶段BERT不是固定的,需要更新模型的全部参数,会使得模型融入知识的代价较大。而且他们不支持连续学习,模型的参数在引入新知识的时候需要重新训练;对于已经学到的知识来说,会造成灾难性遗忘(catastrophic forgetting)的问题。为了更好地解决上述问题,本文提出了 K-Adapter,一种灵活、简便地向预训练模型中注入知识的方法。

方法描述

本文提出的方法如下图所示。图a是基于多任务学习融入知识的方法,图b是本文模型K-Adapter,通过外挂在原始模型外的adapter,融入不同种类的知识。

e1d6bf12-d15c-11eb-9e57-12bb97331649.png

1. Adapter结构

Adapter模型可以看做是知识特定模型,可以看做为插件,挂载在预训练模型外部。具体而言,每个Adapter模型由K个Adapter层(如下图所示,KIA)组成,其中每个Adapter层包含了N个Transformer层和两个映射层(Projection Layer)。对于Adapter模型,本文将Adapter层插入到预训练模型的不同Transformer层之间,将预训练模型的中间层输出的特征和前一个Adapter层的输出特征拼接作为Adapter层的输入。本文将预训练模型和Adapter的最后一个隐藏特征拼接作为最终的输出特征。

e1efddf8-d15c-11eb-9e57-12bb97331649.png

本文采用RoBERTa作为backbone。需要注意的是,RoBERTa在融入知识的预训练过程中是固定的,但Adapter的参数是可训练的。这样的模型和训练设定,缓解了融入知识时灾难性遗忘的问题,不同知识的学习不受影响,融入知识效率更高;而且不同的Adapter间没有信息流、可以利用分布式的方式同时、独立地训练。

本文通过设置不同的预训练任务向Adapter中融入不同的知识。接下来介绍如何将不同种类的知识融入到特定的Adapter中。

2. 知识融入

下图展示了向知识特定Adapter中融入知识的框图。

e1fc38f0-d15c-11eb-9e57-12bb97331649.png

本文主要融入了2种知识——事实类知识和语言类知识,分别融入到了2种知识特定的adapter中:

(1)Factual Adapter:Factual Adapter融入了事实类知识。此处的事实类知识指文本中实体之间的关系,来源于Wikipedia和Wikidata之间自动对齐的文本-三元组对。本文在关系分类任务上进行预训练来融入知识,该任务要求给定1个句子和句子中的2个实体,然后要求模型预测出这两个实体的关系。如下图展示了融入事实类知识的示意图。

e27629ee-d15c-11eb-9e57-12bb97331649.png

(2)Linguistic Adapter:Linguistic Adapter融入了语言类知识。语言类的知识是自然语言中最基本的一类知识,比如说语义和语法信息。本文中的语言类知识指文本中词之间的依存关系。本文在依存关系预测任务上进行预训练来融入知识。这个任务要求模型预测出给定句子中,每个词的father的index。

下图展示了如何将Adapter应用在下游任务中。此处关键的点是预训练模型特征+知识特征,即一方面利用预训练模型的通用信息,一方面利用Adapter中的特定知识。

e2880eb6-d15c-11eb-9e57-12bb97331649.png

实验

本文在3种知识驱动的下游任务上进行实验,包含命名实体识别,问答和关系分类。此外,还通过案例分析和探究性实验对模型学习事实类知识的有效性进行了分析。K-ADAPTER (F+L) 代表同时外挂事实类(factual) adapter和语言类(linguistic) adapter;K-ADAPTER (F) 代表外挂事实类(factual) adapter,K-ADAPTER (L) 代表外挂语言(linguistic) adapter。实验中RoBERTa均指RoBERTa-Large。

1. 命名实体识别(Entity Typing)

命名实体识别任务是给定一个文本和指定的实体,让模型预测出指定实体的类别。在OpenEntity和FIGER数据集上的结果如下表所示。在OpenEntity数据集上,本文模型K-ADAPTER(F+L)相比于RoBERTa进一步提高了1.38%的Mi-F1。在FIGER数据集上,与WKLM相比,K-ADAPTER (F+L)提高了2.88%的Ma-F1,提高了2.54%的Mi-F1。

2. 问答(Question Answering)

问答任务的目的是给定一个问题和一个文本,来让模型做出回答,有时还会提供问题的上下文信息。在问答任务上的实验结果如下表所示。在CosmosQA上,与BERT-FTRACE+SWAG相比,本文的RoBERTa在准确率上显著提高了11.89%。与RoBERTa相比,K-ADAPTER(F+L)进一步提高了1.24%的准确率,这表明K-ADAPTER可以获得更好的常识推理能力。在开放域的QA数据集(SearchQA和Quasar-T)上,与其他baseline相比,K-ADAPTER取得了更好的结果。这表明K-ADAPTER可以充分利用融入的知识,有利于根据检索到的段落来回答问题。具体来说,在SearchQA上,K-ADAPTER(F+L)WKLM相比,显著提高了4.01%的F1,甚至比WKLM+Ranking略高。值得注意的是,K-ADAPTER没有建模检索到的段落的置信度,而WKLM+Ranking额外利用了另一个基于BERT的ranker为检索到的段落进行打分、排序。

3. 关系分类(Relation Classification)

关系分类任务是指给定一个文本和文本中的两个实体,要求模型预测出这两个实体之间的关系。在关系分类任务上的实验结果如下表所示。结果表明,K-ADAPTER明显优于所有baseline。特别地,(1)K-ADAPTER模型优于RoBERTa,证明了利用Adapter进行知识融入的有效性;(2)与RoBERTa+multitask相比,K-ADAPTER取得了更大的提升,这直接说明了K-ADAPTER相比于多任务学习方式融入知识的效果更好,有助于模型充分利用知识。

4. 案例分析(Case Study)

下表中展示了在TACRED数据集上,K-ADAPTER和RoBERTa的定性比较。结果表明,K-ADAPTER中的事实知识可以帮助模型从预测“no_relation”转换到预测正确的类别标签

为了检验模型学习事实类知识的能力,本文在LAMA数据集上进行了探究(Probing)实验。具体来说,该实验是在zero-shot的设定下进行的,要求模型不在微调的情况下完成关于事实知识的完型填空,例如将“The native language of Mammootty is [MASK] ”作为输入,让模型预测出 [MASK]是什么。

总结

提出了一种灵活而简单的方法K-Adapter,支持将知识注入到大规模预训练语言模型中。

K-Adapter保持原有预训练模型参数不变,使用不同的知识特定"插件"学习不同类别的知识,支持连续知识学习,从而缓解“知识遗忘”问题,即融入新的知识不会影响原有的知识;且由于不同adapter间没有信息流,所以adapter可以用分布式的方式进行高效地训练。

在三种知识驱动的任务上取得了显著的效果,包括了命名实体识别、关系分类、问答。详细的分析进一步证明K-Adapter可以学习到更为丰富的事实类知识,为如何有效地进行知识融入提供了一些见解。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语言
    +关注

    关注

    1

    文章

    97

    浏览量

    24869
  • 模型
    +关注

    关注

    1

    文章

    3810

    浏览量

    52253

原文标题:通过外挂"插件"向预训练语言模型中融入知识

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能多模态与视觉大模型开发实战 - 2026必会

    训练模型可以逐渐提升对图像的理解能力,实现对各种视觉任务的精准处理。 此外,视觉大模型的发展还得益于大规模数据集和强大计算资源的支持。海量标注数据为
    发表于 04-15 16:06

    什么是大模型,智能体...?大模型100问,快速全面了解!

    ,LLM)是大模型中最主要的一类,专门用于处理和生成人类语言。大语言模型通过“阅读”海量的文本数据(如书籍、网页、文章等)进行
    的头像 发表于 02-02 16:36 1115次阅读
    什么是大<b class='flag-5'>模型</b>,智能体...?大<b class='flag-5'>模型</b>100问,快速全面了解!

    NVIDIA 推出 Nemotron 3 系列开放模型

    token 数。 ● Nemotron 通过先进的强化学习技术以及大规模并行多环境后训练,实现了卓越的准确率。 ● NVIDIA 率先推出整套前沿的开放模型训练数据集及强化学习环境
    的头像 发表于 12-16 09:27 795次阅读
    NVIDIA 推出 Nemotron 3 系列开放<b class='flag-5'>模型</b>

    一文了解Mojo编程语言

    Mojo 语言的具体介绍: 核心特点 Python 兼容性 Mojo 支持大部分 Python 语法和标准库,可直接调用 Python 生态系统的库,降低了学习成本。 极致性能优化 通过静态编译
    发表于 11-07 05:59

    在Ubuntu20.04系统训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是
    发表于 10-22 07:03

    借助NVIDIA Megatron-Core大模型训练框架提高显存使用效率

    随着模型规模迈入百亿、千亿甚至万亿参数级别,如何在有限显存“塞下”训练任务,对研发和运维团队都是巨大挑战。NVIDIA Megatron-Core 作为流行的大
    的头像 发表于 10-21 10:55 1368次阅读
    借助NVIDIA Megatron-Core大<b class='flag-5'>模型</b><b class='flag-5'>训练</b>框架提高显存使用效率

    大规模专家并行模型在TensorRT-LLM的设计

    DeepSeek-V3 / R1 等模型采用大规模细粒度混合专家模型 (MoE) 架构,大幅提升了开源模型的质量。Llama 4 和 Qwen3 等新发布的开源
    的头像 发表于 09-06 15:21 1403次阅读
    <b class='flag-5'>大规模</b>专家并行<b class='flag-5'>模型</b>在TensorRT-LLM的设计

    基于神经网络的数字失真模型解决方案

    在基于神经网络的数字失真(DPD)模型,使用不同的激活函数对整个系统性能和能效有何影响?
    的头像 发表于 08-29 14:01 3644次阅读

    基于大规模人类操作数据训练的VLA模型H-RDT

    近年来,机器人操作领域的VLA模型普遍基于跨本体机器人数据集训练,这类方法存在两大局限:不同机器人本体和动作空间的差异导致统一训练困难;现有大规模
    的头像 发表于 08-21 09:56 1205次阅读
    基于<b class='flag-5'>大规模</b>人类操作数据<b class='flag-5'>预</b><b class='flag-5'>训练</b>的VLA<b class='flag-5'>模型</b>H-RDT

    利用自压缩实现大型语言模型高效缩减

    随着语言模型规模日益庞大,设备端推理变得越来越缓慢且耗能巨大。一个直接且效果出人意料的解决方案是剪除那些对任务贡献甚微的完整通道(channel)。我们早期的研究提出了一种训练阶段的方
    的头像 发表于 07-28 09:36 647次阅读
    利用自压缩实现大型<b class='flag-5'>语言</b><b class='flag-5'>模型</b>高效缩减

    沐曦MXMACA软件平台在大模型训练方面的优化效果

    在如今的人工智能浪潮大规模语言模型(上百亿乃至千亿参数)正迅速改变着我们的工作和生活。然而,训练这些庞大的
    的头像 发表于 07-03 14:09 2398次阅读
    沐曦MXMACA软件平台在大<b class='flag-5'>模型</b><b class='flag-5'>训练</b>方面的优化效果

    龙芯中科与文心系列模型开展深度技术合作

    ”解决方案。 强强联合!自主架构赋能大模型训练 文心大模型 文心4.5系列模型均使用飞桨深度学习框架进行高效训练、推理和部署。在大
    的头像 发表于 07-02 16:53 1463次阅读

    CMOS超大规模集成电路制造工艺流程的基础知识

    本节将介绍 CMOS 超大规模集成电路制造工艺流程的基础知识,重点将放在工艺流程的概要和不同工艺步骤对器件及电路性能的影响上。
    的头像 发表于 06-04 15:01 2967次阅读
    CMOS超<b class='flag-5'>大规模</b>集成电路制造工艺流程的基础<b class='flag-5'>知识</b>

    模型时代的深度学习框架

    量是约为 25.63M,在ImageNet1K数据集上,使用单张消费类显卡 RTX-4090只需大约35~40个小时 ,即可完成ResNet50模型训练。在 大模型时代 ,由于大
    的头像 发表于 04-25 11:43 953次阅读
    大<b class='flag-5'>模型</b>时代的深度学习框架

    AI原生架构升级:RAKsmart服务器在超大规模模型训练的算力突破

    近年来,随着千亿级参数模型的崛起,AI训练对算力的需求呈现指数级增长。传统服务器架构在应对分布式训练、高并发计算和显存优化等场景时逐渐显露瓶颈。而RAKsmart为超大规模
    的头像 发表于 04-24 09:27 895次阅读