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

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 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+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
4月前
|
PyTorch 调度 算法框架/工具
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
DLC任务Pytorch launch_agent Socket Timeout问题源码分析与解决方案
226 18
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
|
4月前
|
数据可视化 Rust 机器学习/深度学习
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
mlop.ai 是首个为国区用户优化的机器学习工具,全栈免费开源,是主流付费解决方案 ClearML/WandB 的开源平替。常规实验追踪的工具经常大幅人为降速,mlop因为底层为Rust代码,能轻松支持高频数据写入。如需更多开发者帮助或企业支持,敬请联系cn@mlop.ai
269 12
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
4月前
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
1095 12
|
5月前
|
人工智能 自然语言处理 运维
Qwen3 全尺寸模型支持通过阿里云PAI-ModelGallery 一键部署
Qwen3 是 Qwen 系列最新一代的大语言模型,提供了一系列密集(Dense)和混合专家(MOE)模型。目前,PAI 已经支持 Qwen3 全系列模型一键部署,用户可以通过 PAI-Model Gallery 快速开箱!
|
6月前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
7月前
|
人工智能 自然语言处理 网络安全
基于阿里云 Milvus + DeepSeek + PAI LangStudio 的低成本高精度 RAG 实战
阿里云向量检索服务Milvus版是一款全托管向量检索引擎,并确保与开源Milvus的完全兼容性,支持无缝迁移。它在开源版本的基础上增强了可扩展性,能提供大规模AI向量数据的相似性检索服务。凭借其开箱即用的特性、灵活的扩展能力和全链路监控告警,Milvus云服务成为多样化AI应用场景的理想选择,包括多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等。您还可以利用开源的Attu工具进行可视化操作,进一步促进应用的快速开发和部署。
|
7月前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
386 7
|
7月前
|
人工智能 监控 开发者
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
145 0

相关产品

  • 人工智能平台 PAI