業(yè)界首個面向NLP場景深度遷移學(xué)習(xí)框架開源
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
近日,阿里云正式開源了深度遷移學(xué)習(xí)框架EasyTransfer,這是業(yè)界首個面向NLP場景的深度遷移學(xué)習(xí)框架。開源鏈接:https://github.com/alibaba/EasyTransfer
該框架由阿里云機(jī)器學(xué)習(xí)PAI團(tuán)隊(duì)研發(fā),讓自然語言處理場景的模型預(yù)訓(xùn)練和遷移學(xué)習(xí)開發(fā)與部署更加簡單和高效。
面向自然語言處理場景的深度遷移學(xué)習(xí)在現(xiàn)實(shí)場景里有巨大的需求,因?yàn)榇罅啃碌念I(lǐng)域不斷涌現(xiàn),傳統(tǒng)的機(jī)器學(xué)習(xí)需要對每個領(lǐng)域都積累大量訓(xùn)練數(shù)據(jù),這將會耗費(fèi)大量標(biāo)注的人力與物力。深度遷移學(xué)習(xí)技術(shù)可以將源領(lǐng)域?qū)W到的知識遷移到新的領(lǐng)域的任務(wù),進(jìn)而大大減少標(biāo)注的資源。
盡管面向自然語言場景的深度遷移學(xué)習(xí)有很多的需求,目前開源社區(qū)還沒有一個完善的框架,而且構(gòu)建一個簡單易用且高性能的框架有巨大挑戰(zhàn)。
首先,預(yù)訓(xùn)練模型加知識遷移現(xiàn)在是主流的NLP應(yīng)用模式,通常預(yù)訓(xùn)練模型尺寸越大學(xué)習(xí)到的知識表征越有效,然而超大的模型給框架的分布式架構(gòu)帶來了巨大挑戰(zhàn)。如何提供一個高性能的分布式架構(gòu),從而有效支持超大規(guī)模的模型訓(xùn)練。
其次,用戶應(yīng)用場景的多樣性很高,單一的遷移學(xué)習(xí)算法無法適用,如何提供一個完備的遷移學(xué)習(xí)工具來提升下游場景的效果。
第三,從算法開發(fā)到業(yè)務(wù)落地通常需要很長的鏈路,如何提供一個簡單易用的從模型訓(xùn)練到部署的一站式服務(wù)。
面對這三大挑戰(zhàn),PAI團(tuán)隊(duì)推出了EasyTransfer,一個簡單易用且高性能的遷移學(xué)習(xí)框架??蚣苤С种髁鞯倪w移學(xué)習(xí)算法,支持自動混合精度、編譯優(yōu)化和高效的分布式數(shù)據(jù)/模型并行策略,適用于工業(yè)級的分布式應(yīng)用場景。
值得一提的是,配合混合精度、編譯優(yōu)化和分布式策略,EasyTransfer支持的ALBERT模型比社區(qū)版的ALBERT在分布式訓(xùn)練的運(yùn)算速度上快4倍多。
同時,經(jīng)過了阿里內(nèi)部10多個BU,20多個業(yè)務(wù)場景打磨,給NLP和遷移學(xué)習(xí)用戶提供了多種便利,包括業(yè)界領(lǐng)先的高性能預(yù)訓(xùn)練工具鏈和預(yù)訓(xùn)練ModelZoo,豐富易用的AppZoo,高效的遷移學(xué)習(xí)算法,以及全面兼容阿里巴巴PAI生態(tài)產(chǎn)品,給用戶提供一個從模型訓(xùn)練到部署的一站式服務(wù)。
阿里云機(jī)器學(xué)習(xí)PAI團(tuán)隊(duì)負(fù)責(zé)人林偉表示: 本次開源EasyTransfer代碼,希望把阿里能力賦能給更多的用戶,降低NLP的預(yù)訓(xùn)練和知識遷移的門檻,同時也和更多伙伴一起深入合作打造一個簡單,易用,高性能的NLP和遷移學(xué)習(xí)工具。

EasyTransfer工具的框架總覽
EasyTransfer的整體框架如下圖所示,在設(shè)計(jì)上盡可能的簡化了深度遷移學(xué)習(xí)的算法開發(fā)難度。框架抽象了常用的IO,layers,losses,optimizers, models,用戶可以基于這些接口開發(fā)模型,也可以直接接入預(yù)訓(xùn)練模型庫ModelZoo快速建模。框架支持五種遷移學(xué)習(xí)(TL)范式,model finetuning,feature-based TL, instance-based TL, model-based TL和meta learning。同時,框架集成了AppZoo,支持主流的NLP應(yīng)用,方便用戶搭建常用的NLP算法應(yīng)用。最后,框架無縫兼容PAI生態(tài)的產(chǎn)品,給用戶從訓(xùn)練到部署帶來一站式的體驗(yàn)。

業(yè)界領(lǐng)先的高性能預(yù)訓(xùn)練工具鏈和預(yù)訓(xùn)練ModelZoo
EasyTransfer框架支持工業(yè)級的分布式應(yīng)用場景,改善了分布式優(yōu)化器,配合自動混合精度,編譯優(yōu)化,和高效的分布式數(shù)據(jù)/模型并行策略,做到比社區(qū)版的多機(jī)多卡分布式訓(xùn)練在運(yùn)算速度上快4倍多?;谶@個高性能的分布式底座,框架推出完整的預(yù)訓(xùn)練工具鏈,方便用戶預(yù)訓(xùn)練語言模型如BERT和ALBERT。值得一提的是,基于該預(yù)訓(xùn)練工具產(chǎn)出的模型在多個公開的榜單上取得好成績,比方說多輪對話榜單QuAC第一名(2019年10月),中文CLUE榜單取得第一名(2019年12月),和英文SuperGLUE榜單第二名。同時EasyTransfer集成了預(yù)訓(xùn)練模型ModelZoo,支持BERT,ALBERT,XLNet等主流模型的Continual Pretrain和Finetune,也集成了在PAI平臺上訓(xùn)練的高質(zhì)量預(yù)訓(xùn)練模型和自研的電商場景多模態(tài)模型FashionBERT。
豐富易用的AppZoo & 知識蒸餾
EasyTransfer封裝了高度易用、靈活且學(xué)習(xí)成本低的AppZoo,支持用戶在僅用幾行命令的條件下“大規(guī)模”運(yùn)行“前沿”的開源與自研算法,即可迅速接入不同場景和業(yè)務(wù)數(shù)據(jù)下的NLP應(yīng)用,包括文本向量化、匹配、分類、閱讀理解和序列標(biāo)注等。并且集成了豐富知識蒸餾算法,使得用戶能從參數(shù)量大、推理速度慢的大模型中蒸餾出參數(shù)少、推理性能高的可上線的小模型。比方說,EasyTransfer集成了任務(wù)自適應(yīng)蒸餾模型AdaBERT,從神經(jīng)架構(gòu)搜索(NAS)這個全新的角度出發(fā),搜索出最適合目標(biāo)任務(wù)的小模型架構(gòu),在6個NLP經(jīng)典任務(wù)上,將BERT模型壓縮到原來的1/17~1/10,推理加速達(dá)到原先的12 ~ 29倍。同時該模型相應(yīng)論文已被AI頂級會議 IJCAI 2020 所接收。
高效的遷移學(xué)習(xí)算法
EasyTransfer框架支持所有主流的遷移學(xué)習(xí)范式,包括Model Fine-tuning, Feature-based TL, Instance-based TL, Model-based TL和Meta Learning?;谶@些遷移學(xué)習(xí)范式開發(fā)了10多種算法,在阿里的業(yè)務(wù)實(shí)踐中取得了良好效果的效果。后續(xù)所有的算法都會開源到EasyTransfer代碼庫里。在具體應(yīng)用的時候,用戶可以根據(jù)下圖來選擇一種遷移學(xué)習(xí)范式來測試效果。

集成適應(yīng)多任務(wù)的自研元學(xué)習(xí)算法
EasyTransfer框架集成了基于元學(xué)習(xí)(Meta Learning)的多任務(wù)學(xué)習(xí)算法,支持用戶在訓(xùn)練特定任務(wù)的模型時利用其他任務(wù)的數(shù)據(jù)集進(jìn)行學(xué)習(xí)增強(qiáng)。EasyTransfer集成了自研的元調(diào)優(yōu)(Meta Fine-tuning)算法,借鑒元學(xué)習(xí)的思想,旨在學(xué)習(xí)預(yù)訓(xùn)練語言模型跨領(lǐng)域的Meta-leaner,從而使得學(xué)習(xí)的Meta-leaner可以快速遷移到特定領(lǐng)域的任務(wù)上。該算法相應(yīng)論文已被NLP頂級會議 EMNLP 2020 所接收。由于上述模型仍然具有參數(shù)量太大、推理速度慢的問題,EasyTransfer團(tuán)隊(duì)進(jìn)一步自研了元知識蒸餾算法,在蒸餾階段額外對Meta-leaner進(jìn)行選擇性蒸餾,使得蒸餾得到的小模型在相應(yīng)的領(lǐng)域的效果顯著提升,逼近原始模型的效果。相關(guān)的代碼和論文會在近期發(fā)布。
全面兼容阿里巴巴PAI生態(tài)產(chǎn)品
EasyTransfer框架全面兼容PAI-Tensorflow,用戶通過簡單的代碼或配置文件修改,就可以使用PAI自研高效的分布式訓(xùn)練,編譯優(yōu)化等特性;同時框架完美兼容PAI生態(tài)的產(chǎn)品,在PAI Web組件(PAI Studio),開發(fā)平臺(PAI DSW),云原生訓(xùn)練平臺(PAI DLC),和PAI Serving平臺(PAI EAS)上均可直接使用。
應(yīng)用落地和創(chuàng)新的算法解決方案
EasyTransfer框架已在阿里集團(tuán)內(nèi)數(shù)十個NLP場景落地,包括智能客服、搜索推薦、安全風(fēng)控、大文娛等,帶來了顯著業(yè)務(wù)效果的提升。目前EasyTransfer日常服務(wù)有上億次調(diào)用,月均訓(xùn)練調(diào)用量超過5萬次。EasyTransfer團(tuán)隊(duì)在落地業(yè)務(wù)的同時也沉淀了很多的創(chuàng)新的算法解決方案,包括元學(xué)習(xí),多模態(tài)預(yù)訓(xùn)練,強(qiáng)化遷移學(xué)習(xí),特征遷移學(xué)習(xí)等方向的工作,共合作發(fā)表了幾十篇頂級會議文章,下面列舉一些代表性工作。這些算法一部分已經(jīng)開源,其他部分會在EasyTransfer框架里陸續(xù)開源供廣大用戶使用。
•[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社區(qū)官方推薦的toolkit。同時,阿里云天池平臺將攜手CLUE社區(qū)打造一個多任務(wù)語義理解的大賽,EasyTransfer為默認(rèn)的開發(fā)工具,用戶可以基于EasyTransfer輕松搭建多任務(wù)的baseline和進(jìn)行建模和優(yōu)化,敬請大家期待。