本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
近日,阿里云正式开源了深度迁移学习框架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和迁移学习工具。
EasyTransfer工具的框架总览
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生态的产品,给用户从训练到部署带来一站式的体验。
业界领先的高性能预训练工具链和预训练ModelZoo
EasyTransfer框架支持工业级的分布式应用场景,改善了分布式优化器,配合自动混合精度,编译优化,和高效的分布式数据/模型并行策略,做到比社区版的多机多卡分布式训练在运算速度上快4倍多。基于这个高性能的分布式底座,框架推出完整的预训练工具链,方便用户预训练语言模型如BERT和ALBERT。值得一提的是,基于该预训练工具产出的模型在多个公开的榜单上取得好成绩,比方说多轮对话榜单QuAC第一名(2019年10月),中文CLUE榜单取得第一名(2019年12月),和英文SuperGLUE榜单第二名。同时EasyTransfer集成了预训练模型ModelZoo,支持BERT,ALBERT,XLNet等主流模型的Continual Pretrain和Finetune,也集成了在PAI平台上训练的高质量预训练模型和自研的电商场景多模态模型FashionBERT。
丰富易用的AppZoo & 知识蒸馏
EasyTransfer封装了高度易用、灵活且学习成本低的AppZoo,支持用户在仅用几行命令的条件下“大规模”运行“前沿”的开源与自研算法,即可迅速接入不同场景和业务数据下的NLP应用,包括文本向量化、匹配、分类、阅读理解和序列标注等。并且集成了丰富知识蒸馏算法,使得用户能从参数量大、推理速度慢的大模型中蒸馏出参数少、推理性能高的可上线的小模型。比方说,EasyTransfer集成了任务自适应蒸馏模型AdaBERT,从神经架构搜索(NAS)这个全新的角度出发,搜索出最适合目标任务的小模型架构,在6个NLP经典任务上,将BERT模型压缩到原来的1/17~1/10,推理加速达到原先的12 ~ 29倍。同时该模型相应论文已被AI顶级会议 IJCAI 2020 所接收。
高效的迁移学习算法
EasyTransfer框架支持所有主流的迁移学习范式,包括Model Fine-tuning, Feature-based TL, Instance-based TL, Model-based TL和meta Learning。基于这些迁移学习范式开发了10多种算法,在阿里的业务实践中取得了良好效果的效果。后续所有的算法都会开源到EasyTransfer代码库里。在具体应用的时候,用户可以根据下图来选择一种迁移学习范式来测试效果。
集成适应多任务的自研元学习算法
EasyTransfer框架集成了基于元学习(meta Learning)的多任务学习算法,支持用户在训练特定任务的模型时利用其他任务的数据集进行学习增强。EasyTransfer集成了自研的元调优(meta Fine-tuning)算法,借鉴元学习的思想,旨在学习预训练语言模型跨领域的meta-leaner,从而使得学习的meta-leaner可以快速迁移到特定领域的任务上。该算法相应论文已被NLP顶级会议 EMNLP 2020 所接收。由于上述模型仍然具有参数量太大、推理速度慢的问题,EasyTransfer团队进一步自研了元知识蒸馏算法,在蒸馏阶段额外对meta-leaner进行选择性蒸馏,使得蒸馏得到的小模型在相应的领域的效果显著提升,逼近原始模型的效果。相关的代码和论文会在近期发布。
全面兼容阿里巴巴PAI生态产品
EasyTransfer框架全面兼容PAI-Tensorflow,用户通过简单的代码或配置文件修改,就可以使用PAI自研高效的分布式训练,编译优化等特性;同时框架完美兼容PAI生态的产品,在PAI Web组件(PAI Studio),开发平台(PAI DSW),云原生训练平台(PAI DLC),和PAI Serving平台(PAI EAS)上均可直接使用。
应用落地和创新的算法解决方案
EasyTransfer框架已在阿里集团内数十个NLP场景落地,包括智能客服、搜索推荐、安全风控、大文娱等,带来了显著业务效果的提升。目前EasyTransfer日常服务有上亿次调用,月均训练调用量超过5万次。EasyTransfer团队在落地业务的同时也沉淀了很多的创新的算法解决方案,包括元学习,多模态预训练,强化迁移学习,特征迁移学习等方向的工作,共合作发表了几十篇顶级会议文章,下面列举一些代表性工作。这些算法一部分已经开源,其他部分会在EasyTransfer框架里陆续开源供广大用户使用。
•[EMNLP 2020]. meta Fine-Tuning Neural Language Models for Multi-Domain Text Mining. 2020.
•[SIGIR2020] FashionBERT: Text and Image Matching for Fashion Domain with Adaptive Loss. 2020.
•[IJCAI 2020] AdaBERT: Task-Adaptive BERT Compression with Differentiable Neural Architecture Search. 2020.
•[KDD 2019]. A Minimax Game for Instance based Selective Transfer Learning. 2019.
•[CIKM 2019]. Cross-domain Attention Network with Wasserstein Regularizers for E-commerce Search, 2019.
•[WWW 2019]. Multi-Domain Gated CNN for Review Helpfulness Prediction, 2019.
•[WSDM 2019]. Learning to Selectively Transfer: Reinforced Transfer Learning for Deep Text Matching. 2019.
•[WSDM 2018]. Modeling Domain Relationships for Transfer Learning on Retrieval-based Question Answering Systems in E-commerce. 2018.
•[ACL 2018]. Transfer Learning for Context-Aware Question Matching in Information-seeking Conversations in E-commerce. 2018.
•[ICDM 2017]. A Short-Term Rainfall Prediction Model using Multi-Task Convolutional Neural Networks. 2017.
最后,EasyTransfer工具是中文CLUE社区官方推荐的toolkit。同时,阿里云天池平台将携手CLUE社区打造一个多任务语义理解的大赛,EasyTransfer为默认的开发工具,用户可以基于EasyTransfer轻松搭建多任务的baseline和进行建模和优化,敬请大家期待。