预训练知识度量比赛夺冠!阿里云PAI发布知识预训练工具

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 阿里云计算平台PAI团队携手达摩院智能对话与服务技术团队,在CCIR Cup2021全国信息检索挑战杯的《预训练模型知识量度量》比赛中基于自研的融入知识预训练模型取得第一名。团队采用自研的知识预训练模型KGBERT和DKPLM为底座,采用多样化知识融入方法,形成强有力的蕴含丰富知识的预训练模型,在比赛数据上取得了非常好的效果。

背景


阿里云计算平台PAI团队携手达摩院智能对话与服务技术团队,在CCIR Cup2021全国信息检索挑战杯的《预训练模型知识量度量》比赛中基于自研的融入知识预训练模型取得第一名。本赛题主要考查预训练语言模型蕴含的知识量,涉及到九大领域,包括音乐、影视、军事、历史、化学、物理、生物、法律、医学。同时,赛题包含三种不同难度的题目,考查模型对于单跳事实,多跳事实和常识的掌握程度。可以看出,赛题针对预训练语言模型多领域多层次的知识掌握能力进行考验,难度较大。详情请见比赛页面:https://ccir2021.dlufl.edu.cn/ccirContest/index.html。为了解决上述问题,团队采用自研的知识预训练模型KGBERT和DKPLM为底座,采用多样化知识融入方法,形成强有力的蕴含丰富知识的预训练模型,在比赛数据上取得了非常好的效果

值得一提的是,PAI团队很早就开始了基于知识的继续预训练的研究,致力于提升预训练模型的常识性和知识性,让预训练模型更加“聪明”。PAI团队已经在国际知名会议ACL和CIKM发表了知识预训练的工作,包括医疗知识预训练模型和异构知识注入模型HORNET,团队自研的DKPLM工作也被最近的人工智能顶会AAAI录用,论文详见:https://arxiv.org/abs/2112.01047。为了方便用户使用我们的知识预训练模型,PAI团队推出了知识预训练工具,将KGBERT模型和扩展模型DKPLM整理成工具,方便用户在下游任务里尝试融入知识的预训练模型,提升下游场景的效果。


为什么要做知识预训练?

作为NLP基础模型,预训练语言模型(包括BERT,RoBERTa,XLNET等)在各个下游NLU任务取得了前所未有的成绩,具有很强的通用性。然而,主流的预训练语言模型都是基于公开的文档,从非结构化文档中学习一般的语言知识,忽略了对大量知识信息的学习,特别是结构化的知识图谱信息。这将导致模型无法真正理解现实中的实体和它们之间的关系等一系列知识,难以拥有真正的NLU能力。比方说,GPT模型输出关于“太阳有两只眼睛”,“巴拉克奥巴马是一个Muslim”等论断(如下图)。此类知识的缺失,将会产生一些反事实的内容,也会大大减弱模型的小样本学习能力,领域知识的迁移能力,一般知识的归纳能力等等。因此,PAI团队很早就开始了知识预训练的技术积累,致力于提升预训练模型的常识性和知识性,避免出现反常识和反事实的模型结果。

知识预训练工具

PAI团队本次推出的知识预训练工具,除了CCF知识度量比赛获奖模型KGBERT之外,还有扩展模型DKPLM。模型总览介绍如下:

和通用的预训练工具不同,知识预训练工具包括如下亮点:

  • 提供了高效的知识预训练模型KGBERT和DKPLM,方便用户直接使用预训练好的模型;其中提供了DKPLM在医疗领域的预训练模型,和KGBERT在税务和保险领域的预训练模型;
  • 支持丰富的下游场景应用,包括文本分类,文本匹配,和序列标注。可以基于预训练模型做预测,也可以用新的场景数据finetune预训练模型,以取得更好的成果;
  • 融合了PAI-EasyTransfer的分布式框架,可以更好的训练做加速。


KGBERT

KGBERT首先采用SPO(Subject-Property-Object)三元组的形式表达知识图谱中的海量知识。为了高效的利用这些知识,KGBERT构建了“Sentence-正向SPO-负向SPO”形式的语料,其中,正向SPO为与Sentence语义相关的表达正确知识的SPO,负向SPO为随机采样的、与Sentence语义无关的SPO。KGBERT的模型架构如下图所示:

KGBERT中,我们设计了多粒度的语义理解预训练任务:

  • Mention Detection:传统NER模型,增强模型对核心实体Mention的理解。
  • SPO Masking:将大规模文本数据及其对应的SPO知识同时输入到预训练模型中进行预联合训练,促进结构化知识和无结构文本之间的信息共享,提升模型语义理解能力,加强属性识别能力。
  • SPO Margin Magnification (SPOMM):设计基于对比学习的预训练任务,拉开Sentence相关SPO与无关SPO语义间隔,使其具备更强的语义区分能力。通过伯努利分布产生随机概率打乱相关和无关SPO的顺序。避免输入顺序固定,模型学到Hard Rule。


DKPLM

目前的KGBERT,如果要取得好的效果,需要在下游任务中显式地注入知识图谱中的知识,给下游业务场景的使用带来了负担。在KGBERT的基础上,PAI推出新版的模型DKPLM (Decomosable Knowledge-injected PLM),可以在预训练阶段注入知识,训练完的模型在下游场景里不需要注入知识直接finetune就可以取得很好的效果。在公开数据上效果显示,DKPLM比常用的KEPLM和KGBERT效果更好。模型使用方式如下图所示:

由此可见,传统的知识注入的预训练语言模型(例如KGBERT)需要在下游任务的时候做显式的知识注入,增加了使用成本。新版的知识注入模型DKPLM可以跟普通的预训练模型(例如BERT)同样使用,在下游任务里直接Finetune就可以取得不错的效果。值得一提的是,我们提出的DKPLM模型在医疗数据上相比其他预训练模型平均提升了3个点。DKPLM的架构如下所示:

由上图可见,DKPLM基于传统的PLM,提出了三个技术创新点来做知识注入:

  • 面向长尾实体的知识注入:最近很多研究结果已经显示,对于常见的三元组实体,预训练语言模型通过大规模无监督语料的训练,已经能够将相应的知识三元组建模出来,知识注入会带来冗余信息。因此,DKPLM采取面向长尾实体的知识注入机制,利用实体频率、实体语义重要性和目标实体周围邻居数量检测长尾实体,作为知识注入的目标。
  • 实体知识注入:为了将实体的知识注入到预训练模型中,同时尽可能不要引入其他额外参数,保持backbone与预训练模型对齐。我们引入了伪知识表示注入方法。具体地,如果训练语句中的目标实体是头实体,那么将其对应的预训练输入的表示替换成尾实体减去关系的表示。如果是头实体,就进行相反的操作。
  • 基于关系知识的知识解码验证:最后,将注入的三元组知识显示地解码出来,我们将这一任务作为DKPLM的预训练任务之一,加入预训练流程中。


实验效果评测

除了CCF知识度量比赛,我们也在三个公开医学数据集上验证了自研模型的效果,实验结果如下:

数据集/模型

DKPLM

KGBERT

BERT

CMedQANER (NER)

F1=84.79

F1=81.84

F1=81.43

CHIP20

(RE)

F1=77.12

F1=74.43

F1=73.05

CMedMRC

(MRC)

EM=67.18

F1=85.33

EM=66.49

F1=84.92

EM=66.15

F1=84.08

其中,所有模型均为Base量级(参数量约为1亿)。

我们得出如下结论:1)DKPLM和KGBERT效果都超过了BERT,可见融入知识的预训练模型比原始的BERT预训练效果更好;2)在三个数据上,DKPLM都取得了最好的效果,可以证明DKPLM提出的知识注入方式是有效的; 3) 不仅如此,不像传统的KEPLM,DKPLM在下游任务finetune的时候不需要用额外的KG或者knowledge encoder,可以很方便的部署到线上。

同时,我们也在公开的知识探测任务(LAMA),下游知识任务(TACRED,Open Entity)上比较了DKPLM与传统的知识预训练模型(KEPLM)、通用预训练模型(PLM),实验结果如下:

由此可见,与其他基线的结果相比,我们可以得出以下结论。 1)在知识探测任务LAMA任务上:DKPLM模型在四个数据集上取得了最先进的结果(平均+1.88%),说明DKPLM能够高效的注入知识。2)此外,在下游知识任务中,注入外部知识的模型相比于其他基线结果都会有一定程度的提升。特别是在TACRED任务上,相比最好的模型在三个指标Precision,Recall和F1都有很大的提升。3)整体来看,DKPLM可以有效地存储和理解来自KG的事实知识,相比基线模型在多个任务上都有很好的效果。DKPLM工作已经被AI顶级会议AAAI收录,详见论文:https://arxiv.org/pdf/2112.01047.pdf

模型调用方式

用户可以通过PAI-Designer的界面来调用预训练的模型,可以直接做预测,也可以基于预训练模型做训练和评估。PAI-Designer文档详见https://help.aliyun.com/document_detail/114368.html。使用方式如下。

模型训练和评估

用户可以直接采用PAI-Designer的组件来直接调用知识预训练的模型,这里的组件都在 “自然语言处理”这个目录下,包括:

  • 文本分类训练(MaxCompute)
  • 文本分类训练(DLC)
  • 文本匹配训练
  • 序列标注训练
  • BERT文本向量化

组件的页面如下所示:


调用模型的时候,只需要修改pretrain_model_name_or_path参数即可。支持的模型如下:

  • pai-dkplm-medical-base-zh(DKPLM医疗预训练模型)
  • alibaba-kgbert-tax-base-zh(KGBERT税务领域预训练模型)
  • alibaba-kgbert-insurance-base-zh(KGBERT保险领域预训练模型)

模型预测

模型预测可以复用通用NLP预测组件,通过组件连接,可以基于训练好的模型做预测。

训练好的模型可以通过PAI-EAS做serving服务 ,文档详见:https://help.aliyun.com/document_detail/113696.html

开发工具EasyTransfer

知识预训练工具是基于EasyTransfer开发的,感兴趣的用户可以关注一下EasyTransfer代码库。https://github.com/alibaba/EasyTransfer

用户也可以通过如下二维码关注EasyTransfer代码库。




相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
1月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
阿里云人工智能平台 PAI 的多篇论文在 EMNLP2024 上入选。论文成果是阿里云与华南理工大学金连文教授团队、复旦大学王鹏教授团队共同研发。EMNLP 是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台 PAI 在自然语言处理和多模态算法能力方面研究获得了学术界认可。
|
30天前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
44 2
|
1月前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
3月前
|
机器学习/深度学习 存储 人工智能
【ACL2024】阿里云人工智能平台PAI多篇论文入选ACL2024
近期,阿里云人工智能平台PAI的多篇论文在ACL2024上入选。论文成果是阿里云与阿里集团安全部、华南理工大学金连文教授团队、华东师范大学何晓丰教授团队共同研发。ACL(国际计算语言学年会)是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台PAI在自然语言处理和多模态算法、算法框架能力方面研究获得了学术界认可。
|
4月前
|
数据采集 人工智能 自然语言处理
阿里云百炼平台深度体验:智能问答与模型训练的创新之旅
在人工智能的浪潮中,阿里云百炼平台以其强大的大模型开发能力,为企业和个人开发者提供了一站式的解决方案。本文将从知识检索应用搭建、模型训练调优以及流程管理功能三个角度,全面评测阿里云百炼平台的实际使用体验。
311 3
|
4月前
|
JSON Shell API
阿里云PAI-Stable Diffusion开源代码浅析之(一)所有api的入参如何看
阿里云PAI-Stable Diffusion开源代码浅析之所有api的入参如何看
|
3月前
|
机器学习/深度学习 存储 缓存
Java本地高性能缓存实践问题之阿里云机器学习团队开源社区的问题如何解决
Java本地高性能缓存实践问题之阿里云机器学习团队开源社区的问题如何解决
|
3月前
|
机器学习/深度学习 存储 缓存
模型遇见知识图谱问题之参与阿里云机器学习团队的开源社区的问题如何解决
模型遇见知识图谱问题之参与阿里云机器学习团队的开源社区的问题如何解决

热门文章

最新文章

相关产品

  • 人工智能平台 PAI
  • 下一篇
    无影云桌面