快捷搜索:  汽车  科技

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)首先,预训练模型加知识迁移现在是主流的 NLP 应用模式,通常预训练模型尺寸越大学习到的知识表征越有效,然而超大的模型给框架的分布式架构带来了巨大挑战。如何提供一个高性能的分布式架构,从而有效支持超大规模的模型训练。尽管面向自然语言场景的深度迁移学习有很多的需求,目前开源社区还没有一个完善的框架,而且构建一个简单易用且高性能的框架有巨大挑战。开源链接:https://github.com/alibaba/EasyTransfer该框架由阿里云机器学习 PAI 团队研发,让自然语言处理场景的模型预训练和迁移学习开发与部署更加简单和高效。面向自然语言处理场景的深度迁移学习在现实场景里有巨大的需求,因为大量新的领域不断涌现,传统的机器学习需要对每个领域都积累大量训练数据,这将会耗费大量标注的人力与物力。深度迁移学习技术可以将源领域学到的知识迁移到新的领域的任务,进而大大减少标注的资源。

机器之心发布

机器之心编辑部

阿里云正式开源了深度迁移学习框架 EasyTransfer,本文详细介绍了 EasyTransfer 框架的核心功能

近日,阿里云正式开源了深度迁移学习框架 EasyTransfer,这是业界首个面向 NLP 场景的深度迁移学习框架。

开源链接:https://github.com/alibaba/EasyTransfer

该框架由阿里云机器学习 PAI 团队研发,让自然语言处理场景的模型预训练和迁移学习开发与部署更加简单和高效。

面向自然语言处理场景的深度迁移学习在现实场景里有巨大的需求,因为大量新的领域不断涌现,传统的机器学习需要对每个领域都积累大量训练数据,这将会耗费大量标注的人力与物力。深度迁移学习技术可以将源领域学到的知识迁移到新的领域的任务,进而大大减少标注的资源。

尽管面向自然语言场景的深度迁移学习有很多的需求,目前开源社区还没有一个完善的框架,而且构建一个简单易用且高性能的框架有巨大挑战。

首先,预训练模型加知识迁移现在是主流的 NLP 应用模式,通常预训练模型尺寸越大学习到的知识表征越有效,然而超大的模型给框架的分布式架构带来了巨大挑战。如何提供一个高性能的分布式架构,从而有效支持超大规模的模型训练。

其次,用户应用场景的多样性很高,单一的迁移学习算法无法适用,如何提供一个完备的迁移学习工具来提升下游场景的效果。

第三,从算法开发到业务落地通常需要很长的链路,如何提供一个简单易用的从模型训练到部署的一站式服务。

面对这三大挑战,PAI 团队推出了 EasyTransfer,一个简单易用且高性能的迁移学习框架。框架支持主流的迁移学习算法,支持自动混合精度、编译优化和高效的分布式数据 / 模型并行策略,适用于工业级的分布式应用场景。

值得一提的是,配合混合精度、编译优化和分布式策略,EasyTransfer 支持的 ALBERT 模型比社区版的 ALBERT 在分布式训练的运算速度上快 4 倍多。

同时,经过了阿里内部 10 多个 BU,20 多个业务场景打磨,给 NLP 和迁移学习用户提供了多种便利,包括业界领先的高性能预训练工具链和预训练 ModelZoo,丰富易用的 AppZoo,高效的迁移学习算法,以及全面兼容阿里巴巴 PAI 生态产品,给用户提供一个从模型训练到部署的一站式服务。

阿里云机器学习 PAI 团队负责人林伟表示:本次开源 EasyTransfer 代码,希望把阿里能力赋能给更多的用户,降低 NLP 的预训练和知识迁移的门槛,同时也和更多伙伴一起深入合作打造一个简单,易用,高性能的 NLP 和迁移学习工具。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(1)

框架六大亮点

简单高性能的框架:屏蔽复杂的底层实现,用户只需关注模型的逻辑结构,降低了 NLP 和迁移学习的入门门槛;同时,框架支持工业级的分布式应用场景,改善了分布式优化器,配合自动混合精度,编译优化,和高效的分布式数据 / 模型并行策略,做到比社区版的多机多卡分布式训练在运算速度上快 4 倍多;

语言模型预训练工具链:支持完整的预训练工具链,方便用户预训练语言模型如 T5 和 BERT,基于该工具链产出的预训练模型在中文 CLUE 榜单和英文 SuperGLUE 榜单取得很好的成绩;

丰富且高质量的预训练模型 ModelZoo:支持 PAI-ModelZoo,支持 Bert,Albert,Roberta,XLNet,T5 等主流模型的 Continue Pretrain 和 Finetune。同时支持自研的多模态模型服装行业的 Fashionbert 等;

丰富且易用的应用 AppZoo:支持主流的 NLP 应用和自研的模型应用,比方说文本匹配下支持 DAM 、HCNN 等单塔模型,以及 BERT 双塔 向量召回模型;阅读理解下支持 BERT-HAE 等模型;

自动知识蒸馏工具:支持知识蒸馏,可以从大的 teacher 模型蒸馏到小的 student 模型。集成了任务有感知的 BERT 模型压缩 AdaBERT,采用了神经网路架构搜索去搜索出任务相关的架构去压缩原始的 BERT 模型,可以压缩最多到原来的 1/17,inference 最多提升 29 倍,且模型效果损失在 3% 以内;

兼容 PAI 生态产品:框架基于 PAI-TF 开发,用户通过简单的代码或配置文件修改,就可以使用 PAI 自研高效的分布式训练,编译优化等特性;同时框架完美兼容 PAI 生态的产品,包括 PAI Web 组件(PAI Studio),开发平台(PAI DSW),和 PAI Serving 平台(PAI EAS)。

平台架构总览

EasyTransfer 的整体框架如下图所示,在设计上尽可能的简化了深度迁移学习的算法开发难度。框架抽象了常用的 IO,layers,losses,optimizers models,用户可以基于这些接口开发模型,也可以直接接入预训练模型库 ModelZoo 快速建模。框架支持五种迁移学习 (TL) 范式,model finetuning,feature-based TL instance-based TL model-based TL 和 meta learning。同时,框架集成了 AppZoo,支持主流的 NLP 应用,方便用户搭建常用的 NLP 算法应用。最后,框架无缝兼容 PAI 生态的产品,给用户从训练到部署带来一站式的体验。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(2)

平台功能详解

下面详细介绍下 EasyTransfer 框架的核心功能。

简单易用的 API 接口设计

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(3)

高性能分布式框架

EasyTransfer 框架支持工业级的分布式应用场景,改善了分布式优化器,配合自动混合精度,编译优化,和高效的分布式数据 / 模型并行策略,做到比社区版的多机多卡分布式训练在运算速度上快 4 倍多。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(4)

丰富的 ModelZoo

框架提供了一套预训练语言模型的工具供用户自定义自己的预训练模型,同时提供了预训练语言模型库 ModelZoo 供用户直接调用。目前支持了 20 预训练模型,其中在 PAI 平台上预训练的 PAI-ALBERT-zh 取得中文 CLUE 榜单第一名,PAI-ALBERT-en-large 取得英文 SuperGLUE 第二名的好成绩。下面是详细的预训练模型列表:

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(5)

预训练模型在 CLUE 榜单的效果:

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(6)

SuperGLUE 的效果:

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(7)

丰富的 AppZoo

EasyTransfer 封装了高度易用、灵活且学习成本低的 AppZoo,支持用户在仅用几行命令的条件下 “大规模” 运行 “前沿” 的开源与自研算法,即可迅速接入不同场景和业务数据下的 NLP 应用,包括文本向量化、匹配、分类、阅读理解和序列标注等。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(8)

高效的迁移学习算法

EasyTransfer 框架支持所有主流的迁移学习范式,包括 Model Fine-tuning Feature-based TL Instance-based TL Model-based TL 和 Meta Learning。基于这些迁移学习范式开发了 10 多种算法,在阿里的业务实践中取得了良好效果的效果。后续所有的算法都会开源到 EasyTransfer 代码库里。在具体应用的时候,用户可以根据下图来选择一种迁移学习范式来测试效果。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(9)

预训练语言模型

自然语言处理的一大热点工作就是预训练语言模型比方说 BERT,ALBERT 等,这类模型在各大自然语言处理场景都取得了非常不错的效果。为了更好的支持用户使用预训练语言模型,我们在新版的迁移学习框架 EasyTransfer 里植入了一套预训练语言模型的标准范式和预训练语言模型库 ModelZoo。传统 Albert 为了减少参数总量,取消了 bert 的 encoder 堆叠的方式,转而采用 encoder 循环的方式,如下图所示。全循环方式在下游任务上表现并不十分理想,于是我们将全循环改为了在 2 层堆叠的 encoder 上全循环。然后我们基于英文 C4 数据,重新对 Albert xxlarge 进行预训练。在预训练的过程中,我们仅仅使用 MLM loss,配合 Whole Word Masking,基于 EasyTransfer 的 Train on the fly 功能,我们实现了 dynamic online masking,即可以在每次读入原始句子的同时动态生成需要 masking 的 tokens。我们最终的预训练模型 PAI-ALBERT-en-large 在 SuperGLUE 榜单上取得国际第二,国内第一的成绩,模型参数仅仅为第一名 Google T5 的 1/10,效果差距在 3.5% 以内。后续我们会继续优化模型框架,争取以 1/5 的模型参数达到比 T5 更好的效果。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(10)

多模态模型 FashionBERT

随着 Web 技术发展,互联网上包含大量的多模态信息,包括文本,图像,语音,视频等。从海量多模态信息搜索出重要信息一直是学术界研究重点。多模态匹配核心就是图文匹配技术(Text and Image Matching),这也是一项基础研究,在非常多的领域有很多应用,例如 图文检索(Cross-modality IR),图像标题生成(Image Caption),图像问答系统(Vision Question Answering), 图像知识推理(Visual Commonsense Reasoning)。但是目前学术界研究重点放在通用领域的多模态研究,针对电商领域的多模态研究相对较少。基于此,我们和阿里 ICBU 团队合作提出了 FashionBERT 多模态预训练模型,针对电商领域的图文信息进行预训练的研究,在多个跨模态检索和图文匹配等业务场景都有成功的应用。模型架构图如下所示。该工作提出了 Adaptive Loss,用于平衡图文匹配,纯图片,和纯文本三部分 loss。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(11)

任务自适应的知识蒸馏

预训练模型从海量无监督数据中提取通用知识,并通过知识迁移的方法提升下游任务的效果,在场景里取得了优异的效果。通常预训练模型尺寸越大,学习到的知识表征对下游任务越有效,带来的指标提升也越明显。然而大模型显然无法满足工业界应用的时效性需求,因此需要考虑模型压缩。我们和阿里智能计算团队合作提出了一种全新的压缩方法 AdaBERT,利用可微神经架构搜索(Differentiable Neural Architecture Search)自动地将 BERT 压缩成任务自适应的小型模型。在这个过程中,我们将 BERT 作为老师模型,提炼它在目标任务上有用的知识;在这些知识的指导下,我们自适应地搜索一个适合目标任务的网络结构,压缩得到小规模的学生模型。我们在多个 NLP 公开任务上进行了实验评估,结果显示经由 AdaBERT 压缩后的小模型在保证精读相当的同时,推理速度比原始 BERT 快 12.7 到 29.3 倍,参数规模比原始 BERT 小 11.5 到 17.0 倍 。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(12)

QA 场景领域关系学习

早在 2017 年,我们就在阿里小蜜问答场景里面尝试了迁移学习,我们主要侧重于 DNN based Supervised TL。这类算法主要有两种框架,一个是 Fully-shared(FS),另外一个是 Specific-shared(SS)。两者最大的差别是前者只考虑了 shared representation,而后者考虑了 specific representation。通常来说 SS 的模型效果比 FS 效果好,因为 FS 可以看作是 SS 的一个特例。对于 SS 来说,最理想的情况下是 shared 的部分表示的是两个领域的共性,specific 的部分表示的是特性。然而往往我们发现要达到这样的效果很难,于是我们考虑用一个 adversarial loss 和 domain correlation 来协助模型学好这两部分特征。基于此,我们提出了一个新的算法,hCNN-DRSS,架构如下所示:

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(13)

我们将这个算法应用在了小蜜的实际业务场景中,在多个业务场景里(AliExpress 万象,Lazada)取得了不错的效果。同时我们也在 WSDM2018 产出了一篇文章: Modelling Domain Relationships for Transfer Learning on Retrieval-based Question Answering Systems in E-commerce. Jianfei Yu Minghui Qiu et al. WSDM 2018。

强化迁移学习 Reinforced Transfer Learning

迁移学习的有效性,很大程度上取决于 source domain 和 target domain 之间的 gap,如果 gap 比较大,那么迁移很可能是无效的。在小蜜 QA 场景,如果直接把 Quora 的 text matching 数据迁移过来,有很多是不太合适的。我们在小蜜的 QA 场景,基于 Actor-Critic 算法,搭建了一个通用的强化迁移学习框架,用 RL 来做样本选择,帮助 TL 模型取得更好的效果。整个模型分三部分,基础 QA 模型,迁移学习模型 (TL) 和强化学习模型(RL)。其中 RL 的 policy function 负责选出高质量的样本(actions),TL 模型在选出来的样本上训练 QA 模型并提供反馈给 RL,RL 根据反馈(reward)来更新 actions。该框架训练的模型在双 11AliExpress 的俄语和西语匹配模型,在西语和俄语的匹配准确率都取得了非常不错的提升。同时,我们也将成果整理成论文,发表在 WSDM2019. (Learning to Selectively Transfer: Reinforced Transfer Learning for Deep Text Matching. Chen Qu Feng Ji Minghui Qiu et al. WSDM 2019.)

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(14)

元调优 Meta Fine-tuning

预训练语言模型的广泛应用,使得 Pre-training Fine-tuning 的两阶段训练模型成为主流。我们注意到,在 fine-tuning 阶段,模型参数仅在特定领域、特定数据集上 fine-tune,没有考虑到跨领域数据的迁移调优效果。元调优(Meta Fine-tuning)算法借鉴 Meta-learning 的思想,旨在学习预训练语言模型跨领域的 meta-learner,从而使得学习的 meta-learner 可以快速迁移到特定领域的任务上。这一算法学习训练数据样本的跨领域 typicality(即可迁移性),同时在预训练语言模型中增加 domain corruption classifier,使得模型更多地学习到领域无关的特征(domain-invariant representations)。

阿里云云原生架构实践书(阿里云开源业界首个面向NLP场景深度迁移学习框架)(15)

我们将该 fine-tuning 算法应用于 BERT,在自然语言推理和情感分析等多个任务上进行了实验。实验结果表明,元调优算法在这些任务上都优于 BERT 的原始 fine-tuning 算法和基于 transfer learning 的 fine-tuning 算法。我们也将成果整理成 paper,发表在 EMNLP 2020. (Meta Fine-Tuning Neural Language Models for Multi-Domain Text Mining. Chengyu Wang Minghui Qiu Jun Huang et al. EMNLP 2020.)

元知识蒸馏 Meta-Knowledge Distillation

随着 BERT 等预训练语言模型在各项任务上都取得了 SOTA 效果,BERT 这类模型已经成为 NLP 深度迁移学习管道中的重要组成部分。但 BERT 并不是完美无瑕的,这类模型仍然存在以下两个问题:模型参数量太大和训练 / 推理速度慢的问题,因此一个方向是将 BERT 知识蒸馏到一个小模型。但是大部分的知识蒸馏工作都聚焦在同一个领域,而忽略了跨领域对蒸馏任务提升的问题。我们提出了用 Meta Learning 的方式将跨领域的可迁移知识学出,在蒸馏阶段额外对可迁移的知识进行蒸馏。这样的做法使得学习到的 Student 模型在相应的领域的效果显著提升,我们在多个跨领域的任务上都蒸馏出了较好的学生模型,逼近教师模型的效果。我们近期会梳理这个工作,发布代码和文章。

创新文章列表

EasyTransfer 框架已在阿里集团内数十个 NLP 场景落地,包括智能客服、搜索推荐、安全风控、大文娱等,带来了显著业务效果的提升。目前 EasyTransfer 日常服务有上亿次调用,月均训练调用量超过 5 万次。EasyTransfer 团队在落地业务的同时也沉淀了很多的创新的算法解决方案,包括元学习,多模态预训练,强化迁移学习,特征迁移学习等方向的工作,共合作发表了几十篇顶级会议文章,下面列举一些代表性工作。后续这些算法都会在 EasyTransfer 框架里开源供广大用户使用。

[EMNLP 2020]. Meta Fine-Tuning Neural Language Models for Multi-Domain Text Mining. EMNLP 2020. Full Paper.

[SIGIR 2020] FashionBERT: Text and Image Matching for Fashion Domain with Adaptive Loss.

[ACM MM 2020] One-shot Learning for Text Field Labeling in Structure Information Extraction. To appear Full Oral paper.

[IJCAI 2020] AdaBERT: Task-Adaptive BERT Compression with Differentiable Neural Architecture Search IJCAI 2020.

[KDD 2019] A Minimax Game for Instance based Selective Transfer Learning. Oral KDD 2019.

[CIKM 2019] Cross-domain Attention Network with Wasserstein Regularizers for E-commerce Search CIKM 2019.

[WWW 2019] Multi-Domain Gated CNN for Review Helpfulness Prediction WWW.

[SIGIR 2019]. BERT with History Modeling for Conversational Question Answering. SIGIR 2019.

[WSDM 2019]. Learning to Selectively Transfer: Reinforced Transfer Learning for Deep Text Matching. WSDM 2019 Full Paper.

[ACL 2018]. Transfer Learning for Context-Aware Question Matching in Information-seeking Conversation Systems in E-commerce. ACL. 2018.

[SIGIR 2018]. Response Ranking with Deep Matching Networks and External Knowledge in Information-seeking Conversation Systems. Long Paper.

[WSDM 2018]. Modelling Domain Relationships for Transfer Learning on Retrieval-based Question Answering Systems in E-commerce 2018. Long Paper.

[CIKM 2017]. AliMe Assist: An Intelligent Assistant for Creating an Innovative E-commerce Experience CIKM 2017 Demo Paper Best Demo Award.

[ICDM 2017]. A Short-Term Rainfall Prediction Model using Multi-Task Convolutional Neural Networks. Long paper ICDM 2017.

[ACL 2017]. AliMe Chat: A Sequence to Sequence and Rerank based Chatbot Engine,ACL 2017.

[arXiv]. KEML: A Knowledge-Enriched Meta-Learning Framework for Lexical Relation Classification,arXiv.

猜您喜欢: