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