一次前向傳遞,兩個念頭:研究人員證明 Transformer 能疊加處理文字流
一篇九位作者共同發表的 arXiv 論文證明:把兩份文件的 embedding 逐元素平均後餵給 LLM,模型輸出的會是兩個下一 token 分佈的疊加——這是架構本身的內稟性質,預訓練會侵蝕它,而輕量微調就能恢復。
9 月 24 日登上 arXiv 的一篇論文,標題寫得就是讓人忍不住停下來:「你的 Transformer 可以同時持有兩個念頭」(Your Transformer Can Hold Two Thoughts at Once)。吸睛的標題背後,是一個真正令人意外的實證發現,而且對我們理解 LLM 推理——可能還包括我們為推理付出的成本——都有實際意義。
這篇論文由 Pavel Tikhonov、Anton Korznikov 與 Matvey Mikhalchuk 領銜,連同 Nikita Dragunov、Temurbek Rahmatullaev、Polina Druzhinina、Anton Razzhigaev、Ivan Oseledets 與 Elena Tutubalina 共九位作者完成,提出所謂的疊加線性假說(Superposition Linearity Hypothesis)。主張是:當你把兩條不同文字流的輸入 embedding 線性混合——例如把文件 A 與文件 B 的 token embedding 逐元素取平均——預訓練的 Transformer 並不會崩解成一團雜訊。相反地,它輸出的結果會接近兩個各自下一 token 分佈的疊加。兩個「念頭」在同一趟前向傳遞中同時存活。
為什麼這很意外
現代 LLM 的每一個環節都寫滿了非線性。Self-attention、MLP 區塊、對整個詞表做的 softmax——沒有一處看起來像那種「把兩個輸入平均一下、還期待輸出有意義」的系統。主流範式把推理視為單一連貫的語意流:想同時處理兩份獨立文件,你要嘛跑兩趟前向傳遞,要嘛求助於專門設計來避免破壞性干擾的特殊架構。
然而先前的研究(Razzhigaev 等人,2024——與本篇部分作者重疊)已經發現,decoder-only Transformer 的 residual stream 具有很強的線性結構:相鄰層之間的轉換常常可以用仿射映射(affine map)很好地近似。這篇新論文問了自然的下一步:這種線性是否一路延伸到端到端的輸入—輸出行為?他們的答案是肯定的,而且程度驚人。把兩份不同文件的 embedding 逐 token 平均後餵給標準的預訓練 LLM,兩條流的真實下一 token 都持續保有不低的機率質量——經常落在混合輸出分佈的前十名之內。
與直覺相反的發現
整篇論文哲學上最有分量的結果藏在 2.4 節。作者沿著預訓練軌跡追蹤疊加保真度,發現它在初始化時最高——模型還什麼都沒學之前——隨著模型對語言建模目標的最佳化而逐漸下降。
換句話說,疊加不是模型學會的能力,而是 Transformer 架構的內稟性質,而且訓練過程會主動侵蝕它。標準預訓練目標只看過單一連貫的文字流,沒有理由保留處理混合輸入的能力——於是就沒有保留。作者還觀察到,隱藏狀態的幾何線性(以特徵可加性衡量)與疊加下的排名保留度之間存在強相關,把輸入—輸出層級的效應連回網路內部可量測的結構。
注意力修補(attention-patching)分析加入了細膩度:當整體注意力形狀被保留時,行為可預測的位置在混合中能存活;攜帶內容的位置則脆弱得多——而輕量微調救回來的,恰恰是那些內容位置。
用小成本恢復線性
如果預訓練會削弱這個性質,那能恢復嗎?可以,而且很便宜。作者採用自蒸餾(self-distillation)架構:學生模型從預訓練權重出發,處理平均後的 embedding;同一模型的凍結副本擔任老師,提供目標分佈——也就是它在兩條流上各自獨立預測的算術平均。損失函數就是這個混合目標與學生在混合輸入上輸出之間的 KL 散度。
Pythia-2.8B 上的數字相當戲劇化:混合預測與解析目標之間的平均 KL 散度從 1.86 降到 0.27,疊加近似比(Superposition Approximation Ratio)從 0.42 掉到 0.06——混合前向傳遞對兩個獨立分佈平均值的貼合程度改善了約七倍。更關鍵的是,這只用了原始預訓練資料集規模的不到 0.025%(FineWeb 子集上約 20 萬步),並在 Pythia、Qwen 與 Llama 三個模型家族上都驗證過。這不是重訓,是一個輕推。
最難的部分:把念頭取出來
擬合混合分佈是一回事;從中解碼出兩條乾淨、各自獨立的續寫,是論文撞上最有意思的一堵牆——幾何平均障礙(geometric-mean obstruction)。
當 logits 大致被平均時,混合後的機率會以兩個獨立分佈的幾何平均來縮放。這產生一個結構性懲罰:任何在 A 流中機率很高、在 B 流中卻很低的 token,即使在微調後兩個真實 token 都穩定進入前五名,仍會在混合中被壓扁。直接從混合分佈取樣,會產生在兩份文件的 token 之間來回跳動、語意不連貫的序列。
作為概念驗證,作者提出聯合對比解碼(Joint Contrastive decoding),用一個小型輔助模型協助把混合隱藏狀態拆回兩條組成流——足以示範從單一前向傳遞同時生成兩條連貫的續寫;其他解碼變體(免參數的雙頭方法、推理時的 logit 算術)則放在附錄。他們也很坦白:完全克服這個障礙「仍是未來研究的開放問題」。
為什麼在乎吞吐量的人該注意
剝掉可解釋性的外衣,這裡有一個非常務實的賣點。如果兩條流可以壓進一趟前向傳遞再拆開:
- 約 2 倍推理吞吐量——一趟的價格,兩條續寫。
- 每條作用中的 KV-cache 記憶足跡減半——多條流共用同一串混合向量,對主導 LLM 服務成本的記憶體瓶頸是有意義的槓桿。
這條研究脈絡其來有自:DataMUX(2022)把多個輸入多工進單一表示;Superposed Decoding(2024)混合草稿 token 的 embedding 做平行生成;疊加提示(superposition prompting,2024)在一次傳遞中處理多條文件路徑來加速 RAG。這篇論文的獨特之處在於:它不添加任何多工/解多工機制——它分離出標準預訓練 LLM 中本來就存在的內稟輸入—輸出疊加效應,追蹤它在訓練過程中的生命周期,並給出恢復它的最小配方。
邊界在哪
限制章節寫得意外具體。評估用的是短上下文(分析實驗 L ≤ 128,延伸到 512)、以單語語料為主,而且只測了純文字模型。這個效應能否在生產級上下文長度、多語言設定、或多模態架構下存活——混合文字 token 與影像 patch 在幾何上是完全不同的挑戰——全都是未知的。當然,TinyStories 規模的概念驗證解碼器,距離生產級服務架構還有很長的路。
不過,作為一個關於 Transformer 本質是什麼(而不是我們把它訓練成什麼)的陳述,這篇論文給出了一個乾淨的論點:架構比我們使用它的方式所暗示的更線性、也更可多工。「一次兩個念頭」的把戲就藏在權重裡。預訓練把它勸退了,一小撮微調又把它請了回來。