開發與維運

簡單易用高性能!一文了解開源遷移學習框架EasyTransfer

image.png
面向自然語言處理場景的深度遷移學習在現實場景裡有巨大的需求,因為大量新的領域不斷湧現,傳統的機器學習需要對每個領域都積累大量訓練數據,這將會耗費大量標註的人力與物力。深度遷移學習技術可以將源領域學到的知識遷移到新的領域的任務,進而大大減少標註的資源。

儘管面向自然語言場景的深度遷移學習有很多的需求,目前開源社區還沒有一個完善的框架,而且構建一個簡單易用且高性能的框架有巨大挑戰。

  • 首先,預訓練模型加知識遷移現在是主流的NLP應用模式,通常預訓練模型尺寸越大學習到的知識表徵越有效,然而超大的模型給框架的分佈式架構帶來了巨大挑戰。如何提供一個高性能的分佈式架構,從而有效支持超大規模的模型訓練。
  • 其次,用戶應用場景的多樣性很高,單一的遷移學習算法無法適用,如何提供一個完備的遷移學習工具來提升下游場景的效果。
  • 第三,從算法開發到業務落地通常需要很長的鏈路,如何提供一個簡單易用的從模型訓練到部署的一站式服務。

面對這三大挑戰,PAI團隊推出了EasyTransfer,一個簡單易用且高性能的遷移學習框架。框架支持主流的遷移學習算法,支持自動混合精度、編譯優化和高效的分佈式數據/模型並行策略,適用於工業級的分佈式應用場景。

值得一提的是,配合混合精度、編譯優化和分佈式策略,EasyTransfer支持的ALBERT模型比社區版的ALBERT在分佈式訓練的運算速度上快4倍多。

同時,經過了阿里內部10多個BU,20多個業務場景打磨,給NLP和遷移學習用戶提供了多種便利,包括業界領先的高性能預訓練工具鏈和預訓練ModelZoo,豐富易用的AppZoo,高效的遷移學習算法,以及全面兼容阿里巴巴PAI生態產品,給用戶提供一個從模型訓練到部署的一站式服務。

阿里雲機器學習PAI團隊負責人林偉表示:本次開源EasyTransfer代碼,希望把阿里能力賦能給更多的用戶,降低NLP的預訓練和知識遷移的門檻,同時也和更多夥伴一起深入合作打造一個簡單,易用,高性能的NLP和遷移學習工具。

image.png

一 EasyTransfer六大亮點

簡單高性能的框架

屏蔽複雜的底層實現,用戶只需關注模型的邏輯結構,降低了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生態的產品,給用戶從訓練到部署帶來一站式的體驗。

image.png

三 平臺功能詳解

下面詳細介紹下EasyTransfer框架的核心功能。

簡單易用的API接口設計
image.png

高性能分佈式框架

EasyTransfer框架支持工業級的分佈式應用場景,改善了分佈式優化器,配合自動混合精度,編譯優化,和高效的分佈式數據/模型並行策略,PAI-ALBERT做到比社區版的ALBERT在多機多卡分佈式訓練的運算速度上快4倍多。

image.png

豐富的ModelZoo

框架提供了一套預訓練語言模型的工具供用戶自定義自己的預訓練模型,同時提供了預訓練語言模型庫ModelZoo供用戶直接調用。目前支持了20+預訓練模型,其中在PAI平臺上預訓練的PAI-ALBERT-zh取得中文CLUE榜單第一名,PAI-ALBERT-en-large取得英文SuperGLUE第二名的好成績。下面是詳細的預訓練模型列表:

image.png

預訓練模型在CLUE榜單的效果:

image.png

SuperGLUE的效果:

image.png

豐富的AppZoo

EasyTransfer封裝了高度易用、靈活且學習成本低的AppZoo,支持用戶在僅用幾行命令的條件下“大規模”運行“前沿”的開源與自研算法,即可迅速接入不同場景和業務數據下的NLP應用,包括文本向量化、匹配、分類、閱讀理解和序列標註等。

image.png

高效的遷移學習算法

EasyTransfer框架支持所有主流的遷移學習範式,包括Model Fine-tuning, Feature-based TL, Instance-based TL, Model-based TL和Meta Learning。基於這些遷移學習範式開發了10多種算法,在阿里的業務實踐中取得了良好效果的效果。後續所有的算法都會開源到EasyTransfer代碼庫裡。在具體應用的時候,用戶可以根據下圖來選擇一種遷移學習範式來測試效果。

image.png

預訓練語言模型

自然語言處理的一大熱點工作就是預訓練語言模型比方說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更好的效果。

image.png

多模態模型FashionBERT

隨著Web技術發展,互聯網上包含大量的多模態信息,包括文本,圖像,語音,視頻等。從海量多模態信息搜索出重要信息一直是學術界研究重點。多模態匹配核心就是圖文匹配技術(Text and Image Matching),這也是一項基礎研究,在非常多的領域有很多應用,例如 圖文檢索(Cross-modality IR),圖像標題生成(Image Caption),圖像問答系統(Vision Question Answering), 圖像知識推理(Visual Commonsense Reasoning)。但是目前學術界研究重點放在通用領域的多模態研究,針對電商領域的多模態研究相對較少。基於此,我們和阿里ICBU團隊合作提出了FashionBERT多模態預訓練模型,針對電商領域的圖文信息進行預訓練的研究,在多個跨模態檢索和圖文匹配等業務場景都有成功的應用。模型架構圖如下所示。該工作提出了Adaptive Loss,用於平衡圖文匹配,純圖片,和純文本三部分loss。

image.png

任務自適應的知識蒸餾

預訓練模型從海量無監督數據中提取通用知識,並通過知識遷移的方法提升下游任務的效果,在場景裡取得了優異的效果。通常預訓練模型尺寸越大,學習到的知識表徵對下游任務越有效,帶來的指標提升也越明顯。然而大模型顯然無法滿足工業界應用的時效性需求,因此需要考慮模型壓縮。我們和阿里智能計算團隊合作提出了一種全新的壓縮方法 AdaBERT,利用可微神經架構搜索(Differentiable Neural Architecture Search)自動地將 BERT 壓縮成任務自適應的小型模型。

在這個過程中,我們將BERT作為老師模型,提煉它在目標任務上有用的知識;在這些知識的指導下,我們自適應地搜索一個適合目標任務的網絡結構,壓縮得到小規模的學生模型。我們在多個NLP公開任務上進行了實驗評估,結果顯示經由AdaBERT壓縮後的小模型在保證精讀相當的同時,推理速度比原始BERT快 12.7 到 29.3 倍,參數規模比原始BERT小 11.5 到 17.0倍 。

image.png

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,架構如下所示:

image.png

我們將這個算法應用在了小蜜的實際業務場景中,在多個業務場景裡(AliExpress, 萬象,Lazada)取得了不錯的效果。

強化遷移學習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的俄語和西語匹配模型,在西語和俄語的匹配準確率都取得了非常不錯的提升。

image.png

元調優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)。

image.png

我們將該fine-tuning算法應用於BERT,在自然語言推理和情感分析等多個任務上進行了實驗。實驗結果表明,元調優算法在這些任務上都優於BERT的原始fine-tuning算法和基於transfer learning的fine-tuning算法。

元知識蒸餾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.

最後,EasyTransfer工具是中文CLUE社區官方推薦的toolkit。同時,阿里雲天池平臺將攜手CLUE社區打造一個多任務語義理解的大賽,EasyTransfer為默認的開發工具,用戶可以基於EasyTransfer輕鬆搭建多任務的baseline和進行建模和優化,敬請大家期待。

Leave a Reply

Your email address will not be published. Required fields are marked *