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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
【AAAI 2024】再创佳绩!阿里云人工智能平台PAI多篇论文入选
阿里云人工智能平台PAI发表的多篇论文在AAAI-2024上正式亮相发表。AAAI是由国际人工智能促进协会主办的年会,是人工智能领域中历史最悠久、涵盖内容最广泛的国际顶级学术会议之一,也是中国计算机学会(CCF)推荐的A类国际学术会议。论文成果是阿里云与浙江大学、华南理工大学联合培养项目等共同研发,深耕以通用人工智能(AGI)为目标的一系列基础科学与工程问题,包括多模态理解模型、小样本类增量学习、深度表格学习和文档版面此次入选意味着阿里云人工智能平台PAI自研的深度学习算法达到了全球业界先进水平,获得了国际学者的认可,展现了阿里云人工智能技术创新在国际上的竞争力。
|
5天前
|
云安全 人工智能 安全
|
2月前
|
机器学习/深度学习 存储 分布式计算
机器学习PAI常见问题之DLC的数据写入到另外一个阿里云主账号的OSS中如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
4天前
|
Cloud Native 关系型数据库 分布式数据库
数据库性能诊断工具DBdoctor通过阿里云PolarDB产品生态集成认证
DBdoctor(V3.1.0)成功通过阿里云PolarDB分布式版(V2.3)集成认证,展现优秀兼容性和稳定性。此工具是聚好看科技的内核级数据库性能诊断产品,运用eBPF技术诊断SQL执行,提供智能巡检、根因分析和优化建议。最新版V3.1.1增加了对PolarDB-X和OceanBase的支持,以及基于cost的索引诊断功能。PolarDB-X是阿里巴巴的高性能云原生分布式数据库,兼容MySQL生态。用户可通过提供的下载地址、在线试用链接和部署指南体验DBdoctor。
|
5天前
|
开发者
一键自动化博客发布工具,用过的人都说好(阿里云篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到阿里云上。
一键自动化博客发布工具,用过的人都说好(阿里云篇)
|
14天前
|
人工智能 分布式计算 Cloud Native
阿里云PAI平台架构介绍
阿里云PAI平台架构介绍
27 0
|
14天前
|
机器学习/深度学习 人工智能 分布式计算
阿里云机器学习PAI介绍
阿里云机器学习PAI介绍
33 1
|
15天前
|
机器学习/深度学习 人工智能 供应链
【专栏】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化
【4月更文挑战第29天】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化。具有灵活性、易用性、高效稳定和智能学习等特点。广泛应用于财务、人力资源、客服和供应链等领域,未来将与AI深度融合,跨平台应用,行业定制化,并构建完善生态,助力企业效率提升和创新。
|
15天前
|
数据采集 安全 测试技术
【专栏】阿里云RPA浏览器自动化插件是一款基于AI的创新工具
【4月更文挑战第29天】阿里云RPA浏览器自动化插件是一款基于AI的创新工具,能模拟浏览器操作,实现自动化业务流程,提升效率,降低成本。其特点包括强大的自动化能力、智能识别处理、灵活定制、稳定性能及安全保障。适用于数据采集、表单填写、网页测试、办公自动化和电商运营等场景,助力企业数字化转型。
|
26天前
|
存储 人工智能 自然语言处理
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台,一站式赋能用户构建高性能的检索增强生成(RAG)系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心,高效结合 PAI 和 LangChain 技术栈,实现从理论到实践的快速转化,搭建起功能强大的 RAG 解决方案。
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

热门文章

最新文章

相关产品

  • 人工智能平台 PAI