3 个月前

K-Adapter:通过适配器将知识注入预训练模型

K-Adapter:通过适配器将知识注入预训练模型

摘要

我们研究了将知识注入大型预训练模型(如BERT和RoBERTa)的问题。现有方法通常在注入知识时直接更新预训练模型的原始参数。然而,当需要注入多种不同类型的知识时,先前注入的知识往往会因参数覆盖而被冲刷掉。为解决这一问题,我们提出K-Adapter框架,该框架保持预训练模型的原始参数固定不变,同时支持构建具备多样化知识增强能力的模型。以RoBERTa作为主干模型,K-Adapter为每类注入的知识配置一个神经适配器(neural adapter),这些适配器如同插件一般连接至RoBERTa。不同适配器之间无信息交互,因此可高效地采用分布式方式并行训练多个适配器。作为案例研究,本文注入了两类知识:(1)通过维基百科(Wikipedia)与维基数据(Wikidata)上自动对齐的文本三元组获取的事实性知识;(2)通过依存句法分析获得的语言学知识。在三个依赖知识的任务上进行的实验——包括关系分类、实体类型识别和问答——结果表明,每个适配器均能提升模型性能,而两个适配器的联合使用进一步带来了更显著的性能增益。进一步分析显示,相较于原始RoBERTa模型,K-Adapter能够更有效地捕获多样化知识。

代码仓库

stevekgyang/sccl
pytorch
GitHub 中提及
microsoft/K-Adapter
pytorch
GitHub 中提及

基准测试

基准方法指标
entity-typing-on-open-entityK-Adapter ( fac-adapter )
F1: 77.6916
Precision: 79.6712
Recall: 75.8081
entity-typing-on-open-entityK-Adapter ( fac-adapter + lin-adapter )
F1: 77.6127
Precision: 78.9956
Recall: 76.2774
relation-classification-on-tacred-1RoBERTa
F1: 71.3
relation-classification-on-tacred-1K-Adapter
F1: 72.0
relation-extraction-on-tacredK-ADAPTER (F+L)
F1: 72.04
F1 (1% Few-Shot): 13.8
F1 (10% Few-Shot): 56.0
F1 (5% Few-Shot): 45.1

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
K-Adapter:通过适配器将知识注入预训练模型 | 论文 | HyperAI超神经