AAAI 2022 | 北大 阿里达摩院:基于对比学习的预训练语言模型剪枝压缩
近年來,預訓練語言模型迅速發展,模型參數量也不斷增加。為了提高模型效率,各種各樣的模型壓縮方法被提出,其中就包括模型剪枝。
然而,現有的模型剪枝方法大多只聚焦于保留任務相關知識,而忽略了任務無關的通用知識的保留。
針對這個問題,北京大學與阿里達摩院合作,在今年 AAAI 2022 中的一項工作中工作提出了一種基于對比學習的新的剪枝框架,適用于各種結構化剪枝與非結構化剪枝方法,在各種壓縮比下都提升了壓縮后模型的表現。
論文標題:
From Dense to Sparse: Contrastive Pruning for Better Pre-trained Language Model Compression
論文鏈接:
https://arxiv.org/abs/2112.07198
代碼鏈接:
https://github.com/RunxinXu/ContrastivePruning
本期 AI Drive,由北京大學計算語言所二年級碩士生許潤昕詳解這一項工作。主要內容分別是:
背景:預訓練模型與模型壓縮(簡單介紹現在的預訓練模型的發展,以及預訓練模型壓縮的常用方法)
預訓練模型剪枝存在的問題與解決方法(介紹預訓練模型,特別是剪枝方法的現存問題,以及給出針對問題的解決方法)
實驗探究和結論
從無網格
首先,預訓練模型的發展在各個領域都發揮了很大的作用。
隨著時間的推移,越來越多不同的預訓練模型被提出:從 ELMo 到 GPT,再到 2018 年的 BERT,之后,針對不同的目的,又有了衍生出各種各樣的預訓練模型,比如多語言、多模態等,從 GPT 到 GPT-2、GPT-3 實現基本上 zero-shot 的做法,越來越多、各種各樣的預訓練模型都被提出來,并發揮了很大的作用。
使用預訓練的基本范式,包括預訓練與微調兩個步驟。
預訓練模型目前流行的使用范式如下:先假設給出初始化模型,再給出自監督的訓練目標,比如 mask language model,然后在無監督無標注的大規模語料里做預訓練,之后把預訓練模型遷移到下游的、有標注的具體任務的數據,在其數據基礎上進行微調,如此一來便可以達到比較好的效果。
其中的典型代表是 BERT 模型。BERT 堆疊了一系列 Transformer encoder 的 blocks。在預訓練階段中, 通過Masked Language Model(MLM任務),以及 Next Sentence Prediction(NSP 任務),去自監督地預訓練模型。
在微調階段中,可以根據下游不同任務制定不同的 Fine-tuned 策略。比如單句分類、句子分類或情感分類。直接輸入句子,然后用模型進行編碼,用 [cls] 進行預測。
而對預訓練模型進行模型壓縮的原因則在于,預訓練模型在各個領域都發揮了巨大作用,因此模型越做越大,其參數量越來越大、計算成本越來越高。比如從 BERT base 到 RoBERTa base,從 GPT-2 到 Turing-NLG 等,還有為眾人熟悉的 GPT-3,參數量同樣越來越大。指數級的增長見下圖。
雖然大模型效果好,但是計算效率比較低,因此越來越多的人希望能夠給預訓練模型瘦身。
模型瘦身的必要性有以下幾點:
因為模型越來越大,所以希望縮小模型給預訓練模型來進行瘦身,如此一來可以加快推理計算速度,滿足最低延遲限制;
模型瘦身可減少所消耗的內存,對于端側更易于部署,比如手機;
模型瘦身便于訓練/微調。
那么,為什么選擇壓縮大的模型而不直接做小模型?
2020 年 ICML 的一篇文章針對此問題做了研究探討,其結論表明,適應一個大模型后將其壓縮為小模型,這樣模型的表現要優于直接訓練出小模型,并且,大模型具有敏感度更低、更容易壓縮的優點。
下圖為 paper 里的實驗圖,其橫軸表示參數量,縱軸表示在 mnli 這項任務中的 accuracy,不同的線表示的是不同模型結構各自的表現。實驗圖上面還有一些數字,例如 0% 、15%、30%,表示的是這個模型壓縮的比例,0% 為原始模型,15% 為壓縮 15% 的參數之后模型的表現。最后由下圖數據分析得出結論:壓縮大模型后所得到的小模型,效果比直接訓練一個小模型好。
模型瘦身方案也有許多種,比如蒸餾、量化、剪枝、矩陣分解等,下文主要介紹知識蒸餾和剪枝。
方法一:知識蒸餾
將大模型的知識蒸餾到小模型中,使得較小的模型能夠達到類似于大模型的效果,從而達到瘦身的目的。
如下左圖,teacher 對應 big model,student 對應 smallmodel,teacher 先去學習書中的知識轉移為 teacher 所得,經 teacher 消化后將其精華教給 student,知識遷移為學生所得,使得學生所學可以達到類似于老師所獲得的效果,從而達到知識蒸餾的目的。
如下右圖,對于模型實現,即輸入數據時,數據同時經過 teacher 的 model 和 student 的 model,student 的 model 既可以從 hard label 運行,也可以跟 teacher model 學,但是其學的方法是在溫度系數的調整下做 softmax,最后去對齊 model 預測的標簽分布。比如 teacher 的 model 預測是正類 0.7,負類是 0.3,那么需要 student model 預測出的 label 的分布也與其數據接近,從而達到約束 kl 閃度的效果。如此一來則是 student 通過 soft label 的方式將 teacher 所學知識遷移到其自身中。
擴展:TinyBERT
在上圖模型中,只能通過最上面的 softlabel 進行知識遷移,而在下圖的整個模型中,從第一層、第二層、第三層到最上面一層都可以做知識遷移,所以 Tinybert提出:從 embedding的時候,對其teacher和student的 embedding,而中間每個 transformer 的 block,都可以去對齊 hidden states,也可以對齊 teacher 的 hidden stage 和 student 的 hidden state;以及attention的 magic,同樣可以去要求 student 計算出來 attention 的舉證,盡量去跟 teacher 的 attention 舉證是盡量相似的,如此就相當于 student 全方位模仿 teacher,并且更好的吸收 teacher 的知識。
拓展:MiniLM
Minilm 與 tiny bert 類似,它去蒸餾了最上面的 transformer 的 block,再通過一些 attention,去要求 student attention 盡量的去跟 teacher 的 attention相似。一方面,普通的 attention 是由 query 和 keys 計算出來的分數,之后可以約束它;然后另一方面, minilm 也加入了一個是 value 乘以 value 的操作,即用每一個位置的 value 去當 query,用每個位置的 value 去當 keys 同樣可以計算出來一個類似于 attention 的矩陣;同樣,去對齊 student 跟 teacher 的 attention 的矩陣,這樣的話可以更好的去做蒸餾。
方法二:剪枝
剪枝的思路與知識蒸餾的思路本質上差不多,相同之處是目的都是壓縮模型,而不同之處則在于剪枝的實現方式更加靈活。
剪枝的意思是將模型里面里面不重要的、多余的參數移除。比如下圖,圖中是一個全連接的網絡,有一些參數連接該網絡對于整個模型來說是可有可無的,那么此時就可以對這些多余部分進行剪枝。
剪枝的經典方法分為兩類,即結構化剪枝和非結構化剪枝。
1. 結構化剪枝:一個參數相當于一個矩陣,如果一個矩陣有一定的空間規律,比如每一次移除參數都是移除某一行、某幾行或者某幾列、某一個 block,像這樣有規律的剪枝就是結構化剪枝。
2. 非結構化剪枝:如果參數是以神經元形式呈零散分布,從整體的矩陣來說沒有表現出有規律的分布,剪枝時將重要的參數保留,非重要參數則直接除去,如下圖的灰色圓點表示的就是被裁剪掉的參數,裁剪時并不需要考慮整個空間的結構性,像這樣沒有規律性的剪枝就是非結構化剪枝。
在剪枝工作中,有兩個很重要的問題:
第一,什么時候剪枝;
第二,用什么標準剪枝。
對于第一個問題,判斷模型從什么時候開始剪枝,方法可以分為很多種,具體最主要有三種:
1. One–shot pruning,即首先去訓練一個模型,等模型收斂之后去識別不重要的參數并將其去除,最后再將其模型訓練一定時間后讓它收斂,這是最簡單的方法。
2. Iteration Pruning,此方法是一種最常見的方法即迭代式的 pruning situation 的 pruning,具體做法就是訓練一個模型,然后去掉一些參數,后面再不斷地重復前面的步驟,直到達到目的。正如下圖所示,迭代式的發展就是迭代式的剪枝,而對模型的每一次剪枝,都會帶來效果的降低,但是在后續的訓練過程中,performance 又會隨之上升,所以呈現出圖中的階梯式分布。
3. Spars training,此方法的具體呈現是一開始便吸收一個網絡進行訓練,中途會進行 regrowth,然后進行剪枝,把不重要的參數去除,形成一個由少變多再變少的過程。但是這對于預訓練模型的剪枝來說并不是很適用,因為預訓練模型是從一開始就拿到了一個很大的模型,要進行的是對大模型密集的網絡進行剪枝,所以對于預訓練模型更適用的方法是迭代式的剪枝方法,所以,最常見的就是迭代式的剪枝方法。
對于第二個問題,此處為大家介紹兩種比較經典的剪枝方法。
第一種方法是基于參數對模型的貢獻。
它的直觀思路是如果將一個模型的參數置 0,此時 loss 變化很大,說明該參數對于模型來說很重要,而模型對于該參數則是很敏感的;但如果將一個模型的參數置 0 后,loss 的變化很微弱或者基本上不變,那么就說明這個參數是可有可無的;而對某個或某部分參數hi進行具體計算,將 hi 置頂和沒有置頂之間的 lost 的絕對值進行展開,可以推出一個式子,即該參數乘以參數本身以及該參數的梯度的絕對值,此式子可作為衡量該參數的重要性的指標。此處便不再詳細展開。
第二種方法是,基于參數在訓練過程中的變化方向以確定參數的重要性。
它的直觀思路是如果參數在訓練過程中傾向于往 0 移動,那么該參數可能是不太重要的;反之,如果參數在訓練過程中傾向于遠離 0,那么該參數可能是比較重要的。用下圖表征,對于參數 Wij,它遠離 0 有兩種情況,第一種情況是參數本身大于零,梯度小于零,而梯度小于零就意味著參數要往大于零的方向移動,如此便是遠離零;如果參數小于零,而該參數的梯度大于零,那么就意味著該參數要往負方向移動,如此也是遠離零。這就是參數遠離零的兩種情況。
以上提到的可以用下圖的式子表征參數的重要性,因為式子是參數本身乘以參數本身的梯度,這兩個是不同的符號,相乘得負數,而且越小出名物的重要程度越高,所以需要在式子前加一個負號,這樣就有 S 可以來表征參數重要性的分數。而 s 是一個可以調整的超參數,由此可以看到下圖中出現 y 等于 x 的線,而黃色部分是保留參數的部分,即遠離零的參數都被保留而靠近零的參數基本都被移除了。
基于 movementpruning,還有一個加強版本叫做 soft movement pruning。
上文提到的 movement 的方法就是計算出參數的重要性分數,再人為的去指定要保留前百分之七十或者百分之六十;而 soft movement pruning,并不采用保留 top k 的方式,而是直接采用計算出的分數去取一個閾值,然后把小于該閾值的參數盡數除去。除此之外,我們還需要在 loss 里面加入一個正則項對分數進行約束,將分數約束得越小越好,如此一來便可以裁剪去比較多得參數。上文 Lambda MVP 的意思其實是一個正則項的系數,超參越大說明該分數的約束的正則化越重,那么會有越多的分數比較低,最后得到的模型稀疏度就會越高。
以上便是模型壓縮的經典方法,接下來,介紹預訓練模型剪枝存在的問題與解決方法。
預訓練模型剪枝存在的問題與解決方法
上文提到了壓縮預訓練模型的剪枝,它的流程可如下所述:首先拿到一個預訓練模型,該模型的 sparsity ratio 為 0%,相當于沒有剪枝,然后該模型通過迭代式的剪枝一步一步進行一定的裁剪,比如裁剪到 10%、20%、30% 或者 70% 等。
每一次裁剪的過程中,在計算模型優化的 loss 以及計算模型參數的重要性分數時,都是依靠下游的數據,并且涉及到用下游的 task、specific data 來對模型求導,然后計算出參數的重要性以及模型的優化損失。
而運用這樣的方式在整個壓縮過程中,該模型只考慮到了任務相關的知識,而忽略了與任務無關的通用知識的保留。比如下圖中一開始的 Pretrained Model,它也包含了一些較為廣泛的知識,這些也是很重要的,如果在整個剪枝壓縮過程中也可以保留這部分知識,那么這部分知識是有助于保留提高剪枝后的模型的一些淡化性能,以及防止一些災難性遺忘問題的。
此外,在迭代式的裁剪的過程中,會產生一系列的模型,比如下圖中的分別剪了 10%、20%、30% 的模型。通常來說,之前的一些方法只是簡單地把這一系列模型拋棄,但是實際上產生地這一系列各個不同系數比例地模型也可以指導現在的剪枝模型的一些知識的學習,因為這一系列模型蘊含著一些中間知識,這一系列模型叫做 snapshots,在剪枝過程中可以從 snapshots 學到相應知識的話有助于保留之前產生的一些知識。相應的,我們還可以從 Fine-tuned Model 學習,這個是與任務更加相關的一個知識。
總的來說,目前預訓練模型剪枝存在的問題,是在壓縮過程中只考慮了任務相關的知識,而忽略了與任務無關的通用知識的保留,以及迭代過程中產生的中間知識。
從上述問題入手,對于當前的模型剪枝,這項研究最直接的 motivation 就是希望在剪枝過程中可以學習到一些與任務無關的通用知識,比如說 PretrainedModel、Snapshots Model 以及 Fine-tunedModel 之間的知識,即在剪枝壓縮過程中要保留各個方面的知識,這就是核心的 motivation。
如下圖所示,右邊部分圖是模型的架構圖。
該架構圖的直觀思路:從 InputTensor 開始,首先是最上部的 Pre-trained Model,該模型儲存與任務無關的通用知識;接著是底部 Fine-trained Model,Fine-tuned Model 主要是儲存與任務相關的知識;而中間則是產生的一系列 Snapshots Model,其下標表示的目前的系數比列,比如裁到 20%、40% 或者 60%。對于裁剪了 60% 參數的模型,綠色的箭頭表示它可以學習 Pre-trained Model 的知識,藍色的線則對應學習 Fine-tuned Model 的知識,以及黃色的線則對應學習中間模型的知識。這就是該架構圖的直觀思路,它們本質上分別對應了圖中所提出的三個不同模塊——PrC、SnC 以及 FiC,而這三個模塊則分別負責了對不同的目標模型的學習。
那么,如何保留各個部分的知識?
從模型對于數據的編碼表征能力入手。比如希望當前模型的編碼表征能力可以盡可能地向目標模型看齊,但并不需要一模一樣,只是達到類似的效果、學到相應的保留目標模型的編碼能力即可。
這個場景就適用于運用對比學習的方式去學習目標模型的編碼表征能力。
因為對比學習是一種非常有效的學習方法。以下簡單介紹對比學習。
比如對兩張鈔票進行真假辨別,我們并不需要記住真鈔票的所有細節,只需要在大腦中有一個模糊的美元的概念或者抽象的印象,然后去與下圖中的兩張鈔票進行對比,會發現右邊的鈔票與大腦中的印象更加貼合,所以可以得知右邊的鈔票是真的鈔票,這就是對比學習的一個直觀理解。
對于對比學習,簡單可以理解為一個作為 anchor 的 instance,比如上文提到的頭腦中的模糊印象;一堆作為候選集的 instances,比如上文所提到的兩張鈔票,兩張鈔票即為候選集,將它們編碼以后,與向量空間中的 anchor 進行查詢比較,在向量空間中的 anchor 距離近的 instances,就是與 anchor 更像的 instances。
例如下圖中的動物們,左上圖的狗狗作為 Anchor,將 Anchor 編碼到向量空間中;而左下的圖片是一只與 Anchor 相似的狗狗,那么這只狗狗就相當于 Anchor 的正類即 Positive,對于正類是要盡可能地與 Anchor 靠近;而對于右邊的動物比如貓貓、大象以及其他與 Anchor 并不相似的動物們,則是作為負類,那么負類則是要盡量遠離 Anchor。
由上述可知,通過對比學習可以學到編碼器的更好的編碼表征能力。
對比學習的核心思想就是拉近正例、扯遠負例。
結合上文所提,如下圖所示,對比學習的核心思想的具體表征:輸入數據 Xi,再用編碼器將其數據編碼為 Zj,除此之外還有 n 個不同的 candidates,緊接著用 normalize 過的內基除以溫度系數去計算它們的相似度并用來表征它的分數,再用 soft max 的方式計算出它和不同樣本之間的距離,最后再通過一個對比學習的 loss,從而達到 Anchor 與正例盡量接近而與反例盡量遠離的目的。通過這種方式,可以更好地學習編碼器的能力。
進一步的,如何將對比學習應用于我們的場景?
目前需要的是,正在剪枝的模型的表征能力盡量與目標模型的表征能力接近,那么,首先選用當前的稀疏模型去編碼數據作為 Anchor,再選取 n 個不同的數據,用目標模型編碼得到 candidates,最后通過要求當前稀疏模型編碼的 anchor 與目標模型 candidates中正例距離更近,負例更遠,從而拉近當前稀疏模型與目標模型表征能力的 gap。
具體以 PrC 模塊為例。
比如在這個例子中,需要當前的系數模型對預訓練模型的表征能力進行學習,如下圖中正方形表示由當前的稀疏模型編碼的數據,圓形表示預訓練模型編碼的數據,將其分為兩個場景,一個是 Unsupervised,另一個則是 Supervised。
在 Unsupervised 中,r 表示當前的稀疏程度,pre 表示 PretrainedModel,對于相同的、數據都是 x1 的模型,我們希望當前稀疏模型編碼的向量與預訓練編碼的向量是盡量接近的,而對于其他的不同數據來說,我們則希望稀疏模型編碼出來的向量與其他的由預訓練模型編碼的向量盡量的疏遠,因為它沒有用到相應的 Label 的一些信息。在 supervise 中,它與 Unsupervised 一個不同之處是它通過它的 label 來判斷是不是正例,如果它們的標簽是一樣的話,那么就可以認為它們是相同的正例。
如上右圖,有由當前稀疏模型編碼的和 pretrained model 編碼出來的四個不同的數據,x1 與 x4 的 label 都是 yi 等于 1,可以認為它們是正例,那么就希望它們是盡量靠近的,對于其他的 yi 等于 0 的數據,相當于是不同的標簽,那么就希望它們是盡量疏遠的。
相應的,比如下圖中的 snc 模塊,sn 表示的是 snapshots,即意味著去學習中間模型產生的知識,本質上與上文所提是一樣的,只是現在編碼的這些數據的模型不是 pretrained model 而是換成了中間模型。同樣這里仍有 unsupervised 與 supervised 的場景,此處不一一展開。
還有 FiC 模塊,該模塊的主要思路就是向 fine-tuned model 學習,將 candicates 的編碼模型換成 fine-tune 的編碼模型將數據編碼出來后,再去做相應的對比學習。
應用對比學習總的來說有三個模塊,每個模塊負責各自相應的不同的目標模型,它們都有 supervise 和 unsupervised 的用法。
簡單來說,unsupervised 就是不需要去看它的 label 或者是直接把數據的 id 作為 label,而 supervise 則是要去看具體的 label,如果 label 是相同的那么就可以當作是正例。而對比學習的核心目的,就是拉近當前的稀疏模型與各個目標模型的表征能力的 gap。
如果當前的系數模型涉及到了許多個目標模型,那么是不是需要存很多的模型到內存里?
實際上它的可行性并不強。na?ve 想法就是同時 load pre-trained/fine-tuned/ 所有中途產生的 snapshots 模型到內存中,每一次輸入一個 batch 再去選取 n 個 batch size 樣本,最后把經由這所有的模型進行編碼,但其實這樣的話在空間和時間上都是不可行的,因此這個想法并沒有可行性。
實際上在實際應用時,并不需要保存模型,只需要關心編碼后的向量,因為可以在迭代式的訓練裁剪過程中將其 pre-encode 并保存,需要的時候 fetch 相應向量到 GPU 即可。
比如,對于 BERT base,其參數量為 110 M,n 表示對比學習中 candidates 的樣本數量,如下圖所示,每一次 fetch 進來的向量只占總參數量的 3% 不到,所以這是接受的消耗。
CAP 更多的是一個框架而不是一個具體的剪枝策略,因此它可以與不同的剪枝方法結合起來使用。下文介紹將 CAP 框架應用于不同的剪枝方法中。
將 CAP 應用于前面說過的 First-order Taylor Pruning 方法,則得到了 CAP-f 方法;同樣地,將 CAP 應用于 movement pruning,以及 soft movement pruning,則得到了 CAP-m 以及 CAP-soft 方法。
實踐探究與結論
實驗基于 BERT base 模型以及 MNLI、QQP、SST-2、SQuADv1.0 數據集展開。
實驗結論一是,通過 CAP 框架可以移除模型大部分參數,但依然取得可比的效果。
比如,下圖中第一行中藍框中的數據為未裁剪的 BERT base 的基本模型,而下一個藍框部分就是做了 50% 的裁剪后的數據,兩組數據對比可以看出,做了 50% 的裁剪的 BERT,與原始的 BERT 的表現類似甚至略有提高;再比如另一組數據,裁了 97% 的參數之后,在 qqp 這一任務上依然保持原始 bert 表現的 97.2%。
結論二則是,由于 CAP 可以用于不同的剪枝方法,所以,當 CAP 應用在 first order burning 上時,在不同的裁剪比例上都能帶來有效的提升,比如應用于 movement running 的方式上,也可以獲得比較明顯的提升。
結論三是,對比其他的剪枝優化的方法,比如 SNIP 或其他不同的剪枝優化方法,CAP 有著明顯的優勢。
結論四是,CAP 對比蒸餾方法也有優勢,但是兩者本質上并不是為了打敗蒸餾方法,因為二者是可以結合的。
在上文提到,我們要學習一些通用知識,但這樣能否提升模型的泛化性能呢?接下來將介紹一個驗證上述猜想的實驗。
1. 實驗方法:將得到訓練剪裁完畢的模型后將其解凍,遷移到新任務上,在模型之上訓練一個簡單線性分類器,衡量模型產生表示的泛化能力。
2. 實驗結果:如下表格,首先左邊表示的是先在 MNLI 上訓練裁剪,再遷移到不同的任務,右邊則表示的是先在 QQP 上訓練裁剪,再遷移到不同任務,圖中左側的 f 和 m 表示的就是基于不同的剪枝方法,f 是 first order 的結構化剪枝方法,m 就是 movement Pruning 非結構化剪枝方法,50%、90% 表示的就是模型的裁剪的比例。從圖中可以看到,表格中的藍色部分表示的是有提升,相比 baseline 使用了 CAP 比不使用 CAP 是有提升的,而且遷移的比例會更大一些。
3. 實驗結論:CAP 提高了模型的泛化性能。
消融實驗方面,消融實驗就是去除不同的模塊都發生了 performance 的下降,所以對比學習的三個模塊都發揮不可或缺的作用,以及 supervised 跟 unsupervised 的對比學習目標對于模型都很重要。
而在不同的裁剪比例下,CAP 都能給不同的剪枝方法帶來相應的提升。
簡而言之,預訓練模型越來越大,給模型瘦身變得越來越重要。瘦身的方法包含多種,但是往往在模型剪枝的過程中許多人僅考慮了任務相關的知識,而忽略了與任務無關的中間知識的保留。
所以,我們針對上述問題提出了使用基于對比學習的方法,以及在模型裁剪的過程中向 Pretrained 等一系列的中間模型學習的方法,這些方法可以給不同的剪枝策略帶來提升,并且提高了模型的泛化性能(掃描下方二維碼即可訪問此次研究的論文和代碼)。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的AAAI 2022 | 北大 阿里达摩院:基于对比学习的预训练语言模型剪枝压缩的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟信用卡能注册亚马逊吗
- 下一篇: 中信信用卡延期还款可以几天