JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

超越 softmax:線性注意力、狀態空間模型與電路

前沿提出兩個問題:能否用線性的東西取代平方的注意力,又能否讀懂訓練後模型內部的電路?線性注意力、Mamba 與歸納頭是我們目前最好的三個答案。

平方之牆與循環之夢

softmax 注意力把每個詞元與其他每個詞元比較,因此成本隨序列長度平方成長,且其 KV 快取永遠線性增長。舊的 RNN 家族有相反的輪廓:固定大小的隱藏狀態與線性時間處理,但無法平行訓練、有效記憶又短。整條研究脈絡的夢想,就是同時取得 RNN 的常數記憶體推論以及 Transformer 的平行訓練與長觸及。

遞迴之夢重現:如同沿時間展開的 RNN,線性注意力與狀態空間模型攜帶一個壓縮的運行狀態,而非不斷增長的快取。

沿時間步展開的 RNN,每一步將隱藏狀態傳給下一步。

《Attention Is All You Need》以來,這被當成過時的想法——直到兩條工作路線把它復活。兩者都維持一個壓縮的執行狀態,而非無上限的快取,且都寫成訓練仍能沿序列平行化。它們的差異在於那個狀態如何計算。

線性注意力:丟掉 softmax,保留狀態

線性注意力(linear attention)從一個簡單的代數動作出發。softmax 卡在查詢與鍵之間,逼你先建出完整的分數矩陣才能乘以值。把 softmax 換成分別套用於查詢與鍵的核特徵映射(kernel feature map),矩陣乘法的結合律就讓你能先把鍵與值摺進單一的執行摘要——把平方成本變成線性。

同一條方程式有兩張臉。訓練時你像注意力那樣平行跑它;生成時你把它當成一條循環,對每個詞元更新一個固定大小的狀態,無論脈絡多長都給出常數記憶體與常數的每詞元成本。誠實的難處是:那個固定狀態是一份有損摘要,所以早期的線性注意力模型犧牲了一些完整 softmax 注意力所提供的精準回想。

\text{out}_i=\frac{\phi(q_i)^{\top}\sum_{j\le i}\phi(k_j)\,v_j^{\top}}{\phi(q_i)^{\top}\sum_{j\le i}\phi(k_j)},\qquad S_i=S_{i-1}+\phi(k_i)\,v_i^{\top}

以核特徵映射 φ 取代 softmax 後即可重排乘法順序,並維護固定大小的運行狀態 Sᵢ,將生成過程變成常數記憶體的遞迴。

# softmax attention (quadratic): build S = softmax(Q @ K.T), then S @ V
# linear attention (linear): phi = feature_map
state = 0
for t in range(T):           # recurrent inference form
    state = state + outer(phi(k[t]), v[t])   # fixed-size running summary
    y[t] = phi(q[t]) @ state                 # O(1) memory per step
線性注意力露出一個帶固定大小狀態的循環推論形式。

狀態空間模型與 Mamba:選擇性掃描

狀態空間模型(state-space models, SSMs)從控制理論逼近同一個目標。一個連續線性系統透過受少數學得矩陣支配的隱藏狀態,把輸入序列映射到輸出;離散化後,它變成一個能平行訓練的長卷積,與一個以線性時間執行的高效循環。早期的 SSM 在長程合成任務上與 Transformer 並駕齊驅,但在語言上落後。

Mamba 以一項關鍵改動補上了那道落差:讓狀態空間參數取決於輸入,使模型能依內容選擇性地記住或遺忘,而非對每個詞元套用同一套固定動態。那份選擇性正是注意力有、而經典 SSM 缺的東西。代價是卷積觀點不再適用,所以 Mamba 靠一個考量硬體的平行掃描來維持速度——與 FlashAttention 相同的 IO 感知精神,施加在一條循環上。

h_t=\bar{A}\,h_{t-1}+\bar{B}\,x_t,\qquad y_t=C\,h_t,\qquad (\bar{A},\bar{B},C)=f(x_t)

狀態空間模型透過隱藏狀態 hₜ 映射序列;Mamba 讓參數依賴於輸入,從而讓模型根據內容有選擇地記憶或遺忘。

歸納頭:一個你讀得懂的電路

另一條前沿不是新架構,而是一具新顯微鏡。機制可解釋性(mechanistic interpretability)逆向工程訓練後 Transformer 所實作的演算法,而它的里程碑發現是歸納頭(induction head):一個雙層電路,它找出某詞元先前出現的位置,並預測那次之後接的是什麼——簡言之,「我見過這個模式;上次接的是這個。」

歸納頭是一種注意力迴路:點擊一個詞,看它回看之前出現的位置並複製其後的內容。

互動式自注意力圖示,展示一個詞回看之前匹配位置的注意力。

歸納頭的意義不止於可愛。它們在訓練中一個尖銳、可辨識的相變期間湧現,而那一刻恰與模型脈絡內學習(in-context learning)能力的突然躍升重合。主流假說是:這個簡單的複製—接續電路,是從提示中學習背後的一項基礎機制——這是少見的、我們能指名一個具體結構並把它連到一項湧現能力的案例。

把線索收攏。本軌道裡每一項效率技巧——RoPE、GQA、FlashAttention-2、MoE、滑動視窗、YaRN、匯點、環形注意力、線性注意力、Mamba——都在重塑 Transformer 如何花費計算與記憶體。可解釋性問的是正交的另一題:它算了什麼。下一步真正重要的研究,就活在兩者交會之處:那些內部電路我們仍讀得懂、信得過、駕馭得了的高效架構。