Mamba一作最新大發長文!
主題只有一個,即探討兩種主流序列模型——狀態空間模型(SSMs)和Transformer模型的權衡之術。
簡單介紹下,Mamba就是一種典型的SSMs,它建立在更現代的適用于深度學習的結構化SSM基礎上,與經典架構RNN有相似之處。
在最受關注的語言任務上,Mamba-3B超越同等規模的Transformer,與兩倍大的Transformer匹敵,因此被視為Transformer架構的有力挑戰者。
現在,Mamba一作將自己去年的幾場演講整合成一篇科普長文,向大眾分享了如下觀點:
- Attention雖強,但不是萬能。
- Transformer≠最終解法,而是階段性最優。
- “讓每個FLOPs都有意義”才是架構設計的最終目標。
- 將SSM層與注意力層按一定比例混合能帶來更強大的模型。
而且他還提前劇透,幾天后將發布“架構領域的下一個重大進展”。
雖然還不知道具體內容,但他目前扔出來的消息已經足夠大家抓耳撓腮一段時間了。
因為他提到了一個重要觀點——注意力機制的缺點實際上并不是它的二次復雜度。
要知道之前大家都認為,ChatGPT等大模型之所以處理長文本算力消耗巨大,背后原因是Transformer架構中注意力機制的二次復雜度。
而現在,這樣的共識或許即將被推翻~
不過好消息是,即將推出的新架構能夠和Transformers兼容。
那么在迎來新架構之前,先讓我們完整回顧下SSMs和Transformers的“世子之爭”吧(doge)。
SSMs就像人類的大腦
一上來,作者先定義了什么是狀態空間模型(SSMs)?
方程看不懂不要緊,只需要知道它可以通俗理解為循環神經網絡(RNN)的現代版。
更直觀的類比如下:
Transformer就像人類每寫一個字之前,都把前面的所有字+輸入都復習一遍,所以寫的慢。
RNN每次只參考前面固定的字數,寫的快,但容易忘掉更前面的內容。
而以Mamba為代表的SSMs每次參考前面所有內容的一個概括,越往后寫對前面內容概括得越狠,丟掉細節保留大意。
這一工作方式有點像人類的大腦——不斷接收新信息(輸入),并將其壓縮、總結成一個固定大小的“隱藏狀態”(即模型的內部記憶),一旦模型需要處理新信息時,它只與這個總結過的“記憶”互動,而不是回顧所有舊細節。
這也意味著,SSM相比其他架構更適合處理長序列信息,而且它還具備兩大優勢:
第一,非常適合處理非結構化或“低分辨率”數據。實驗結果表明,采用SSM架構的Mamba在語言、音頻、DNA序列模態上都實現了SOTA。
第二,處理長序列信息時,其計算成本與序列長度呈線性關系(不會突然急劇上升),且無論輸入序列有多長,模型在推理過程中所需的內存量都是固定的(適合資源有限的環境)。
按照作者總結,Mamba的成功得益于SSM的三個關鍵要素:
(1)狀態大小 (State size)
傳統RNN通常只有一個較小的隱藏狀態,而SSMs通過允許隱藏狀態成為一個更高維度的向量,能夠存儲比舊RNN多N倍的信息。
(2)狀態表達能力 (State expressivity)
早期SSMs以固定不變的方式更新狀態,適合處理音頻(信息變化規律)但不適合處理語言(信息速率變化快、需要選擇性記憶)數據。
而Mamba通過引入“選擇性SSMs”解決了這個問題,與經典RNN“門控機制”相似,它可以根據當前輸入數據來決定哪些信息該記住,哪些該遺忘。
(3)訓練效率 (Training efficiency)
盡管狀態更大、表達力更強會增加計算難度,但Mamba通過精心的參數化和利用經典的并行掃描算法來解決計算效率問題。
而且它和其他現代循環模型一樣,都注重并行化、內存管理以及模型線性度以提高計算效率。
不過作者也提醒,SSMs缺乏對過去信息的精細回憶和精確檢索能力。
Transformer模型更像一個數據庫
相比之下,Transformer模型更像一個數據庫——
會把收到的每一個信息(通常是經過Tokenization處理的“token”)都完整記錄下來,并儲存在一個叫做“KV緩存”的臨時記憶區中。當模型需要處理新信息時,它會回顧并比較所有以前儲存過的“token”。
其核心組件是自注意力機制,所帶來的優缺點也非常明顯。
一方面,Transformer模型能完美記住并精細處理序列中每一個單獨的“token”。
這使得它在處理已經過預處理、每個“token”都具有明確含義的數據時表現出色。如經過分詞(Tokenization)處理的文本,每個詞都帶有語義,Transformer就能很好地利用它們。
缺點就是計算成本高以及過于依賴高質量數據。
而針對Tokenization,作者也探討了它是否應該存在的問題,并得出如下觀點:
- 盡管Tokenization有實用價值,但強烈建議廢除。
作者認為,雖然Tokenization能夠將序列長度縮短約5倍,從而顯著提高語言模型的效率,但這只是表面現象。
首先,Tokenization違背了深度學習“端到端”的自動學習精神,即模型應該從原始數據中自動學習,而不是依賴人工預處理。
更要命的是,Tokenization在多語言和多模態應用中實施起來非常困難甚至不可能,而且還可能限制模型的Scaling Law和推理能力。
比如眾所周知的翻車事件,模型不會數“strawberry”這個詞中有多少個R,就有Tokenization的影響。
一句話,作者堅持認為從原始數據中學習才是一種更好的模式。
而且已有實驗證據表明,在未經Tokenization處理的數據上,SSMs的表現顯著優于Transformer,即使Transformer被允許使用更多的計算資源。這進一步強調了Transformer在處理非語義化“token”數據時的弱點。
至此可以小結一下,SSMs和Transformer模型可謂各有千秋。
那么能不能將二者結合一下呢?
混合一下性能更佳
答案是yes!
作者發現,將兩種類型的信息處理方式結合起來,可能會產生更強大的效果。
這類似于人類智能既有大腦的模糊記憶,又有外部數據庫的精確檢索能力。
多項獨立研究表明,在這些混合模型中,SSM層與注意力層之間的最佳比例大約在3:1到10:1之間。
如此也說明,Attention并非All You Need。
作者明確表示,他的主張不僅僅關乎計算效率(盡管簡化數據可以減少注意力機制的二次復雜度開銷),而是一個更強烈的聲明,即Transformer在建模能力上存在固有的局限性。
最后,他也提到了已經為人熟知的Scaling Law定律。
在他看來,雖然Transformer目前很流行,但它們遠非計算資源轉化的最優選擇,而要設計新的架構,一個重要衡量標準是每個FLOPs(算力)能否物盡其用,快速轉化為模型能力。
一言以蔽之,未來的方向可能是結合兩者的優勢,并開發能夠直接處理原始數據的模型。
不知道新架構又能帶來多大驚喜?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.