
來源 | 機器之心
原文作者 | Albert Gu
編輯 | 陳陳、杜偉
「Tokenization(分詞)是 Transformer 模型為彌補自身缺陷不得不戴上的枷鎖。」
近日,Mamba 作者、CMU 助理教授、Cartesia AI 首席科學家 Albert Gu 撰寫了一篇新部落格,探討了狀態空間模型(SSM)和 Transformer 之間的權衡,並提出了這樣一種觀點。

這篇部落格改編自 Albert Gu 過去一年來多次進行的一場演講。雖然演講內容通俗易懂,面向比較廣泛的受眾群體,但其中的一些有趣的見解、觀點和原理闡釋,相信對專業研究者也不乏啟發價值。
在社交媒體 X 上,Albert Gu 丟擲了「tokens are bullshit」的觀點,並預告了接下來要釋出的重大架構進展。


圖源:https://x.com/_albertgu/status/1942615020111876248
評論區的很多網友贊成 Albert Gu 的觀點,認為移除 tokenization 會在計算效率方面帶來積極影響。

狀態空間模型
本文首先定義了什麼是狀態空間模型(State Space Model,SSM)。
下面的公式定義了(結構化)狀態空間模型,它源自一系列工作,最終催生了 Mamba。狀態空間模型可被視為現代版本的迴圈神經網路(RNN),具有一些關鍵的特性。儘管實現這類模型需要大量技術工作,但本文首先提煉出了使這類模型成功匹配 Transformer 語言建模效能的核心要素。

三大要素
1. 狀態大小
SSM 的一大特性是其隱藏狀態 h_t 的維度大於輸入和輸出「x_t, y_t.」。關鍵思路在於:在自迴歸建模中,任何迴圈網路的隱藏狀態是其獲取模型上下文的唯一途徑。所以,對於語言等資訊密集模態的建模,模型需要足夠大的狀態空間來儲存其後續想要呼叫的相關資訊。
在 SSM 中,如果每個輸入 x_t 是一維標量,則隱藏狀態 h_t 為 N 維向量,其中 N 是獨立超引數,被稱為狀態空間、狀態維度或者狀態擴充套件因子。這類模型也被稱為 SISO(單輸入單輸出)SSM,允許模型儲存的資訊是 LSTM 和 GRU 等傳統 RNN 的 N 倍。
2. 狀態表現力
模型不僅需要擁有足夠大的狀態空間以在理論上儲存相關上下文資訊,更需要具備表現力強大的狀態更新函式,以精確編碼和呼叫其需要的資訊。
早期版本的「線性時不變」SSM 使用簡單的遞迴公式「h_t=Ah_t−1+Bx_t」,其更新規則在每一個時間步保持恆定。雖然這一機制對音訊等壓縮資料的適用性很好,卻難以應對語言這類資訊速率多變的序列 —— 模型必須選擇性記憶關鍵資訊。以 Mamba 為代表的選擇性 SSM 透過動態轉移矩陣解決了此問題:其轉移矩陣隨時間變化且依賴資料本身,使得遞迴過程更具有表現力。值得注意的是,這些機制與經典 RNN 的門控結構緊密相關。
這正是現代迴圈模型最活躍的研究領域,聚焦理解轉移矩陣 A_t 不同引數化的理論表現力,以及這些引數化如何影響模型在狀態空間中的記憶能力。
3. 訓練效率
擴充套件迴圈狀態的容量和表現力很重要,但隨之而來的是模型面臨的關鍵計算效率瓶頸。Mamba 透過精心設計遞迴引數化方式,並採用經典的並行掃描演算法攻克了這一難題。
當前湧現的諸多演算法創新都具有以下共性特徵:
-
並行化能力:致力於實現並行化,並在 GPU、TPU 等加速器上達到實用級效率 —— 通常利用矩陣乘法(matmuls)作為主力運算;
-
記憶體管理機制:必須精細控制記憶體使用,尤其是採用狀態擴充套件的模型,實際上在主記憶體中無法實體化整個狀態!Mamba 憑藉對 GPU 儲存層級的深度認知實現硬性解決,而大多數替代方案透過重構整個計算路徑,在並行訓練過程中規避顯式狀態計算;
-
線性特徵:模型通常需要保持關於「x_t」的線性特徵,因而一些人稱此類模型為線性迴圈模型。線性特徵對計算效率以及建模或最佳化能力均產生重要影響(具體分析詳見下文)。
Mamba—— 系統性整合
需特別指出,以下三大技術要素均非首創:
-
要素 1:線性注意力和早期 SSM 已經採用類似的狀態擴充套件公式;
-
要素 2:選擇性機制的設計靈感來自於 LSTM 和 GRU 等經典 RNN 的門控結構,兩者緊密相關;
-
要素 3:並行掃描演算法在 S5 和 LRU 等早期 SSM 或線性 RNN 中已使用,線性注意力變體也採用了基於矩陣乘法的並行訓練演算法。
Mamba 的核心突破在於證明了:當將所有這些技術要素整合在一起時,模型在語言建模任務中可以實現跨越式效能突破,並達到比肩 Transformer 的效果。
現代迴圈模型
此後,現代迴圈模型研究呈現爆發式增長,各類新模型密集湧現。這些研究雖然動機不同,術語繁雜,卻共享類似的技術核心:
-
RWKV、xLSTM 和 Griffin 等模型延續了 RNN 正規化,將狀態擴充套件稱為矩陣化狀態(要素 1),將選擇性機制稱為門控;
-
線性注意力率先融合了要素 1 和要素 3(並行演算法),後續變體如 GLA、Gated DeltaNet 等引入資料依賴型遞迴選擇性機制,並使用基於注意力的術語(如使用 (K,Q,V) 而不是 (B,C,X))。Mamba-2 可以同時視為 SSM 或線形注意力;
-
近期的很多模型提出了測試時訓練 / 迴歸框架,將遞迴更新視為上下文記憶的線上最佳化過程。在這些框架中,狀態被視為聯想記憶,並行化透過小批次梯度下降實現。
核心共性在於:幾乎所有模型可納入相同的 SSM 公式 (1),主要差異在於轉移矩陣 A_t 的結構設計(要素 2)以及對應的高校訓練演算法(要素 3)。本文采用狀態空間模型(或現代迴圈模型)來統稱這一大類新興模型 —— 它們精確捕捉了 SISO 線性遞迴和狀態擴充套件等核心共性特徵。當然,考慮到技術同源性,其他命名體系同樣合理!

儘管該領域的研究加速推進,並且新模型持續湧現,但本文認為當前模型仍然呈現高度同質化的特徵,實證效能也基本相當。尤其是相較於二次注意力機制,這些模型之間的相似度遠高於它們於 Transformer 的差異。
接下來將重點剖析 SSM 和 Transformer 之間的高階權衡關係。
狀態、大腦和資料庫
本文認為:可以透過觀察不同模型在自迴歸狀態中儲存了什麼,以及它們是如何操作這些狀態的,來更好地理解它們之間的權衡。這是什麼意思呢?
從某種意義上說,每一個自迴歸模型 —— 比如像現代大語言模型那樣按從左到右順序生成資料的模型 —— 都是一種「狀態空間模型」,它在記憶體中儲存某種狀態,並在每一個時間步中對其進行更新(比如 LLM 生成每一個詞之間的過程)。
序列模型的自迴歸狀態
自迴歸 Transformer 的核心元件是(因果)自注意力機制,往往透過一種特定的操作來定義:計算序列中每一對元素之間的相互作用。因此,其計算成本隨著序列長度呈二次增長,這也常被視為注意力機制的主要劣勢。
相比之下,由於遞迴公式(1)中每一步的計算耗時是常數,整個序列的處理時間與序列長度成線性關係,這通常被認為是狀態空間模型的主要優勢。

但是,與其去思考這些模型在訓練階段的計算成本,本文認為更有啟發性的是去關注它們在推理階段處理新輸入時會發生什麼。
-
當一個自注意力層接收到一個新 token 時,它需要將這個 token 與序列中此前出現的所有元素進行比較。這意味著,它必須快取整個上下文中每一個先前 token 的表示。每接收一個新輸入,它都必須將其加入快取,因此快取的大小會隨著上下文長度線性增長。
-
相比之下,狀態空間模型始終將上下文「x_1,⋯ ,x_t」總結為一個隱藏狀態 h_t(見公式 (1)),這個隱藏狀態的大小是固定的。這個固定大小的狀態就是模型與資料互動的唯一方式:它持續接收資料流,將其壓縮排狀態中,並依賴這一狀態來做出決策或生成新輸出。
這裡甚至不需要深入探討這些不同模型的具體定義。可以粗略地說,這些模型完全可以從「自迴歸狀態」的第一性原理出發來定義:
-
Transformer(自注意力機制)的特點是其狀態會快取歷史中的每一個元素,並透過遍歷整個快取來與新輸入的資料進行互動。
-
狀態空間模型(SSM)的特點則是其狀態會壓縮整個歷史資訊,並以線上流式的方式與新輸入資料進行互動。
粗略的類比
儘管狀態空間模型(SSM)常被視為更高效但稍遜於 Transformer 的變體,事情其實並沒有那麼簡單。
即使不考慮計算效率,這兩類模型在歸納偏置(或建模能力)上也存在不同的權衡。考慮到兩者處理資料的方式差異,本文做了一個粗略但貼切的類比來說明這一點。

Transformer 更像是資料庫:它們把每一個新的觀測都當作重要的資訊存檔,以備將來查用。相比之下,狀態空間模型(SSM)更像是大腦:擁有有限大小的記憶,一直處於工作狀態,即時處理新輸入併產生輸出。
這個類比雖然有些淺顯,但在直觀上確實有助於解釋一些經驗上觀察到的行為模式。例如,SSM 無法在只讀一遍的情況下記住整個電話簿並完整背誦出來,或者從記憶中準確回憶任意一個人的電話號碼。當然,人類也做不到這一點 —— 我們在精確記憶和檢索方面表現得非常差 —— 但這似乎並不妨礙智慧的產生!
另一方面,Transformer 在上下文長度上有一個根本的硬性限制(當快取大小被超過時),而像 SSM 這樣的遞迴模型在理論上可以像人類一樣,保有一段無限長(但模糊)的過去記憶。

一個更有趣的經驗發現 —— 也許可以從上述類比中預測到 —— 將這兩種資訊處理方式結合起來,可能會表現得更強大!就像人類的智慧能夠透過使用筆記本和外部參考資料得到增強一樣,當語言模型透過一種簡單的交替策略將 SSM 與注意力層結合使用時,其能力也得到了提升。
更令人感興趣的是,經過多個研究團隊的獨立驗證(包括 H3、Jamba、Zamba、Samba 以及隨後湧現出的許多模型),最優的 SSM 與注意力層的比例大致在 3:1 到 10:1 之間。如果你認同這樣一個粗略的類比(即人類智慧主要依賴於大腦,並透過輕量訪問外部資料庫得到增強),那麼這個比例似乎也在某種程度上印證了這一觀點!
如今,這類混合模型已被大規模擴充套件到非常龐大的規模(例如採用 MoE 架構的總引數量達到 5600 億),並由一些頂級實驗室推出,如 NVIDIA 的 Nemotron-H 和騰訊的 T1/TurboS,都已在多個任務上取得了最先進的效能。
Is Attention All You Need?
所以,「Attention is all you need」,對吧?如今普遍存在一種看法:Transforme 是終極架構,能夠從原始資料中學到任何東西,只要資料足夠多、計算資源充足,唯一的瓶頸就是算力。

但事實並非如此簡單。Attention 確實非常出色,已經成為幾乎所有模態的核心骨幹,從最初在語言上的應用拓展到了視覺、音訊,甚至更多領域。不過,這其中還有更多細節值得探討。

本文想提出的觀點是:要真正有效地使用 Transformer,資料必須經過相當程度的預處理。為了支援這個觀點,可以先來看看 Transformer 在實際中的使用方式。

在幾乎所有真實的應用流程中,原始資料在輸入 Transformer 之前都會先透過某種編碼器進行處理,例如:
-
在視覺任務中,無論是分類還是生成,都需要一個「切塊」(patchification)步驟;
-
在語言建模中,需要先進行「分詞」(tokenization)。
這聽起來也許很直觀:畢竟注意力機制的計算複雜度是二次的,我們會希望儘量簡化輸入資料(比如縮短序列長度)。
但本文想說的並不僅僅是計算效率的問題,而是一個更強的觀點:Transformer 在建模能力上本身就存在一定的侷限性。
我們應該擺脫 tokenization 嗎?
Tokenization 是所有語言建模流程中一個重要步驟,最常見的是 BPE 演算法,本文中 tokenization 與 BPE 可互換使用。
但這個過程帶來很多問題,如詢問大模型「strawberry 裡有幾個字母 r?」,它們經常回答錯誤,這些都暴露了分詞機制在理解語言細節上的侷限。

那我們為什麼還要使用 tokenization 呢?
從大量觀點來看,幾乎所有人都同意:tokenizer 既笨拙又醜陋,但它又必然存在。
在實際應用中,tokenization 大約可以將序列長度縮短一個數量級左右,這顯著提升了語言模型的運算效率。儘管存在一些極端案例,但大多數情況下,它們確實能用。
但本文恰恰相反,認為我們應該徹底擺脫 tokenization,這不僅僅是出於實際原因,也是為了美觀和無形的考慮。
除了可以修復邊緣案例(如 strawberry 這個單詞裡有幾個字母 r),移除 tokenization 更符合深度學習的本質。
深度學習一直都致力於用強大的端到端神經網路取代手工設計的特徵工程,這些神經網路可以自動從資料中學習模式。從 CNN 取代計算機視覺領域中人工設計的邊緣檢測器,到 Transformers 取代自然語言處理領域的語言特徵,人工智慧的重大進步總是伴隨著更少的資料處理和更多的自動學習(正如《苦澀的教訓》所倡導的那樣)。
用端到端模型替代 tokenization 將帶來深遠的影響,具體體現在以下幾個方面:
-
擴充套件律(scaling laws):從原始資料中學習更優的模式,總能帶來更強大的模型能力;
-
多語言與多模態處理:對某些語言和其他型別的序列資料而言,tokenization 一直是一個出了名的難題,甚至根本無法適配;
-
推理能力:模型可以從資料中學習到更具語義的模式,並在更高抽象層面上進行推理。
假如沒有 tokenization,會發生什麼?
LLM 時代,幾乎沒有幾篇論文真正認真思考或嘗試解決「去除 tokenizer」這個問題。甚至很難找到一套可靠的基準,用來評估無 tokenizer 模型的表現。

假如沒有 tokenization,會發生什麼?
由上圖,我們可以得出一些讓人頗感意外的結論。
但現在我們只做一件事:保持模型和資料不變,僅僅取消 tokenization(直接用位元組輸入),結果是 ——Transformer 用上了更多的計算資源,表現卻明顯落後於 SSM。
首先要指出的是:在 FLOPs 匹配的前提下,SSM 的表現遠優於 Transformer。
這一點對一些人來說也許並不意外,因為在位元組級建模中,輸入序列遠長於 BPE token 序列,而 Transformer 會因其對序列長度呈二次複雜度的計算瓶頸而受到影響。
然而,Transformer 的弱點並不僅僅在於效率問題,更在於其建模能力的侷限。
值得注意的是,即使讓 Transformer 使用遠多於 SSM 的計算資源(以資料量匹配,而非計算量匹配),SSM 依然始終領先。
作為對比:如果用完全相同的資料對這兩類模型進行對比,但對資料做了 tokenization,那麼兩者的困惑度(perplexity)曲線會基本相似(甚至 Transformer 會略優),並且它們的 FLOP 也會差不多。
但如果在保持模型和資料不變的前提下,只是將輸入不進行 tokenize,Transformer 雖然使用了更多的計算量,其效能反而相對 SSM 有明顯下降。

最初的 Mamba 論文顯示,在 DNA 語言建模任務中,Mamba 在無需特別調優的情況下,其擴充套件能力明顯優於 Transformer。
這或許給我們一點啟示:tokenization 本質上是為 Transformer 缺陷設計的補丁,而 SSM 類模型在原生處理低語義密度資料時展現出更根本的建模優勢,這可能重塑我們對語言模型本質能力的認知框架。
要理解這裡發生了什麼,一個有用的思維模型是回到自迴歸狀態。簡而言之,由於 Transformer 顯式快取了所有先前的 token,它就帶有一種歸納偏置:傾向於關注每一個具體的 token。或者更簡潔地說:軟注意力的歸納偏置,其實是硬注意力。
在處理語言時,我們通常關注的是詞(word)或子詞(如詞根、字首 / 字尾)這樣的單位,它們具有明確的語義含義。
但反過來看,如果這種假設不成立 —— 比如閱讀時我們很少會關注某個單獨的字元,那麼注意力機制的表現就會下降。
更有趣的是,很多其他型別的資料處於這兩者之間的模糊地帶。
比如影像中的 patch 在某些情況下能捕捉到顯著特徵,有時是有意義的;但在其他時候,它們可能毫無用處,或者語義不完整。

一個假想
當序列中存在噪聲時會發生什麼?
眾所周知,LLM 的訓練資料通常需要大量的預處理、篩選和清洗,但現實世界中的資料(尤其是多模態資料)並非如此。人類也能在大量噪聲中學習得很好!
那麼,在一個非常簡單的情形下,如果我們在序列中插入一些不包含任何資訊的填充 token,會發生什麼呢?

圖中揭示了標準注意力機制的又一個失敗模式:計算不應該按 k^2 擴充套件,推理時的記憶體消耗更不應該這樣擴張,快取這些毫無意義的噪聲 token 是完全沒有意義的。
相比之下,SSM 做得更好:即使冗餘因子增加,模型的記憶體不會增加。
但這也並未完全解決問題,因為任何標準架構的計算量仍然會隨著 token 的增加而增加。所以說,所有當前的大模型在面對噪聲或冗餘時都存在效能損耗的問題。
所以,理想的模型體系架構應該在不(實質上)增加計算或記憶體使用的情況下,能夠處理這種帶有填充序列的任務,而不是盲目地處理所有 token。
更一般地,假設我們有一個數據集的兩個副本,其中一個包含很多額外的噪聲,但總體而言,它們具有基本相同的有用資訊。我們應該預期正確的架構在這兩個資料集上的表現基本相同。
這就引出一個問題:Is attention all you need? 答案是注意力機制對處於正確抽象層級的預壓縮資料最為有效。
當然,這種說法是對實際情況的過度簡化,作者表示也不知道該如何正式定義抽象層級這種概念。但作者相信,在某種模糊的意義上,這確實是對的。
狀態空間模型與 Transformer 之間的權衡
狀態空間模型
先說優勢,SSM 是一種天然具備狀態記憶的模型,擅長高效、互動式、線上處理。缺點是缺乏精細的回憶(recall)和檢索能力。
這兩者好比同一枚硬幣的兩面,根源都在於狀態壓縮機制的本質特性。
那麼壓縮是否其實是智慧的根本特徵之一?是否有可能,正是因為將資訊強行壓縮排一個更小的狀態空間,才迫使模型去學習更有用的模式和抽象?
雖然在很多文獻中,壓縮狀態常被視為一種缺陷,但這種觀點的產生可能是因為壓縮帶來的弱點很容易被量化衡量,而壓縮所帶來的那些更微妙的、定性的正面影響卻很難被準確評估。

無論如何,現在肯定有很多有趣的應用,SSM 看起來是非常合適的工具。
Transformer
Transformer 的表現非常出色,事實上,在那些需要關注上下文中單個 token 的任務中,Transformer 幾乎是唯一能夠勝任的工具。
Transformer 的優勢是擁有完美的召回率,並能在其上下文中對單個 token 進行細粒度的操作。
那麼它的缺點呢?大家都知道 Transformer 的主要弱點是其二次方複雜度。
並非如此。這篇文章的主題是要闡明 Transformer 確實存在歸納偏差,這使其在建模能力方面存在弱點,而不僅僅是效率方面。與 SSM 一樣,Transformer 的高層優勢和劣勢是同一枚硬幣的兩面,都是其自迴歸狀態結構的結果:token 快取會維持給定輸入解析度的粒度。
Transformer 弱點是受制於賦予它們的 token。
換句話說,它們對資料的解析度和語義內容更加敏感。Transformer 的特點在於其上下文快取,它為序列中的每個元素儲存單獨的表示,這意味著每個元素最好都有用。
最後,讓我們來談談當前人工智慧發展浪潮的主要驅動力之一:擴充套件律 Scaling Laws,或者說,在模型上投入更多計算資源會持續帶來更多能力的現象。
這些定律總是以 FLOP(浮點運算次數)為 x 軸,以某種效能指標為 y 軸來繪製,其理念是,這條線的斜率衡量「計算能力轉化為能力的速率」。事實上,本文認為有一種流行的觀點認為 Transformer 只是一種以最佳方式執行這種轉換的工具。
這很好地描述了架構研究的目標,本文只是在尋找一個能夠以最佳方式執行這種轉換的黑匣子。從這個角度來看,只有一個核心問題:
模型是否合理地利用了它的計算能力?
換句話說,本文希望每個 FLOP 都有效。希望讀完這篇文章後,大家能夠清楚地認識到 Transformer 遠非最佳方案(至少作者已經說服了自己!)。
題外話:這真的重要嗎?
儘管作者被譽為 Transformer 替代方案方向的領導者,但他同時也認為 Transformer 非常棒,注意力機制確實是建模的基本原語。但作者也認為,Transformer 本身顯然不是最終的解決方案。我們還有很多工作要做。
部落格連結:https://goombalab.github.io/blog/2025/tradeoffs/#a-coarse-analogy
技術交流群邀請函
△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群
關於我們
MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。

掃描二維碼新增小助手微信
關於我們
