DeepMind:AI模型需瘦身,自回歸路線將成主流
以Transformer為核心的自回歸注意力類程序始終難以跨過規(guī)?;@道難關。為此,DeepMind/谷歌最近建立新項目,提出一種幫助這類程序有效瘦身的好辦法。
DeepMind與Google Brain打造的Perceiver AR架構回避了一大嚴重占用資源的任務——將輸入與輸出的組合性質計算至潛在空間。相反,他們向潛在空間引入了“因果掩蔽”,由此實現(xiàn)了典型Transformer的自回歸順序。
人工智能/深度學習領域最令人印象深刻的發(fā)展趨勢之一,就是模型體量越來越大。該領域的專家表示,由于規(guī)模往往與效能直接掛鉤,所以這股體量膨脹的浪潮恐怕還將持續(xù)下去。
但項目規(guī)模越來越大,消耗的資源自然也越來越多,這就導致深度學習引發(fā)了社會倫理層面的新問題。這一困境,已經得到《自然》等主流科學期刊的關注。
也正因為如此,我們恐怕又要回歸“效率”這個老字眼——AI程序,到底還沒有進一步提效的空間?
DeepMind及Google Brain部門的科學家們,最近對自己去年推出的神經網絡Perceiver進行了一番改造,希望能提升其對算力資源的使用效率。
新程序被命名為Perceiver AR。這里的AR源自自回歸“autoregressive”,也是如今越來越多深度學習程序的又一發(fā)展方向。自回歸是一種讓機器將輸出作為程序新輸入的技術,屬于遞歸操作,借此構成多個元素相互關聯(lián)的注意力圖。
谷歌在2017年推出的大受歡迎的神經網絡Transformer,也同樣具有這種自回歸特性。事實上,后來出現(xiàn)的GPT-3以及Perceiver的首個版本都延續(xù)了自回歸的技術路線。
在Perceiver AR之前,今年3月推出的Perceiver IO是Perceiver的第二個版本,再向前追溯就是去年這個時候發(fā)布的Perceiver初版了。
最初的Perceiver創(chuàng)新點,在于采用Transformer并做出調整,使其能夠靈活吸納各種輸入,包括文本、聲音和圖像,由此脫離對特定類型輸入的依賴。如此一來,研究人員即可利用多種輸入類型開發(fā)相應的神經網絡。
作為時代大潮中的一員,Perceiver跟其他模型項目一樣,也都開始使用自回歸注意力機制將不同輸入模式和不同任務域混合起來。此類用例還包括谷歌的Pathways、DeepMind的Gato,以及Meta的data2vec。
到今年3月,初版Perceiver的締造者Andrew Jaegle及其同事團隊又發(fā)布了“IO”版本。新版本增強了Perceiver所支持的輸出類型,實現(xiàn)了包含多種結構的大量輸出,具體涵蓋文本語言、光流場、視聽序列乃至符號無序集等等。Perceiver IO甚至能夠生成《星際爭霸2》游戲中的操作指令。
在這次的最新論文中,Perceiver AR已經能夠面向長上下文實現(xiàn)通用自回歸建模。但在研究當中,Jaegle及其團隊也遇到了新的挑戰(zhàn):模型應對各類多模式輸入和輸出任務時,該如何實現(xiàn)擴展。
問題在于,Transformer的自回歸質量,以及任何同樣構建輸入到輸出注意力圖的程序,都需要包含多達數十萬個元素的巨量分布規(guī)模。
這就是注意力機制的致命弱點所在。更準確地說,需要關注一切才能建立起注意力圖的概率分布。
正如Jaegle及其團隊在論文中提到,當輸入當中需要相互比較的事物數量的增加,模型對算力資源的吞噬也將愈發(fā)夸張:
這種長上下文結構與Transformer的計算特性之間相互沖突。Transformers會反復對輸入執(zhí)行自注意力操作,這會導致計算需求同時隨輸入長度而二次增長,并隨模型深度而線性增加。輸入數據越多,觀察數據內容所對應的輸入標記就越多,輸入數據中的模式也變得愈發(fā)微妙且復雜,必須用更深的層對所產生的模式進行建模。而由于算力有限,因此Transformer用戶被迫要么截斷模型輸入(防止觀察到更多遠距模式),要么限制模型的深度(也就剝奪了它對復雜模式進行建模時的表達能力)。
實際上,初版Perceiver也曾經嘗試過提高Transformers的效率:不直接執(zhí)行注意力,而是對輸入的潛在表示執(zhí)行注意力。如此一來,即可“(解耦)處理大型輸入數組的算力要求同大深度網絡所對應的算力要求”。
Perceiver AR與標準Transformer深度網絡、增強型Transformer XL間的比較。
在潛在部分中,輸入表示經過了壓縮,因此成為一種效率更高的注意力引擎。這樣,“對于深度網絡,大部分計算就實際發(fā)生在自注意力堆棧上”,而無需對無數輸入執(zhí)行操作。
但挑戰(zhàn)仍然存在,因為潛在表示不具備順序概念,所以Perceiver無法像Transformer那樣生成輸出。而順序在自回歸中至關重要,每個輸出都應該是它之前輸入的產物,而非之后的產物。
研究人員們寫道,“但由于每個潛在模型都關注所有輸入,而不管其位置如何,所以對于要求每個模型輸出必須僅依賴其之前輸入的自回歸生成來說,Perceiver將無法直接適用?!?/p>
而到了Perceiver AR這邊,研究團隊更進一步,將順序插入至Perceiver當中,使其能夠實現(xiàn)自動回歸功能。
這里的關鍵,就是對輸入和潛在表示執(zhí)行所謂“因果掩蔽”。在輸入側,因果掩蔽會執(zhí)行“交叉注意”,而在潛在表示這邊則強制要求程序只關注給定符號之前的事物。這種方法恢復了Transformer的有向性,且仍能顯著降低計算總量。
結果就是,Perceiver AR能夠基于更多輸入實現(xiàn)與Transformer相當的建模結果,但性能得以極大提高。
他們寫道,“Perceiver AR可以在合成復制任務中,完美識別并學習相距至少 100k個標記的長上下文模式。”相比之下,Transformer的硬限制為2048個標記,標記越多則上下文越長,程序輸出也就越復雜。
與廣泛使用純解碼器的Transformer和Transformer-XL架構相比,Perceiver AR的效率更高,而且能夠根據目標預算靈活改變測試時實際使用的算力資源。
論文寫道,在同等注意力條件下,計算Perceiver AR的掛鐘時間要明顯更短,且能夠要同等算力預算下吸納更多上下文(即更多輸入符號):
Transformer的上下文長度限制為2048個標記,相當于只支持6個層——因為更大的模型和更長的上下文需要占用巨量內存。使用同樣的6層配置,我們可以將Transformer-XL內存的總上下文長度擴展至8192個標記。Perceiver AR則可將上下文長度擴展至65k個標記,如果配合進一步優(yōu)化,甚至有望突破100k。
所有這一切,都令計算變得更加靈活:“我們能夠更好地控制給定模型在測試過程中產生的計算量,并使我們能夠在速度與性能間穩(wěn)定求取平衡?!?/p>
Jaegle及其同事還寫道,這種方法適用于任意輸入類型,并不限于單詞符號。例如可以支持圖像中的像素:
只要應用了因果掩蔽技術,相同過程就適用于任何可以排序的輸入。例如,通過對序列中每個像素的R、G、B顏色通道進行有序或亂序解碼,即可按光柵掃描順序為圖像的RGB通道排序。
作者們發(fā)現(xiàn)Perceiver中蘊藏著巨大潛力,并在論文中寫道,“Perceiver AR是長上下文通用型自回歸模型的理想候選方案?!?/p>
但要想追求更高的計算效率,還需要解決另一個額外的不穩(wěn)定因素。作者們指出,最近研究界也在嘗試通過“稀疏性”(即限制部分輸入元素被賦予重要性的過程)來減少自回歸注意力的算力需求。
在相同的掛鐘時間內,Perceiver AR能夠在層數相同的情況下運行更多來自輸入的符號,或者在輸入符號運行數量相同的情況下顯著縮短計算時長。作者認為,這種出色的靈活性有望為大型網絡找到一種通用的提效方法。
但稀疏性也有自己的缺點,主要就是過于死板。論文寫道,“使用稀疏性方法的缺點在于,必須以手動調整或者啟發(fā)式方法創(chuàng)建這種稀疏性。這些啟發(fā)式方法往往只適用于特定領域,而且往往很難調整?!監(jiān)penAI與英偉達在2019年發(fā)布的Sparse Transformer就屬于稀疏性項目。
他們解釋道,“相比之下,我們的工作并不需要在注意力層上強制手動創(chuàng)建稀疏模式,而是允許網絡自主學習哪些長上下文輸入更需要關注、更需要通過網絡進行傳播?!?/p>
論文還補充稱,“最初的交叉注意力操作減少了序列中的位置數量,可以被視為一種稀疏學習形式?!?/p>
以這種方式學習到的稀疏性本身,也許會在未來幾年內成為深度學習模型工具包中的又一強大利器。