網(wǎng)上有很多關(guān)于pos機訓練,知識融入預訓練+小樣本學習的實戰(zhàn)解析的知識,也有很多人為大家解答關(guān)于pos機訓練的問題,今天pos機之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
1、pos機訓練
pos機訓練
一 概述7月8日,中文語言理解權(quán)威評測基準CLUE公開了中文小樣本學習評測榜單最新結(jié)果,阿里云計算平臺PAI團隊攜手達摩院智能對話與服務(wù)技術(shù)團隊,在大模型和無參數(shù)限制模型雙賽道總成績第一名,決賽答辯總成績第一名。
中文語言理解權(quán)威評測基準CLUE自成立以來發(fā)布了多項NLP評測基準,包括分類榜單,閱讀理解榜單和自然語言推斷榜單等,在學術(shù)界、工業(yè)界產(chǎn)生了深遠影響。其中,F(xiàn)ewCLUE是CLUE最新推出的一項中文小樣本學習評測基準,用來評估機器學習模型是否能夠通過極少樣本的學習來掌握特定的自然語言處理任務(wù)?;谶@項評估,科研人員可以更精準的衡量機器學習訓練出來的模型的泛化性和準確率。比如智能客服場景中的用戶意圖識別,僅需人工標注幾十條樣本,就能讓意圖識別的準確率達到90%。
眾所周知,大規(guī)模預訓練模型雖然在各大任務(wù)里面取得非常大的效果,但是在特定的任務(wù)上,還是需要許多標注數(shù)據(jù)。由于收集和標注模型需要的訓練的數(shù)據(jù)收集成本昂貴,所以需要攻關(guān)小樣本學習技術(shù),使用遠小于經(jīng)典深度學習算法需要的數(shù)據(jù)量,接近甚至超越經(jīng)典深度學習算法的精度。此次,阿里云PAI團隊攜手達摩院提出了一套大模型+小樣本的聯(lián)合方案,在大規(guī)模通用預訓練基礎(chǔ)之上,結(jié)合了基于知識的預訓練和Fuzzy-PET少樣本學習,一舉取得了優(yōu)異的成績。甚至在一個小樣本學習任務(wù)上的精準度超過了人類。
二 賽題分析 & 建模思路比賽數(shù)據(jù)集總體特點如下:
小樣本:訓練集和檢驗集均為每個類別16shot,考驗算法在小樣本情境下的魯棒性泛化性:任務(wù)特征差異明顯,需要模型有較好的泛化能力無標簽數(shù)據(jù):多數(shù)任務(wù)提供了數(shù)量可觀的無標簽數(shù)據(jù),可以嘗試continued pretrain和self-training基于對賽題的解讀,我們設(shè)計了三段式的建模方法:
通用領(lǐng)域數(shù)據(jù)的從頭預訓練:借助PAI-Rapidformer提供的各種加速策略以及預訓練套件,我們從頭預訓練了3億量級和15億量級的中文預訓練模型,預訓練過程采用融入知識的預訓練算法(詳見3.2)。多任務(wù)的繼續(xù)預訓練:目的是進一步強化雙句匹配任務(wù)(OCNLI, BUSTM, CSL)的Performance。我們將分類任務(wù)轉(zhuǎn)化為文本蘊含任務(wù),使用文本蘊含數(shù)據(jù)進行Continued Pretrain。例如 [CLS]I like the movie[SEP]This indicates positive user sentiment[EOS]針對每個任務(wù)進行小樣本算法微調(diào):選擇PET(Pattern-Exploiting Training)作為下游微調(diào)的核心方法, 開發(fā)Fuzzy-PET算法,減少了PET算法標簽詞人工選擇帶來的波動,并且在任務(wù)上帶來效果提升。同時使用了self-training 的半監(jiān)督方法,在下游微調(diào)階段利用上半監(jiān)督學習(詳見3.3)三 核心技術(shù)1. PyTorch大模型訓練加速
自從2020年推出PAI-EasyTransfer面向NLP和遷移學習的框架之后,PAI團隊開發(fā)了PyTorch版本的EasyTransfer,命名為EasyTexMiner。比賽所用的模型,是通過EasyTexMiner的高性能分布式預訓練完成的。EasyTexMiner的分布式訓練有機整合了微軟的DeepSpeed和英偉達的Megatron優(yōu)點,整體框圖如下:
EasyTexMiner的分布式訓練融合了以下核心的技術(shù):
1)激活檢查點(Activation Checkpoint)
在神經(jīng)網(wǎng)絡(luò)中間設(shè)置若干個檢查點(checkpoint),檢查點以外的中間結(jié)果全部舍棄,反向傳播求導數(shù)的時間,需要某個中間結(jié)果就從最近的檢查點開始計算,這樣既節(jié)省了顯存,又避免了從頭計算的繁瑣過程。
2)梯度累積 (Gradient Accumulation)
以batch_size=16為例,可以每次算16個樣本的平均梯度,然后緩存累加起來,算夠了4次之后,然后把總梯度除以4,然后才執(zhí)行參數(shù)更新,這個效果等價于batch_size=64。這是一種有效的增加Batch Size的方法。通過該策略可以將每個step的batch size擴充到很大,結(jié)合LAMB優(yōu)化器會提升收斂速度。
3)混合精度訓練(Mixed Precision Training)
采用混合精度訓練的好處主要有以下兩點:
減少顯存占用,由于FP16的內(nèi)存占用只有FP32的一半,自然地就可以幫助訓練過程節(jié)省一半的顯存空間。加快訓練和推斷的計算,F(xiàn)P16除了能節(jié)約內(nèi)存,還能同時節(jié)省模型的訓練時間。具體原理如下圖所示,核心是在反向傳播參數(shù)更新的時候需要維護一個FP32的備份來避免舍入誤差,另外會通過Loss Scaling來緩解溢出錯誤。4)即時編譯JIT
當PyTorch在執(zhí)行一系列element-wise的Tensor操作時,底層Kernel的實現(xiàn)需要反復地讀寫訪存,但是只執(zhí)行少量的計算,其中大部分時間開銷并不在計算上,而在訪存讀寫上。比如,實現(xiàn)一個帶有N個元素的Tensor的乘/加法Kernel,需要N次加計算,2N次讀和N次寫訪存操作。我們稱計算少, 訪存次數(shù)多的Kernel為訪存Bound。為了避免這種反復的讀寫,以及降低Kernel Launch的開銷,可以采用Kernel Fusion。訪存Bound的Kernel Fusion的核心原理是通過訪存的局部性原理,將多個element-wise的Kernel自動合并成一個Kernel,避免中間結(jié)果寫到內(nèi)存上,來提高訪存的利用率;同時由于多個Kernel合并成一個Kernel,Kernel launch開銷也減少到了1次。
5)3D并行
3D并行策略指的是:數(shù)據(jù)并行,模型并行,流水并行三種策略的混合運用,以達到快速訓練百億/千億量級模型的目的。該項技術(shù)最早由DeepSpeed團隊研發(fā),可以加速大模型的訓練。
6)CPU Offload
反向傳播不在GPU上計算,而是在CPU上算,其中用到的中間變量全部存儲在內(nèi)存中,這樣可以節(jié)省下GPU的顯存占用,用時間換空間,以便能放到更大尺寸的模型。
7)Zero顯存優(yōu)化器
ZeRO(The Zero Redundancy Optimizer)是一種用于大規(guī)模分布式深度學習的新型內(nèi)存優(yōu)化技術(shù)。ZeRO具有三個主要的優(yōu)化階段:
優(yōu)化器狀態(tài)分區(qū)(Pos) :減少了4倍的內(nèi)存,通信容量與數(shù)據(jù)并行性相同;增加梯度分區(qū)(Pos+g) :8x內(nèi)存減少,通信容量與數(shù)據(jù)并行性相同;增加參數(shù)分區(qū)(Pos+g+p) :內(nèi)存減少與數(shù)據(jù)并行度和復雜度成線性關(guān)系。吞吐性能評測本次發(fā)布使用了最新的阿里云EFLOPS AI集群系統(tǒng),使用NVIDIA A100 GPU和 100Gbps Mellanonx CX6-DX網(wǎng)卡,結(jié)合全系統(tǒng)拓撲感知的高性能分布式通信庫ACCL 和 EFLOPS集群多軌網(wǎng)絡(luò)能力,實現(xiàn)無擁塞通信,大幅加速了模型的訓練速度。如下圖所示:
可擴展性評測我們采用比BertLarge更大一點的單卡放不下的模型來做模型并行下的可擴展性評測。具體配置是 num-layers=24,hidden-size=2048,num-attention-heads=32,該模型的參數(shù)總量大約是1.2B。我們分別在8/16/32/64卡上進行來吞吐評測,從下圖的指標來看,隨著卡數(shù)的增加,吞吐幾乎是近線性的提升。
2. 融入知識的預訓練算法KGBERT
在通用預訓練模型基礎(chǔ)之上,我們考慮融入知識的預訓練來提升預訓練模型的效果。數(shù)據(jù)和知識:通過與達摩院NLP數(shù)據(jù)團隊合作,獲取了大規(guī)模、高質(zhì)量且具備多樣性的數(shù)據(jù)與知識。
大規(guī)模:5億中文圖譜知識,通過遠監(jiān)督獲取2億 Sentence-SPO Pair;高質(zhì)量:針對原始語料龐雜,存在大量冗余、噪聲的問題,通過DSGAN知識降噪算法,精選上億高質(zhì)量Sentence-SPO,用于模型訓練;多樣性:FewCLUE數(shù)據(jù)集除了通用領(lǐng)域,還包含電商、旅游、教育、金融等垂直行業(yè),而這部分數(shù)據(jù)和知識比較稀缺,為此我們構(gòu)建了一套高效的知識生產(chǎn)系統(tǒng),能夠?qū)Ω黝惔怪毙袠I(yè)的文檔、網(wǎng)頁進行自動三元組抽取,從而極大的提升了知識的豐富度。模型和預訓練任務(wù)
為了高效的利用知識,我們基于“Sentence-正向SPO-負向SPO”對齊語料,設(shè)計了多粒度語義理解預訓練任務(wù):
Mention Detection:增強模型對核心實體Mention的理解;Sentence-SPO joint Mask:將大規(guī)模文本數(shù)據(jù)及其對應的SPO知識同時輸入到預訓練模型中進行預聯(lián)合訓練,促進結(jié)構(gòu)化知識和無結(jié)構(gòu)文本之間的信息共享,提升模型語義理解能力;SPO Margin Magnify:設(shè)計對比學習的預訓練任務(wù),拉開Sentence相關(guān)SPO與無關(guān)SPO語義間隔,使其具備更強的語義區(qū)分能力。技術(shù)創(chuàng)新:知識篩選與融入機制
1)動機
NLP任務(wù)中,常見的做法是根據(jù)當前輸入的自然語言進行建模,但是這樣通常用到的信息只有當前字面局部信息。這和人類在理解語言的時候具有明顯差別,人類會用到我們之前學習到的知識輔助理解。人類會利用這些外部知識來加強自己的理解,如果沒有額外的知識,比如接觸到我們一個不熟悉的領(lǐng)域,我們也很難完全理解語義。而目前NLP常見做法只利用了輸入信息,沒用利用外部知識,理解層次偏低。
現(xiàn)實中知識是龐大且繁雜的,需要針對性的采樣知識,減少引入無關(guān)的知識,最大化知識的收益。
2)方法
設(shè)計一種新穎的Gated機制,先對句子進行編碼,再通過GCN聚合出子圖信息,通過門控機制,控制信息的流入;在預訓練階段,通過設(shè)計最大化知識增益目標函數(shù),讓模型更好的學習到有價值的信息。
3)結(jié)果
基于Gated機制的知識篩入,能夠有效捕捉到高增益的三元組進行融入,在政務(wù)、金融屬性識別任務(wù)上準確率有2%的提升。這樣的知識篩選機制在學術(shù)公開數(shù)據(jù)集驗證有效,并取得SOTA的效果,相關(guān)工作已發(fā)表在SIGIR2021。
3. 小樣本學習算法
在融入知識的預訓練語言模型基礎(chǔ)上,計算平臺PAI和達摩院團隊聯(lián)合推出了自研的多任務(wù)小樣本學習算法Fuzzy-PET。由于FewClue榜單具有一系列不同類別的任務(wù),如果在針對特定任務(wù)進行小樣本微調(diào)之前,模型能學習到跨任務(wù)的可遷移的知識,模型在針對特定任務(wù)進行小樣本微調(diào)過程中會獲得更好的初始參數(shù)設(shè)置。基于計算平臺PAI團隊在Meta-Learning相關(guān)算法的積累基礎(chǔ)上,我們在融入知識的預訓練語言模型的繼續(xù)預訓練階段,引入了多個FewClue任務(wù)的無標注數(shù)據(jù)進行學習,在學習過程中,模型自動從這些任務(wù)相關(guān)的數(shù)據(jù)中學習到這些任務(wù)的背景知識,從而更有利于特定任務(wù)的小樣本學習。Meta-Learning的相關(guān)算法已經(jīng)發(fā)表在EMNLP2020和ACL2021上。。
在特定小樣本任務(wù)學習階段,我們對Pattern-Exploiting Training(PET)算法進行了改進,引入了Fuzzy Verbalizer Mapping機制。舉例來說,在經(jīng)典的PET算法中,對于FewClue的任務(wù)OCNLI,我們設(shè)計了如下模板:“其實我覺得你不懂球啊”和“你不懂籃球?!钡年P(guān)系是MASK。
對于輸出的Masked Language Token(即Verbalizer),如果預測結(jié)果為“相關(guān)”,我們將其映射為類別標簽“entailment”;如果預測結(jié)果為“無關(guān)”,我們將其映射為類別標簽“neural”; 如果預測結(jié)果為“相反”,我們將其映射為類別標簽“contradiction”。利用Verbalizer到類別標簽人工映射,PET實現(xiàn)了對文本分類任務(wù)的建模。在Fuzzy Verbalizer Mapping機制中,我們假設(shè)多個Verbalizer可能對某一個類別標簽有映射關(guān)系,從而進一步提升模型在小樣本學習過程中的泛化性。參考先前的例子,我們設(shè)計三組標簽詞:相關(guān),無關(guān),相反/蘊含,中性,矛盾/包含,中立,反向。訓練時每一條樣本使用多組標簽詞輸入,在推理時每個類別計算所有候選詞的預測概率并相加,最終選擇總概率最高的類別。如上述例子,若預測“相關(guān)”,“蘊含”, “包含”的概率和大于預測“無關(guān)”,“中性”,“中立”或預測“相反”,“矛盾”,“反向”的概率,則預測結(jié)果為“entailment”。
這一機制在FewClue的多個任務(wù)中對預測精度提升有正面作用,并且一定程度上減輕人工選擇不同標簽詞產(chǎn)生的波動。此外,我們也考慮在小樣本學習階段引入無標注的數(shù)據(jù)進行Self-training,即依靠現(xiàn)有模型對無標注數(shù)據(jù)進行打標,實現(xiàn)模型的迭代優(yōu)化。
四 業(yè)務(wù)&產(chǎn)品值得一提的是,基于機器學習平臺PAI平臺,這項技術(shù)已在實際業(yè)務(wù)場景落地且有很好的表現(xiàn)。這些技術(shù)增強了達摩院云小蜜KBQA能力,使其具備快速冷啟動、精準問答的能力,并在政務(wù)、金融、通用線多個業(yè)務(wù)場景落地。在實際項目中,在少樣本情形下(20條),可以做到快速冷啟動,從而實現(xiàn)精準問答。同時,這些技術(shù)有望給阿里云上的機器學習算法賦予小樣本學習的能力,通過很少的數(shù)據(jù)標注,就可以大大提升下游任務(wù)的效果。這意味著阿里云模型已具備低成本快速落地的實施能力,能高效且敏捷的賦能企業(yè)的業(yè)務(wù)。
基于PAI,阿里云希望構(gòu)建大規(guī)模AI端到端的能力,從底層芯片到分布式系統(tǒng),再到上層算法和數(shù)據(jù)的規(guī)?;?,打造AI工程化集團作戰(zhàn)的能力,服務(wù)于各行各業(yè)。目前,PAI平臺支持千億特征、萬億樣本規(guī)模加速訓練,內(nèi)置200+成熟算法、以及圖像視覺、音視頻、文本等AI領(lǐng)域高質(zhì)量深度學習預訓練模型50余個,全面提升企業(yè)AI工程效率。在平臺能力基礎(chǔ)上,PAI平臺還提供了成熟的行業(yè)解決方案,成為眾多企業(yè)的優(yōu)選服務(wù),已經(jīng)在智能推薦、用戶增長、端側(cè)超分、自動駕駛等眾多場景成熟商用。
作者 | 同潤、歸雨、熊兮
原文鏈接:http://click.aliyun.com/m/1000284316/
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
以上就是關(guān)于pos機訓練,知識融入預訓練+小樣本學習的實戰(zhàn)解析的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機訓練的知識,希望能夠幫助到大家!