
面向自然語言處理場景的深度遷移學習在現實場景裡有巨大的需求,因為大量新的領域不斷湧現,傳統的機器學習需要對每個領域都積累大量訓練資料,這将會耗費大量标注的人力與物力。深度遷移學習技術可以将源領域學到的知識遷移到新的領域的任務,進而大大減少标注的資源。
盡管面向自然語言場景的深度遷移學習有很多的需求,目前開源社群還沒有一個完善的架構,而且建構一個簡單易用且高性能的架構有巨大挑戰。
- 首先,預訓練模型加知識遷移現在是主流的NLP應用模式,通常預訓練模型尺寸越大學習到的知識表征越有效,然而超大的模型給架構的分布式架構帶來了巨大挑戰。如何提供一個高性能的分布式架構,進而有效支援超大規模的模型訓練。
- 其次,使用者應用場景的多樣性很高,單一的遷移學習算法無法适用,如何提供一個完備的遷移學習工具來提升下遊場景的效果。
- 第三,從算法開發到業務落地通常需要很長的鍊路,如何提供一個簡單易用的從模型訓練到部署的一站式服務。
面對這三大挑戰,PAI團隊推出了EasyTransfer,一個簡單易用且高性能的遷移學習架構。架構支援主流的遷移學習算法,支援自動混合精度、編譯優化和高效的分布式資料/模型并行政策,适用于工業級的分布式應用場景。
值得一提的是,配合混合精度、編譯優化和分布式政策,EasyTransfer支援的ALBERT模型比社群版的ALBERT在分布式訓練的運算速度上快4倍多。
同時,經過了阿裡内部10多個BU,20多個業務場景打磨,給NLP和遷移學習使用者提供了多種便利,包括業界領先的高性能預訓練工具鍊和預訓練ModelZoo,豐富易用的AppZoo,高效的遷移學習算法,以及全面相容阿裡巴巴PAI生态産品,給使用者提供一個從模型訓練到部署的一站式服務。
阿裡雲機器學習PAI團隊負責人林偉表示:本次開源EasyTransfer代碼,希望把阿裡能力賦能給更多的使用者,降低NLP的預訓練和知識遷移的門檻,同時也和更多夥伴一起深入合作打造一個簡單,易用,高性能的NLP和遷移學習工具。
一 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生态的産品,給使用者從訓練到部署帶來一站式的體驗。
三 平台功能詳解
下面詳細介紹下EasyTransfer架構的核心功能。
簡單易用的API接口設計
高性能分布式架構
EasyTransfer架構支援工業級的分布式應用場景,改善了分布式優化器,配合自動混合精度,編譯優化,和高效的分布式資料/模型并行政策,PAI-ALBERT做到比社群版的ALBERT在多機多卡分布式訓練的運算速度上快4倍多。
豐富的ModelZoo
架構提供了一套預訓練語言模型的工具供使用者自定義自己的預訓練模型,同時提供了預訓練語言模型庫ModelZoo供使用者直接調用。目前支援了20+預訓練模型,其中在PAI平台上預訓練的PAI-ALBERT-zh取得中文CLUE榜單第一名,PAI-ALBERT-en-large取得英文SuperGLUE第二名的好成績。下面是詳細的預訓練模型清單:
預訓練模型在CLUE榜單的效果:
SuperGLUE的效果:
豐富的AppZoo
EasyTransfer封裝了高度易用、靈活且學習成本低的AppZoo,支援使用者在僅用幾行指令的條件下“大規模”運作“前沿”的開源與自研算法,即可迅速接入不同場景和業務資料下的NLP應用,包括文本向量化、比對、分類、閱讀了解和序列标注等。
高效的遷移學習算法
EasyTransfer架構支援所有主流的遷移學習範式,包括Model Fine-tuning, Feature-based TL, Instance-based TL, Model-based TL和Meta Learning。基于這些遷移學習範式開發了10多種算法,在阿裡的業務實踐中取得了良好效果的效果。後續所有的算法都會開源到EasyTransfer代碼庫裡。在具體應用的時候,使用者可以根據下圖來選擇一種遷移學習範式來測試效果。
預訓練語言模型
自然語言處理的一大熱點工作就是預訓練語言模型比方說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更好的效果。
多模态模型FashionBERT
随着Web技術發展,網際網路上包含大量的多模态資訊,包括文本,圖像,語音,視訊等。從海量多模态資訊搜尋出重要資訊一直是學術界研究重點。多模态比對核心就是圖文比對技術(Text and Image Matching),這也是一項基礎研究,在非常多的領域有很多應用,例如 圖文檢索(Cross-modality IR),圖像标題生成(Image Caption),圖像問答系統(Vision Question Answering), 圖像知識推理(Visual Commonsense Reasoning)。但是目前學術界研究重點放在通用領域的多模态研究,針對電商領域的多模态研究相對較少。基于此,我們和阿裡ICBU團隊合作提出了FashionBERT多模态預訓練模型,針對電商領域的圖文資訊進行預訓練的研究,在多個跨模态檢索和圖文比對等業務場景都有成功的應用。模型架構圖如下所示。該工作提出了Adaptive Loss,用于平衡圖文比對,純圖檔,和純文字三部分loss。
任務自适應的知識蒸餾
預訓練模型從海量無監督資料中提取通用知識,并通過知識遷移的方法提升下遊任務的效果,在場景裡取得了優異的效果。通常預訓練模型尺寸越大,學習到的知識表征對下遊任務越有效,帶來的名額提升也越明顯。然而大模型顯然無法滿足工業界應用的時效性需求,是以需要考慮模型壓縮。我們和阿裡智能計算團隊合作提出了一種全新的壓縮方法 AdaBERT,利用可微神經架構搜尋(Differentiable Neural Architecture Search)自動地将 BERT 壓縮成任務自适應的小型模型。
在這個過程中,我們将BERT作為老師模型,提煉它在目标任務上有用的知識;在這些知識的指導下,我們自适應地搜尋一個适合目标任務的網絡結構,壓縮得到小規模的學生模型。我們在多個NLP公開任務上進行了實驗評估,結果顯示經由AdaBERT壓縮後的小模型在保證精讀相當的同時,推理速度比原始BERT快 12.7 到 29.3 倍,參數規模比原始BERT小 11.5 到 17.0倍 。
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,架構如下所示:
我們将這個算法應用在了小蜜的實際業務場景中,在多個業務場景裡(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的俄語和西語比對模型,在西語和俄語的比對準确率都取得了非常不錯的提升。
元調優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)。
我們将該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和進行模組化和優化,敬請大家期待。