論文信息
A Survey on Dynamic Neural Networks for Natural Language Processing
發(fā)表單位:University of California, San Diego
作者:Canwen Xu, Julian McAuley
發(fā)表會(huì)議: EACL 2023
論文地址:http://arxiv.org/abs/2202.07101
發(fā)布時(shí)間:2022.2.15(v1) 2023.2.24 (v2)
ABs
掌握主要內(nèi)容
-
有效縮小大型Transformer模型是自然語言處理最新進(jìn)展的主要趨勢;
-
動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)作為一個(gè)新興的研究方向,能夠通過根據(jù)輸入動(dòng)態(tài)調(diào)整其計(jì)算路徑,在計(jì)算和時(shí)間上以亞線性增加的方式縮小神經(jīng)網(wǎng)絡(luò)。動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)可能是預(yù)訓(xùn)練語言模型參數(shù)數(shù)量不斷增長的有前途的解決方法,既允許使用數(shù)萬億個(gè)參數(shù)進(jìn)行模型預(yù)訓(xùn)練,又可以在移動(dòng)設(shè)備上更快地推理。
-
本綜述總結(jié)了NLP三種動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的類型:skimming, mixture of experts, early exit,列舉當(dāng)前面臨的挑戰(zhàn)以及未來研究的方向。
1. INTRO
研究背景
1)NLP模型不斷增大的計(jì)算復(fù)雜度和內(nèi)存消耗,難以用于訓(xùn)練和使用;
2)不需要所有輸入案例分配相同的計(jì)算資源。
主流的動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)方法
動(dòng)態(tài)調(diào)整對(duì)于輸入的計(jì)算,通過繞過大型神經(jīng)網(wǎng)絡(luò)中不必要的模塊來節(jié)省計(jì)算。
1)Skimming(時(shí)間維度):在RNN有廣泛研究,根據(jù)輸入token將計(jì)算資源動(dòng)態(tài)分配到不同的時(shí)間步長,從而達(dá)到時(shí)間維度的節(jié)約計(jì)算。另外,最近Transformer的Skimming工作跳過層之間的token。
由于RNN模型反復(fù)處理輸入串行,因此它允許略讀模型實(shí)現(xiàn)大幅加速,尤其是在串行較長的情況下(Li 等人,2019)。
Xiangsheng Li, Jiaxin Mao, Chao Wang, Yiqun Liu, Min Zhang, and Shaoping Ma. 2019. Teach machine how to read: Reading behavior inspired relevance estimation. In SIGIR, pages 795–804. ACM.
2)Mixture of Experts(網(wǎng)絡(luò)寬度):MoE將前饋網(wǎng)絡(luò)分成多個(gè)子網(wǎng),推理時(shí)只激活部分以此節(jié)省網(wǎng)絡(luò)寬度的計(jì)算量。
3)Early Exit(網(wǎng)絡(luò)深度):通過添加一系列的輕量分類器在早期的網(wǎng)絡(luò)層停止推理,不耗盡全部的計(jì)算資源以節(jié)省網(wǎng)絡(luò)深度的計(jì)算量。
動(dòng)態(tài)vs靜態(tài)
與靜態(tài)模型加速(模型壓縮)的不同點(diǎn):考慮輸入的動(dòng)態(tài)調(diào)整
最近的工作表明靜態(tài)和動(dòng)態(tài)方法可以結(jié)合起來,實(shí)現(xiàn)更快的推理和更好的性能。
Roy Schwartz, Gabriel Stanovsky, Swabha Swayamdipta, Jesse Dodge, and Noah A. Smith. 2020. The right tool for the job: Matching model and instance complexities. In ACL, pages 66406651. Association for Computational Linguistics.
Weijie Liu, Peng Zhou, Zhiruo Wang, Zhe Zhao, Haotang Deng, and Qi Ju. 2020. Fastbert: a selfdistilling BERT with adaptive inference time. In ACL, pages 6035–6044. Association for Computational Linguistics.
Wei Zhu. 2021. Leebert: Learned early exit for BERT with cross-level optimization. In ACL-IJCNLP, pages 2968–2980. Association for Computational Linguistics.
2. Skimming
定義:跳過一些時(shí)間步長或者給不同時(shí)間步長分配不同的計(jì)算資源。
直觀上來看,Skimming與人類如何有效地閱讀文本并從中提取信息相似(Li 等人,2019)。
Xiangsheng Li, Jiaxin Mao, Chao Wang, Yiqun Liu, Min Zhang, and Shaoping Ma. 2019. Teach machine how to read: Reading behavior inspired relevance estimation. In SIGIR, pages 795–804. ACM.
Skimming 分類如上表所示:
-
skipping and early stopping:跳過不重要的輸入
-
computation reduction:給不重要的輸入分配更少計(jì)算資源
-
dynamic hierachical RNN:增加重要輸入的計(jì)算資源
Skipping and Early Stopping
定義:通過跳過一些token或提前停止讀取來提高長序列的計(jì)算效率。
Li 等人(2019)使用眼動(dòng)追蹤設(shè)備,并證實(shí)當(dāng)人類閱讀文本時(shí),跳過和提前停止是很常見的。
LSTM和RNN的發(fā)展 主要是單/多步長跳過,雙向跳過;token級(jí)別/seq級(jí)別的停止讀取,后續(xù)加入結(jié)構(gòu)信息(即符號(hào) ,; or .!?)作為停止讀取的判斷。跳過幾步token以及停止讀取時(shí)機(jī)通過計(jì)算當(dāng)前狀態(tài)jumping softmax/binary gate決定,
Transformer發(fā)展 通過丟棄或忽略較高層的token來減少計(jì)算量,計(jì)算attention scores決定或者其他策略丟棄(或忽略)的token數(shù)量,通過soft mask層的稀疏性和原始的損失函數(shù)優(yōu)化丟棄(或忽略)的token數(shù)量。
新進(jìn)展:
Learned Token Pruning for Transformers
Key idea: 為每個(gè)Transformer層訓(xùn)練閾值,而不是遵循預(yù)定的時(shí)間表(丟棄/忽略的token數(shù)量),丟棄注意力分?jǐn)?shù)低于學(xué)習(xí)閾值的token。
Result: FLOPs相較于其他token剪枝方法提高~2.5%,1.9xCPU端加速,2.0x端GPU加速。
論文地址:[2107.00910] Learned Token Pruning for Transformers (arxiv.org)
開源:https://github.com/kssteven418/ltp
Transkimmer: Transformer Learns to Layer-wise Skim
Key idea: 在學(xué)習(xí)做skimming決策的每個(gè)層之前添加一個(gè)參數(shù)化預(yù)測器,如果需要跳過,則將hidden層的skimmed token直接向前傳播到最后一層輸出。
Result: BERT-base 加速10.97x,準(zhǔn)確率損失1%以內(nèi)
論文地址: 2205.07324.pdf (arxiv.org)
開源:https://github.com/chandlerguan/transkimmer
Computation Reduction
定義:縮減在某些時(shí)間步長內(nèi)應(yīng)用的計(jì)算工作負(fù)載,而不是完全跳過。
VCRNN: 通過策略決定每個(gè)時(shí)間步長使用的計(jì)算量的比例,將按比例使用權(quán)重矩陣更新隱藏狀態(tài),其他權(quán)重矩陣將被mask成零。
SkimRNN: 在每個(gè)時(shí)間步,模型根據(jù)最后一個(gè)時(shí)間步長的隱藏狀態(tài)和輸入token決定是否要讀取,使用大的RNN網(wǎng)絡(luò)進(jìn)行隱藏狀態(tài)全面更新,小的網(wǎng)絡(luò)更新小部分隱藏狀態(tài)。
Dynamic Hierarchical RNN
定義:增加更上層RNN的計(jì)算量
具體進(jìn)展看論文,寫的很細(xì)致
3. Mixture of Experts
在大型模型中,一個(gè)層通常包含多個(gè)子網(wǎng)(即“專家”)。在推理過程中,每個(gè)輸入樣本只會(huì)激活這些專家中的一小部分。以實(shí)現(xiàn)參數(shù)減少且不成比例增加計(jì)算量。MoE方法的核心就是路由(routing)機(jī)制,該機(jī)制必須輕量不能讓模型更慢。
專家混合的方法分如上表所示:
- learned routing:需一些負(fù)載均衡機(jī)制,保證所有專家通過充足的樣本訓(xùn)練。
- unlearned routing
這部分的知識(shí)不太懂。。需要補(bǔ)充知識(shí)之后再補(bǔ)充
??4. Early Exit
定義:終止早期層的推理來減少計(jì)算量,通過在中間層添加一系列分類器來實(shí)現(xiàn),選擇退出推理的標(biāo)準(zhǔn)和中間分類器的訓(xùn)練是該方法研究的重點(diǎn)。
早退的優(yōu)點(diǎn)是可以根據(jù)退出閾值的設(shè)置來調(diào)整速度準(zhǔn)確度的權(quán)衡,無需重新訓(xùn)練模型。但是,因?yàn)楦鶕?jù)輸入樣本動(dòng)態(tài)調(diào)整計(jì)算的復(fù)雜度,因此為了追求加速比最大化,通常使用batch=1,難以并行化。
早退分類及相關(guān)方法如上表所示:(圖上展示的很清楚,不做贅述)
-
Confidence-based Early Exit 使用某個(gè)分類器的閾值來決定是否退出推理
-
Ensemble-based Early Exit 通過多個(gè)分類器來考慮退出推理的時(shí)機(jī)
-
Learning-based Early Exit 通過學(xué)習(xí)確定早退的標(biāo)準(zhǔn)
-
Cascading 模型級(jí)別的動(dòng)態(tài)早退,利用不同層數(shù)的完整模型進(jìn)行級(jí)聯(lián)。從小到大執(zhí)行,在模型輸出達(dá)到置信度的時(shí)候停止
5. Challenges and Future Directions
評(píng)估方法
評(píng)估動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)無法預(yù)先定義在完全相同的計(jì)算量或時(shí)間內(nèi)比較不同的方法,ELUE score 通過考慮計(jì)算和性能,描繪了Pareto前沿,來評(píng)估動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。
**不同的作品有不同的加速比計(jì)算。**例如,一些工作使用參與計(jì)算的層比例來估計(jì)加速比。但是,內(nèi)部分類器會(huì)引入額外的計(jì)算成本,尤其是在引入更復(fù)雜的機(jī)制時(shí)。此外,MoE模型的報(bào)告速度在不同的硬件和分布設(shè)置上有很大差異,這使得很難進(jìn)行不同論文的比較。
數(shù)據(jù)并行性
動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的一個(gè)缺點(diǎn)是在數(shù)據(jù)并行性上的低效率。MoE方法為動(dòng)態(tài)路由引入了額外的通信成本,并且可能成為效率的瓶頸。skimming和提前退出方法通常采用“在線推理”設(shè)置,其中批量大小固定為1,以實(shí)現(xiàn)最大的加速。然而,對(duì)于批量推理,這些方法的效率會(huì)急劇下降,因?yàn)橐呀?jīng)退出的實(shí)例將不得不等待所有實(shí)例退出,這導(dǎo)致了低并行性和低GPU利用率。
優(yōu)化的運(yùn)行時(shí)間
大多數(shù)硬件和庫并沒有針對(duì)這些動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行很好的優(yōu)化。例如,MoE中的稀疏矩陣乘法需要專門的硬件和軟件支持來實(shí)現(xiàn)其理論效率。
理論的分析和支持
動(dòng)態(tài)網(wǎng)絡(luò)的理論分析不夠充分。例如,PABEE中的理論分析是基于內(nèi)部分類器相互獨(dú)立的假設(shè),這是不現(xiàn)實(shí)的。應(yīng)該對(duì)動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分布的優(yōu)化和影響角度進(jìn)行更多的研究。文章來源:http://www.zghlxwxcb.cn/news/detail-435262.html
可解釋性
動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的決策過程對(duì)于解釋模型預(yù)測,甚至理解機(jī)器學(xué)習(xí)中更基本的研究問題,包括標(biāo)度律和泛化,可能是重要的。可以用skimming來解釋序列分類嗎?這是否符合基于注意的解釋?MoE的每個(gè)專家都學(xué)些什么,是什么讓它們不同?為什么一個(gè)較低的內(nèi)部分類器與一個(gè)較高的分類器作出不同的預(yù)測,盡管用相同的目標(biāo)進(jìn)行了同樣的訓(xùn)練?這些問題需要從數(shù)據(jù)和模型的角度進(jìn)行進(jìn)一步的探索。文章來源地址http://www.zghlxwxcb.cn/news/detail-435262.html
到了這里,關(guān)于【論文閱讀】A Survey on Dynamic Neural Networks for Natural Language Processing的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!