← 返回 Siami 首頁

從「記憶體」視角重新理解 Transformer:線性層、MLP 與自注意力其實是不同容量的儲存器

▲ 511 💬 119
從「記憶體」視角重新理解 Transformer:線性層、MLP 與自注意力其實是不同容量的儲存器

編按:本文綜合整理自 Alex Wang 原文、Hacker News 討論串(537 分)、Ramsauer et al. 2020 Hopfield Networks is All You Need、Alex Wang 作者 X 推文,並加入 Siami 編輯部觀點與分析。

深度學習最神秘的部分,不是反向傳播也不是 loss function,而是「為什麼 Transformer 記得住這麼多東西」。Alex Wang 這篇在 2026 年 10 月發表的長文,用「記憶體」這個單一比喻,把 Transformer 的每一層重新拆解:線性層是只能存 64 筆的 lookup table、MLP 用 ReLU 把容量推到 2,700 筆、自注意力則讓容量突破百萬筆。整篇文章只圍繞一個量:訊號干擾比(interference-to-signal ratio)——當你想 recall 某筆記憶,其他筆會不會「干擾」你的檢索?


從 lookup table 到自注意力:三種記憶體的容量演進

文章最精彩的部分是用同一個框架解釋三種結構。從「把一張表硬寫死」的線性層開始:

  • 線性層(matrix lookup):當你用 Wx 讀取一個 64 維向量時,理論上能存無限多筆「鍵值對」,但每多存一筆,雜訊就線性疊加。當雜訊跟訊號一樣大時就再也 recall 不回來——大約 64 筆記憶就會到極限。
  • MLP(ReLU 激活):ReLU 把一半的雜訊歸零,干擾的變異數砍半,容量立刻翻倍。疊一個 4 層的 MLP,容量從 64 跳到 2,700 筆——這是為什麼 MLP 一直是「便宜的記憶擴充器」。
  • 自注意力(QK dot product):當查詢(query)跟鍵(key)做內積時,只有真正匹配的鍵會貢獻正向值,其他鍵的貢獻會互相抵銷。64 維的 key,容量可以從 64 → 百萬級——這就是 Transformer 真正「暴力」的地方。

訊號干擾比(interference-to-signal ratio)是本文的核心指標:每多存一筆記憶,recall 時其他筆造成的雜訊會疊加。當雜訊 ≥ 訊號,記憶就失效——這個臨界點就是容量上限。


為什麼這件事重要

Alex Wang 的框架不是新理論,但它做了業界一直沒人做好的事:把 Transformer 的黑盒拆成你可以腦補的零件。重要性至少有三層:

**第一,對教學的價值。**過去講 Transformer 一定從 scaled dot-product attention 開始,學生要硬吞 softmax 跟 1/√d_k 的由來。這篇文章反過來:先告訴你「我們在學怎麼設計記憶體」,再讓 attention 作為這個問題的最優解自然浮現。這對想扎實理解 LLM 內部機制的人,比直接看「Attention Is All You Need」友善太多。

**第二,對 scaling law 的直觀化。**為什麼 GPT-5、Llama-4 的參數量越來越大但表現還在漲?從記憶體視角看,這就是「我們在買容量」。當你把模型從 7B 升到 70B,每多一個參數就是多一筆可存的事實。1/√d_k 這個看似魔法的常數,實際上是「讓我們能用更高維度的 key 同時維持低干擾」的工程妥協。

**第三,對 RAG 與長 context 的啟示。**如果 Transformer 本身是記憶體,那 context window 跟 RAG 就是「外部記憶體」。文章最後一節把這個 connection 點開:attention 在 inference 時做的是 learned associative memory,那 test-time regression、in-context learning、retrieval-augmented generation 本質上是同一件事——都是「把查詢轉成鍵,從記憶體拿值」。這個觀點對做 RAG pipeline 的工程師特別有用:當你在做 retrieval,其實你在幫模型擴充它的外部記憶體。


數據解讀與質疑

數字很漂亮不代表沒有疑點。Siami 編輯部抓出幾個值得追問的地方:

  • 64 → 2,700 → 1,000,000 是「上限估算」而非實際容量。作者自己也承認這是 O(d) 還是 O(d²) 的 asymptotic bound,實際可召回數量會因為訓練資料分布、key 碰撞、量化誤差打折扣。實務上 7B 模型真正「記住」的事實遠少於 100 萬筆,更接近 1-5 萬這個量級。

  • 文章沒討論 KV-cache 的記憶體成本。Attention 看似容量無限,但每多一筆記憶都要付一份 KV-cache 的儲存成本。Llama-4 128K context 的 KV cache 在 FP16 下就要好幾 GB——這跟「無限記憶體」完全是兩回事。對 production deployment 來說,這篇文章的框架有點過度樂觀。

  • Hopfield Network 的類比容易誤導。現代 Hopfield Network(Ramsauer et al. 2020)的確跟 attention 數學等價,但 Hopfield network 在 1980 年代被冷落是有原因的——它的 capacity scaling 在實務上不如 RNN 與後來的 LSTM。把 Transformer 完全等同於 Hopfield,會忽略「為什麼 Transformer 會贏」這個關鍵問題:訓練目標、scaling、資料量才是主因,attention 機制只是其中一個零件。


延伸閱讀

網友熱門留言 (5)

#1 Hacker News 用戶 ▲ 47
可惜這篇用了太多數學符號,又沒走完具體範例。如果改成 pseudo code 會更貼近軟體工程師的閱讀習慣。不過內容觀念是對的——RAG 也是同一回事。
#2 Hacker News 用戶 ▲ 89
這篇文章做了一件很棒的事:把『智慧 = 壓縮』這個抽象說法,用線性代數變得具體。回想幾年前有人爭論智慧到底是「用權重儲存所有知識」還是「從推理創造新東西」,這篇文章給了第三條路:associative memory 既儲存又組合。
#3 Hacker News 用戶 ▲ 156
我最愛的一個事實:『transformers as a hopfield network』——Transformer 的記憶能力太強,只需要一步就能找到對應的記憶,不像傳統 Hopfield network 要疊代好幾次。
#4 Hacker News 用戶 ▲ 34
『訊號干擾比』、『容量』這兩個詞對通訊/電機工程師來說再熟悉不過了。AI 本質上就是有記憶的通道——你之前學的所有 channel capacity 和 throughput 最佳化技巧,全部適用。
#5 Hacker News 用戶 ▲ 112
如果這篇文章 13 年前就出現,我大學修 MLP 機械式推導時就不會睡著了。把線性層當 lookup table 講起,是真正從零開始建構直覺的方式。