超大规模智能模型相关工作总结:编程实现框架、算法模型、微调技术和应用...
?PaperWeekly 原創(chuàng) ·?作者?|?金金
單位?|?阿里巴巴研究實習(xí)生
研究方向?|?推薦系統(tǒng)
簡介
近日,超大規(guī)模的智能模型越來越受到大家的關(guān)注,但是僅僅依賴于超大的計算資源并不足以完成這件事,技術(shù)上的精巧設(shè)計對模型性能和訓(xùn)練速度同樣有著巨大的影響,本文包含最近的一些相關(guān)工作,包括編程實現(xiàn)框架、算法模型、微調(diào)技術(shù)以及具體的應(yīng)用。
GLM:更通用的預(yù)訓(xùn)練模型
現(xiàn)有各種類型的預(yù)訓(xùn)練架構(gòu),主要存在如下的三種:
自回歸模型如 GPT,從左往右學(xué)習(xí)的模型,在長文本的生成以及少樣本學(xué)習(xí)能力很強(參數(shù)量大);缺點就是單向的注意力機制不能完全捕捉 token 的內(nèi)在聯(lián)系。
自編碼模型如 BERT,雙向的 transformer 作為編碼器+去噪目標(biāo),在語言理解相關(guān)的文本表示效果很好。缺點是不能直接用于文本生成。
編碼解碼模型如 T5,編碼器使用雙向注意力,解碼器使用單向注意力,并且有交叉注意力連接兩者,在有條件生成任務(wù)中表現(xiàn)良好(文本摘要,回答生成)。
然而,沒有一個預(yù)訓(xùn)練框架對所有任務(wù)都執(zhí)行得最好,這給模型開發(fā)和選擇帶來了不便。本文 [1] 提出了一個新的預(yù)訓(xùn)練框架 GLM(通用語言模型)來解決這個問題。
與之前的工作相比,本文體系結(jié)構(gòu)有三個主要的優(yōu)點:1)它在分類、無條件生成和條件生成任務(wù)上表現(xiàn)良好;2)它優(yōu)于改進(jìn)預(yù)訓(xùn)練-精調(diào)一致性的 BERT-like 分類模型;3)能很好地處理變長問題,其模型圖如下:
整體來說與 BERT 相似,但是包含兩個修改--重新安排了歸一化和殘差的順序,在 largeBERT 模型中有效;替換前饋網(wǎng)絡(luò)為線性網(wǎng)絡(luò)。另外,GLM 采用了自回歸空白填充,具體來說它清空輸入中的多個跨度,為了捕捉跨度之間的內(nèi)在聯(lián)系,隨機交換跨度的順序。這里與 spanBERT 的區(qū)別是跨度的個數(shù)是不知道的;跨度的預(yù)測是自回歸的。
而 mask 注意力矩陣如上圖所示,從矩陣可以很明顯看到,在 Part A 部分,采用的是自編碼注意力,而在 Part B 部分,采用的是自回歸注意力。GLM 的注意力就是這樣將 2 部分矩陣進(jìn)行拼接,形成了即有單向,又有雙向的注意力的模型。
在下游任務(wù)微調(diào)上,將 NLU 中的分類任務(wù)定義為空白填充的生成任務(wù)。先將某些標(biāo)簽映射為某個詞,然后將映射后的詞進(jìn)行 Blank 預(yù)測。這種方法不同于之前的預(yù)訓(xùn)練方法,預(yù)訓(xùn)練與微調(diào)的目標(biāo)的不一致。如此一來,分類和生成都可以變成生成的任務(wù),從而打破了 bert 不知道 mask 數(shù)量和位置的問題,并且假設(shè) mask 之間是相關(guān)的,這樣可以捕捉更多的依賴關(guān)系。
和其他模型比較來看,GLM 取得了更好的效果。
具體來說,和已有模型比較如下:
BERT:Bert 屬于自編碼模型。目標(biāo)任務(wù)是預(yù)測 mask,而且 mask 之間是相互獨立的,因此,Bert 不能捕捉到 mask 之間的相關(guān)性;Bert 只能處理單 token 的 mask,不能處理多個連續(xù)的 mask token,即只能預(yù)測單個 token。
XLNet:XLNet 屬于自回歸的模型。需要知道預(yù)測 token 的長度;使用雙流注意力機制解決了信息泄漏的問題,改變了 transfomer 的結(jié)構(gòu),增加了耗時;XLNet 決定一個 token 是否被獨立預(yù)測。
T5:T5 也是處理的 Blank 填充的任務(wù)目標(biāo),但是 GLM 使用了單個的 transformer 編碼器學(xué)習(xí)單向和雙向的注意力。T5 在編碼和解碼階段使用不同的位置編碼,使用哨兵標(biāo)記來識別不同的 mask 跨度,哨兵標(biāo)記造成了模型能力的浪費和預(yù)訓(xùn)練微調(diào)的不一致性。而 GLM 通過共享參數(shù)使參數(shù)比編碼解碼模型更有效。
UniLM:UniLM 是通過在自編碼框架下改變在雙向,單向,互相之間的 attention mask 來統(tǒng)一預(yù)訓(xùn)練目標(biāo);但還是不能完全捕捉當(dāng)前 token 對于前面 token的依賴。微調(diào) GLM,為了保持和預(yù)訓(xùn)練的一致性,其采用 mask 的方式做生成任務(wù)會比自回歸更加低效。比如長度上就多了幾個 token。
P-tuning算法:釋放語言模型潛能
新興的 GPT-3 在小樣本和零樣本學(xué)習(xí)方面取得了巨大成功。它的成功表明,巨大的單向語言模型與適當(dāng)?shù)氖謩犹崾疽黄鹂赡苡兄谧匀徽Z言理解。然而,手工制作一個最佳的提示很困難,這通常需要不切實際的大驗證集。在許多情況下會過擬合測試集。
此外,很容易創(chuàng)建導(dǎo)致性能大幅下降的對抗性提示。鑒于這些問題,很多的工作集中在自動搜索離散提示上并證明了它們的有效性。然而,由于神經(jīng)網(wǎng)絡(luò)本質(zhì)上是連續(xù)的,離散提示可能不是最優(yōu)的方案。
在這項工作 [2] 中,作者提出了一種新方法:P-tuning,連續(xù)空間中自動搜索提示,以彌合 GPT 和 NLU 應(yīng)用程序之間的差距。P-tuning 利用很少的連續(xù)自由參數(shù)作為提示,作為預(yù)訓(xùn)練語言模型的輸入。然后作者使用梯度下降作為離散提示搜索的替代方法來優(yōu)化連續(xù)提示,其模型框架圖如下:
我們可以看到,對比原來的模型直接搜索一些提示的方法,本文通過一個小型的 LSTM 模型把這幾個 Embedding 算出來,并且將這個 LSTM 模型設(shè)為可學(xué)習(xí)的。
實驗結(jié)果顯示出如果配合 P-tuning,那么:1)GPT、BERT 的效果相比直接 finetune 都有所提升;2)GPT 的效果還能超過了 BERT。這表明 GPT 不僅有 NLG 的能力,也有 NLU 能力。而 BERT 配合 P-tuning 也有提升,說明 P-tuning 對語言模型潛能的釋放是較為通用的。
CogView:文本生成圖像的新框架
通用領(lǐng)域中的文本到圖像生成長期以來一直是一個未解決的問題,它需要生成模型和跨模態(tài)的理解。本文 [3] 提出使用帶有 VQ-VAE tokenizer 的 40 億參數(shù) Transformer:CogView 來解決此問題。對比已有的模型,CogView 有如下特點:
根據(jù) MS COCO 上的 FID 指標(biāo)來看,CogView 大大優(yōu)于 DALL-E 和以前的基于 GAN 的方法,并且是第一個開源大型文本到圖像轉(zhuǎn)換器。
除了零樣本生成之外,本文還進(jìn)一步研究了對預(yù)訓(xùn)練 CogView 進(jìn)行微調(diào)的潛力。CogView 可以適應(yīng)不同的下游任務(wù),例如風(fēng)格學(xué)習(xí)(特定領(lǐng)域的文本到圖像)、超分辨率(圖像到圖像)、圖像字幕(圖像到文本),甚至文本-圖像重新排序。
由于本文簡單有效的 PB-relaxation 和 Sandwich-LN,CogView 是第一個幾乎用 FP16 訓(xùn)練的大型文本到圖像轉(zhuǎn)換器。這些技術(shù)可以消除轉(zhuǎn)發(fā)中的溢出,穩(wěn)定訓(xùn)練,并且可以推廣到其他 transformers 的訓(xùn)練。
具體來說,該模型實際上是在優(yōu)化圖像和文本聯(lián)合分布的 ELBO:
固定隱變量,通過優(yōu)化鮮艷的 KL term:
整體模型框架如下:
以下是該模型生成的圖像,可以看到的確可以有效的理解文本并輸出相應(yīng)的圖像。
FastMoE:首個支持PyTorch框架的MoE系統(tǒng)
近年來,Google 研究者提出了 MoE(Mixture of Experts)層。該層包含一個門網(wǎng)絡(luò)(Gating Network)和 n 個專家網(wǎng)絡(luò)(Expert Network)。對于每一個輸入,動態(tài)地由門網(wǎng)絡(luò)選擇 k 個專家網(wǎng)絡(luò)進(jìn)行激活。該方法可以在計算量不增加的情況下,大大增加參數(shù)量從而增加模型的性能。
而后進(jìn)一步將 MoE 應(yīng)用到了基于 Transformer 的神經(jīng)機器翻譯的任務(wù)上。GShard 將 Transformer 中的 Feedforward Network 層替換成了 MoE 層,并且將 MoE 層和數(shù)據(jù)并行巧妙地結(jié)合起來。在數(shù)據(jù)并行訓(xùn)練時,模型在訓(xùn)練集群中已經(jīng)被復(fù)制了若干份。GShard 通過將每路數(shù)據(jù)并行的 FFN 看成 MoE 中的一個專家來實現(xiàn) MoE 層,這樣的設(shè)計通過在多路數(shù)據(jù)并行中引入 All-to-All 通信來實現(xiàn) MoE 的功能。
然而,訓(xùn)練萬億規(guī)模的 MoE 需要算法和系統(tǒng)協(xié)同設(shè)計一個經(jīng)過良好調(diào)整的高性能分布式訓(xùn)練系統(tǒng)。遺憾的是,現(xiàn)有的唯一滿足要求的平臺強烈依賴于谷歌的硬件(TPU)和軟件(Mesh Tensorflow)堆棧,并沒有向公眾開放,尤其是 GPU 和 PyTorch 社區(qū)。
FastMoE 是一個基于 PyTorch 的分布式 MoE 訓(xùn)練系統(tǒng),具有通用加速器。該系統(tǒng)為靈活的模型設(shè)計和輕松適應(yīng)不同的應(yīng)用程序(例如 Transformer-XL 和 Megatron-LM)提供了分層接口。與使用 PyTorch 直接實現(xiàn) MoE 模型不同,FastMoE 中通過復(fù)雜的高性能加速技能高度優(yōu)化了訓(xùn)練速度。該系統(tǒng)的最大特點是支持在多個節(jié)點的多個 GPU 上放置不同的專家,從而可以相對于 GPU 的數(shù)量線性增加專家的數(shù)量。
總結(jié)
可以看到,超大規(guī)模智能模型相關(guān)工作目前已經(jīng)呈現(xiàn)百花齊放的局面,在編程實現(xiàn)框架、算法模型、微調(diào)技術(shù)以及具體的應(yīng)用等方面都有了很大的進(jìn)展,目前智源所發(fā)布的悟道模型,也說明了我們國家在這方面的重視和投入。
當(dāng)然,大規(guī)模預(yù)訓(xùn)練模型的參數(shù)規(guī)模通常遠(yuǎn)超傳統(tǒng)的專用人工智能模型,在算力資源、訓(xùn)練時間等方面消耗巨大,未來在在高效編碼、高效模型、高效訓(xùn)練、高效微調(diào)和高效推理等方面還有很多值得研究的點, 等待著研究者們?nèi)ネ诰颉?/p>
參考文獻(xiàn)
[1] All NLP Tasks Are Generation Tasks: A General Pre-training Framework
[2] GPT Understands, Too
[3] CogView: Mastering Text-to-Image Generation via Transformers
[4] FASTMOE: A FAST MIXTURE-OF-EXPERT TRAINING SYSTEM
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點剖析、科研心得或競賽經(jīng)驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯(lián)系方式(微信),以便我們在稿件選用的第一時間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的超大规模智能模型相关工作总结:编程实现框架、算法模型、微调技术和应用...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑怎么手动还原系统教程图解 电脑手动还
- 下一篇: dell装win7系统 动不了怎么办 D