KDD 2021 | 用NAS實現(xiàn)任務無關且可動態(tài)調(diào)整尺寸的BERT壓縮(2)
漸進架構搜索,分桶設計與模型選擇
雖然分模塊搜索已經(jīng)大大減小了搜索空間,但是訓練超網(wǎng)絡依然需要很長的時間收斂。而且大量的模型在競爭有限的資源,將導致每個模型的評估結(jié)果都不準確,嚴重影響了架構搜索的排序性能。所以研究員們在訓練過程中的每一輪 epoch 結(jié)束時,會把搜索空間中一些沒有希望的架構裁剪掉,然后在裁剪后的搜索空間上繼續(xù)訓練。通過這種方式,可以將更多的計算資源給到更有希望的架構,進而得到更加準確的評估,這既減少了資源的浪費,又加快了搜索過程。
然而直接對整個搜索空間進行裁剪,會導致無法得到大量不同大小的架構。因為超網(wǎng)絡在搜索過程中可能偏向于大模型或者收斂快的模型,所以無約束的裁剪會使得最后得到的架構大小趨于相同。基于此,研究員們提出了分桶裁剪的方法,并且采用具體的數(shù)字為例,闡述了在分桶裁剪過程中,搜索空間是如何變化的。
首先研究員們將搜索空間均勻地分成10個桶,每個桶的架構被約束在不同的參數(shù)量和延遲下。盡管不同的架構落在不同的桶里,但是在訓練的時候,它們的參數(shù)仍然是共享的。在每個迭代訓練結(jié)束的時候,研究員們會隨機從每個桶里采樣出2000個架構,同時使用超網(wǎng)絡評價它們在驗證集上的分數(shù),并刪除一半的架構。通過重復這個過程,可以不斷地收縮搜索空間,直到每個桶里只剩下10個架構。這樣對于一個搜索模塊而言,最終就得到了100個架構。假設共有4個搜索模塊,那么就有100^4種組合方式,每一種組合方式都是一個完整的架構。
由于每個搜索模塊中的100個架構來自不同的桶,因此它們有著顯著不同的大小和延遲。所以通過組合不同的搜索模塊而得到的100^4種架構,也具有顯著不同的模型大小和延遲。
為了評估每個架構的性能,研究員們會首先評價每個搜索模塊中100個架構在驗證集上的損失。然后用不同模塊的損失直接加和作為組合架構的性能。通過這種方式,僅僅通過4*100次驗證集測試,就可以粗略得到所有架構的性能。該方法對于延遲的評估也是類似的,即先測量每個搜索模塊內(nèi)架構的延遲,然后再用不同模塊的延遲加和作為整個架構的延遲。
所以當給定任何一種關于模型大小和延遲的約束時,可以通過查表的方式快速找到性能最高的架構。這種架構本身是在上游預訓練任務中挑選出來的,因此與下游任務無關。
實驗結(jié)果
為了評估搜索得到的架構性能,研究員們重新在上游任務上訓練了這個架構,然后在各種下游任務中測試了模型的性能。
在搜索階段使用的教師模型是 BERT 110M 的模型。教師模型和搜索出來的架構都是在 BookCorpus+English Wikipedia (16GB) 數(shù)據(jù)上進行了預訓練。為了和 BERT 的12層 Transformer 對齊,超網(wǎng)絡包含了24個子層(每一個 Transformer 層等于一層 MHA 加一層FFN)。研究員們在大量的下游任務上評估搜索出來的架構的性能,包括 GLUE 和 SQuAD 數(shù)據(jù)集,并選擇了5M,10M,30M,60M參數(shù)量的架構為例,來展示搜索出來的架構效果。
研究員們首先把 NAS-BERT 搜索出來的架構和手工設計的 BERT 架構進行了對比。從表3中可以看到,NAS-BERT 在各種模型大小及延遲條件下,都超過了手工設計的 BERT 模型。
表3:NAS-BERT 和 BERT 對比
進一步,研究員們將 NAS-BERT 和之前的模型壓縮工作進行對比。之前的模型壓縮工作主要采用了多種蒸餾技巧和訓練方式。而 NAS-BERT 只使用了簡單的兩階段蒸餾來突出其搜索出的架構優(yōu)勢,不使用復雜的蒸餾技術或訓練方法,如注意力蒸餾,逐層替換等。從表4可以看到,NAS-BERT 超過了之前的方法,證明了架構本身的優(yōu)越性。
表4:NAS-BERT 和之前的 BERT 壓縮工作對比
為了證明縮小搜索空間方法的有效性,研究員們又做了一組實驗——與不使用逐漸縮小搜索空間進行對比。從圖3的損失函數(shù)曲線來看,使用逐漸縮小搜索空間顯著加快了收斂速度。從最終搜索得到的架構來看,使用逐漸縮小搜索空間能夠幫助搜索到更好的架構。
圖3:逐漸縮小搜索空間的分離實驗
同時,研究員們還探究了縮小搜索空間的其他方法。與從架構層面縮小搜索空間不同,研究員們嘗試了從操作層面縮小搜索空間的方法(具體見論文)。從表5可以看到,從架構層面縮小搜索空間更為準確,因此能搜索到更好的架構。
表5:不同逐漸縮小搜索空間的分離試驗
最后,研究員們使用了各種不同的訓練方式來訓練 NAS-BERT,并將其與 BERT 模型對比,以證明搜索的架構的魯棒性。并且研究員們還嘗試了在訓練過程中,在上游預訓練階段或下游微調(diào)階段或兩者都有的情況下,觀察 NAS-BERT 搜索的架構的魯棒性。從表6中可以看到,NAS-BERT 在各種訓練配置上,都能顯著超過手工設計的 BERT 架構。
表6:不同訓練方式的分離實驗
表7展示了部分 NAS-BERT 搜索得到的架構。可以發(fā)現(xiàn),搜索出來的架構都由不同的操作且復雜的方式組成,這證明了 NAS-BERT 能夠搜索出更加新穎的新架構。
表7:部分 NAS-BERT 搜索得到的架構
微軟亞洲研究院的研究員們在本篇論文中提出的 NAS-BERT,是一種用自動架構搜索方法實現(xiàn)任務無關且動態(tài)調(diào)整尺寸的 BERT 壓縮技術。其擁有新穎的搜索空間、卷積、注意力、前饋網(wǎng)絡以及不同的隱藏層大小。加上高效的搜索方法,NAS-BERT 可以探索出不同操作的復雜組合方式得到模型的潛力。研究員們通過大量的比較和分離實驗,也證明了 NAS-BERT 搜索得到架構的有效性。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。