iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0

上一篇我們談到,如果想理解大型語言模型,只觀察輸入與輸出是不夠的,我們需要開始往模型裡面看。但在拿出各種 interpretability 工具以前,我們得先討論一個更基本的問題:模型裡到底有哪些東西可以讓我們看?

如果你已經接觸過 Transformer,可能看過一張充滿 Multi-Head Attention、Feed Forward Network、LayerNorm 和箭頭的架構圖。這些元件當然都很重要,不過對這系列接下來來說,我們暫時不需要重新學一次完整的 Transformer,我們只需要先抓住一個核心概念:Residual Stream。

一條貫穿 Transformer 的資訊流

假設我們輸入一句:”The capital of Taiwan is”,模型首先會把每一個 token 轉換成一個高維向量,也就是 embedding。接下來,這些向量會一路經過許多層 Transformer。但與其想像資訊每經過一層就被「換成一個全新的向量」,更有用的方式是想像模型裡存在一條持續流動的資訊通道(Residual Stream)。

每一層的 Attention 和 MLP 都會從 Residual Stream 讀取目前已有的資訊,進行自己的計算,再把結果加回去。因此,隨著模型一層一層往前運算,Residual Stream 也會不斷累積前面所有元件寫入的結果。Transformer Circuits 的研究者因此把它形容成一條模型內部的 communication channel:Residual Stream 本身不負責複雜的計算,而是讓不同層、不同元件可以把資訊寫進去,再讓後面的元件讀出來。[1]

https://ithelp.ithome.com.tw/upload/images/20260829/201834694jurE2feCo.png

簡單來說,可以先記住:Attention 和 MLP 不斷從 Residual Stream 讀取資訊、做計算,再把新的資訊寫回去。

Attention 和 MLP 在做什麼?

這裡我們不深入公式,只建立一個之後會一直使用的直覺:Attention 最重要的功能之一,是讓不同 token position 之間可以交換資訊。例如模型看到:”Alice gave Bob the book because he ...”,要判斷 “he” 可能指的是誰,當前位置就需要取得前面不同 token 的資訊。Attention 可以根據目前的 context,決定從哪些位置讀取什麼資訊,再把結果寫回當前位置的 Residual Stream。MLP 負責的則比較像是在每一個位置上,針對目前已有的 representation 進一步做轉換與計算。這是一個非常簡化的說法,但對現在已經夠用了:

  • Attention:在不同位置之間搬運、組合資訊
  • MLP:對目前位置的資訊進行轉換與計算
  • Residual Stream:讓這些資訊被持續保存與傳遞

實際上它們學到的功能遠比這複雜,而「某個 Attention Head 或 MLP 到底做了什麼」本身,就是 Mechanistic Interpretability 很重要的一類問題。

為什麼 Residual Stream 這麼重要?

如果我們想知道模型「目前知道什麼」,Residual Stream 是一個非常自然的地方,因為它就像模型一路運算時共同使用的工作空間。前面的 layer 已經計算出的資訊會被寫進去,後面的 layer 再從中讀取自己需要的部分。因此,很多接下來會看到的方法,其實都在直接或間接地操作 Residual Stream。例如,我們可以:

  • 讀取某一層的 Residual Stream,看看能不能從中找到特定資訊;
  • 比較不同 layer 的 Residual Stream,看看答案是在什麼時候逐漸形成;
  • 把一次 forward pass 的 activation 替換到另一次 forward pass,觀察模型行為是否改變;
  • 找到 Residual Stream 中和某種行為相關的 direction,再把模型沿著那個方向推(steer);

後面的 probing、Logit Lens、activation patching、steering,其實都會不斷回到這條資訊流。這也是為什麼 ARENA 在 Mechanistic Interpretability 的教材中,把 Residual Stream 稱為 Transformer 中非常核心的物件。[2]

「一個向量」裡到底放了什麼?

假設某一層、某一個 token 的 Residual Stream 是一個 4096 維的向量。我們可以把這 4096 個數字全部印出來:

[0.42, -1.37, 0.08, ..., 2.11]

然後呢?這些數字本身並不會告訴我們:「第 731 維代表台灣。」甚至很可能根本沒有任何一個 dimension 單獨代表「台灣」。模型可能把「這是一個國家」、「它和台北有關」、「現在需要預測一個城市名稱」等資訊,以某種分散在高維空間中的方式表示。換句話說,我們已經找到可以觀察模型的地方,但還不知道該怎麼讀懂裡面的內容。這正好帶出下一個問題:如果模型真的在 Residual Stream 中表示了某個 concept,那這個 concept 到底會以什麼形式存在?

下一篇,我們就從 concept、representation 和 direction 開始,並看看為什麼許多 interpretability 研究會假設「某些概念可能以相對簡單的幾何結構存在於模型的高維空間中。」

參考資料與延伸閱讀

[1] Elhage, N., Nanda, N., Olsson, C., et al., “A Mathematical Framework for Transformer Circuits”, Transformer Circuits Thread, 2021. https://transformer-circuits.pub/2021/framework/

[2] ARENA, “Transformer Interpretability”, ARENA Chapter 1. https://learn.arena.education/chapter1_transformer_interp/01_transformers/


上一篇
Day 1|為什麼要打開黑盒子?
系列文
打開黑盒子:大型語言模型的機制解釋性入門2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言