平方之牆與循環之夢
softmax 注意力把每個詞元與其他每個詞元比較,因此成本隨序列長度平方成長,且其 KV 快取永遠線性增長。舊的 RNN 家族有相反的輪廓:固定大小的隱藏狀態與線性時間處理,但無法平行訓練、有效記憶又短。整條研究脈絡的夢想,就是同時取得 RNN 的常數記憶體推論以及 Transformer 的平行訓練與長觸及。
沿時間步展開的 RNN,每一步將隱藏狀態傳給下一步。
自《Attention Is All You Need》以來,這被當成過時的想法——直到兩條工作路線把它復活。兩者都維持一個壓縮的執行狀態,而非無上限的快取,且都寫成訓練仍能沿序列平行化。它們的差異在於那個狀態如何計算。
線性注意力:丟掉 softmax,保留狀態
線性注意力(linear attention)從一個簡單的代數動作出發。softmax 卡在查詢與鍵之間,逼你先建出完整的分數矩陣才能乘以值。把 softmax 換成分別套用於查詢與鍵的核特徵映射(kernel feature map),矩陣乘法的結合律就讓你能先把鍵與值摺進單一的執行摘要——把平方成本變成線性。
同一條方程式有兩張臉。訓練時你像注意力那樣平行跑它;生成時你把它當成一條循環,對每個詞元更新一個固定大小的狀態,無論脈絡多長都給出常數記憶體與常數的每詞元成本。誠實的難處是:那個固定狀態是一份有損摘要,所以早期的線性注意力模型犧牲了一些完整 softmax 注意力所提供的精準回想。
以核特徵映射 φ 取代 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ₜ 映射序列;Mamba 讓參數依賴於輸入,從而讓模型根據內容有選擇地記憶或遺忘。
歸納頭:一個你讀得懂的電路
另一條前沿不是新架構,而是一具新顯微鏡。機制可解釋性(mechanistic interpretability)逆向工程訓練後 Transformer 所實作的演算法,而它的里程碑發現是歸納頭(induction head):一個雙層電路,它找出某詞元先前出現的位置,並預測那次之後接的是什麼——簡言之,「我見過這個模式;上次接的是這個。」
互動式自注意力圖示,展示一個詞回看之前匹配位置的注意力。
歸納頭的意義不止於可愛。它們在訓練中一個尖銳、可辨識的相變期間湧現,而那一刻恰與模型脈絡內學習(in-context learning)能力的突然躍升重合。主流假說是:這個簡單的複製—接續電路,是從提示中學習背後的一項基礎機制——這是少見的、我們能指名一個具體結構並把它連到一項湧現能力的案例。
把線索收攏。本軌道裡每一項效率技巧——RoPE、GQA、FlashAttention-2、MoE、滑動視窗、YaRN、匯點、環形注意力、線性注意力、Mamba——都在重塑 Transformer 如何花費計算與記憶體。可解釋性問的是正交的另一題:它算了什麼。下一步真正重要的研究,就活在兩者交會之處:那些內部電路我們仍讀得懂、信得過、駕馭得了的高效架構。