教大模型自己跳過“無用”層,推理速度×3性能不變,谷歌MIT這個新方法火了
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
大語言模型用著爽,但推理速度實(shí)在太慢了?
而且,增加模型體積,推理效果也并不一定就比之前更好。
為了解決這一問題,谷歌MIT的研究人員提出了一個新框架CALM,讓它自己來決定計算量。
如果CALM意識到某些層“可有可無”,那么它在計算時就會跳過這些層。
論文被po到網(wǎng)上后,立刻火了一波:
有網(wǎng)友表示,我們就是需要這樣更智能和自適應(yīng)的模型,顯然CALM的解碼器已經(jīng)做到了:
直接用中間層輸出結(jié)果
CALM全稱Confident Adaptive Language Modeling,即置信自適應(yīng)大語言模型。
這一模型基于Transformer架構(gòu),為了加速它的計算,研究人員提出了一個名叫“提前退出”(early exiting)的方法,讓模型根據(jù)不同的輸入,動態(tài)決定要用多少層網(wǎng)絡(luò)來計算。
也就是說,在計算的過程中,模型不需要經(jīng)過每一層計算再輸出結(jié)果,而是能直接用中間層的特征輸出token,從而降低模型計算量。
所以,模型如何決定“退出”的時機(jī)呢?
這就需要訓(xùn)練模型學(xué)會自己判斷了。
其中,Yfull是標(biāo)準(zhǔn)模型輸出的結(jié)果,Yearly是模型“提前退出”時輸出的結(jié)果。為了讓Yearly的效果更好,就需要盡可能讓它與Yfull保持一致。
當(dāng)然,不同的任務(wù)對于文本輸出一致性也有不同的要求,例如對生成結(jié)果要求沒那么嚴(yán)格(可以生成更多樣的語句)的任務(wù),對于Yfull和Yearly的一致性要求就沒那么高。
因此作者們也在論文中給出了兩個不同的公式,可根據(jù)實(shí)際情況選用:
在實(shí)際操作上,論文通過設(shè)置一個局部的token置信度,來檢查其對整個生成序列的影響。
模型在解碼過程中,會計算每一層的置信度c,并將它與達(dá)到“提前退出”的閾值λ相比,如果c大于λ,則模型“提前退出”。
所以,這樣的模型實(shí)際測試效果究竟如何?
歸納翻譯QA任務(wù)表現(xiàn)都不錯
論文在CNN/DM、WMT和SQuAD三個數(shù)據(jù)集上進(jìn)行了測試。
其中,CNN/DM是一個新聞文章數(shù)據(jù)集,需要輸出一個幾句話概括文章的結(jié)果;WMT15 EN-FR是一個機(jī)器翻譯數(shù)據(jù)集,主要是法譯英句子的結(jié)果;Open-book SQUAD 1.1則是一個根據(jù)維基百科提問的QA數(shù)據(jù)集。
據(jù)一作Tal Schuster介紹,在保持相同性能的情況下,CALM使用的解碼器層數(shù)平均比之前降低了3倍。
對于這篇論文,有網(wǎng)友表示贊同:模型確實(shí)不需要總是“長時間深入思考”,有時候幾層就能推理出正確答案了。
據(jù)作者表示,這一加速解碼的思路,適用于任何Seq2seq模型。
作者介紹
這篇論文的作者一共有8個人,分別來自谷歌和MIT CSAIL,其中主要負(fù)責(zé)人有兩位,Tal Schuster和Adam Fisch。
Tal Schuster博士畢業(yè)于MIT,目前是谷歌的高級研究員,研究方向是機(jī)器學(xué)習(xí)模型的魯棒性、可靠性和效率提升。
?
Adam Fisch,MIT在讀博士生,本科畢業(yè)于普林斯頓大學(xué),研究方向是機(jī)器學(xué)習(xí)量化不確定性、少樣本學(xué)習(xí)等。
對大語言模型推理加速感興趣的小伙伴,可以戳論文地址詳細(xì)了解。
論文地址:
https://arxiv.org/abs/2207.07061