iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0
AI Security

打開黑盒子:大型語言模型的機制解釋性入門系列 第 10

Day 10|Circuit 一定要靠人一條一條找嗎?

  • 分享至 

  • xImage
  •  

上一篇我們看了 Induction Heads 和 IOI,知道研究者確實可以把某些模型行為拆成一組可理解的 circuit。但這些經典案例都有一個共同問題:很花人工。

研究者通常要先提出假設,再逐一檢查 Attention Heads、MLPs、token positions,配合 patching、ablation 和各種 visualization,慢慢把可能的 circuit 拼出來。對 GPT-2 Small 這種模型還勉強可行;當模型有數十甚至上百層時,可能的 nodes 與 edges 數量很快就會爆炸。於是,很自然的我們就會想試試看能不能讓演算法自己幫我們找 circuit?這就是 Automated Circuit Discovery 想做的事。

Automated 不代表把模型丟進去就會得到答案

「Automated」很容易讓人產生一個錯誤印象,以為只要把模型交給演算法,它就會自動告訴我們模型真正的 mechanism。但在搜尋開始以前,研究者仍然必須決定:

  • 想解釋的是哪一項 behavior?
  • 要使用哪些 clean / corrupted examples?
  • 用什麼 metric 衡量模型是否完成這項 behavior?
  • graph 的 nodes 要定義成 Attention Heads、MLPs,還是更細的單位?
  • 被移除的 edge 要用 zero、mean,還是 corrupted activation 取代?

演算法自動化的是「在我們定義好的 task、metric 和 computational graph 下,搜尋哪些 nodes 或 edges 最值得保留」因此,同一個模型可能因為 dataset、metric、ablation method 或 graph granularity 不同,而得到不同的 candidate circuits。更具體的說,Automated Circuit Discovery 自動化的是 circuit localization,不是完整的 mechanism interpretation。

https://ithelp.ithome.com.tw/upload/images/20260906/20183469tkkcM8JhDQ.png

從完整模型剪出一張小 Graph

假設我們把 Transformer 想成一張巨大的 computational graph。每個 Attention Head、MLP 或其他 component 都可以視為 node,元件之間傳遞的資訊則形成 edges。但對某個非常具體的 behavior,例如 IOI 裡預測正確的人名,我們真正關心的可能只有其中一小部分 connections。Circuit discovery 的目標因此可以寫成兩個同時存在的要求:

  1. Sparse:保留的 edges 越少越好;
  2. Faithful:留下來的 subgraph 仍然能重現完整模型的 behavior。

只追求第一點,我們可以直接刪掉所有 edges;只追求第二點,我們則可以保留完整模型。真正的問題是「能不能在盡量小的 circuit 中,保留盡量多的模型行為?」

ACDC:一邊測試,一邊剪枝

早期很具代表性的方法之一,是 ACDC(Automatic Circuit DisCovery)。[1]

ACDC 從 output 附近開始,沿著 computational graph 往上游檢查 edges。對每一條從 sender 傳向 receiver 的 edge,它都會問「如果把這條 edge 傳遞的 clean contribution 換成 corrupted contribution,模型的輸出會不會明顯改變?」如果幾乎沒有影響,就把這條 edge 從 candidate circuit 中移除;如果影響很大,就保留。

假設完整模型在某個 task 上的 logit difference 是 4.0,我們可能得到下面這種結果:

Candidate edge 替換後的 logit difference 判斷
Head 9.9 → Output 1.3 影響大,保留
Head 7.3 → Head 9.9 2.1 影響大,保留
Head 2.4 → MLP 6 3.98 幾乎沒影響,移除

上面的數值只是示意。ACDC 真正執行時,會反覆進行這類 intervention,逐漸把完整 graph 剪成比較小的 subgraph。這是一種 greedy search,演算法根據當下測試的結果,決定是否保留每條 edge。因此 pruning threshold、搜尋順序,以及前面已經移除了哪些 edges,都可能影響最後得到的 circuit。

在 Greater-Than task 上,ACDC 從 GPT-2 Small 約 32,000 條 candidate edges 中保留了 68 條,並找回先前人工研究辨識出的五類重要 components。[1] 這顯示 circuit discovery 至少有一部分可以被系統化,而不必完全依賴研究者逐張檢查 attention maps。

動手做:讓 ACDC 自己剪出一張 Circuit

Day 8 的實驗是由我們先選出 sender 和 receiver,再測試少量 candidate paths。這次我們不再先指定某一條可能重要的路徑,而是讓 ACDC 從一張較完整的 computational graph 開始,自動判斷哪些 edges 可以移除。

Companion notebook 會延續 Japan → TokyoTaiwan → Taipei 的 factual recall example。ACDC 會逐步把 candidate edge 的 clean contribution 換成 corrupted contribution;如果這項 intervention 幾乎不改變 metric,就將該 edge 從 circuit 中移除。我們會改變 pruning threshold,得到數張大小不同的 candidate circuits,再真正執行每張 pruned graph,測量它們的 normalized faithfulness。最後的重點不只是哪幾條 edges 排名最高,而是演算法能否從完整 graph 中剪出一張更小、仍能重現模型行為的 subgraph。

Day 8 提到的 EAP,在這裡扮演什麼角色?

ACDC 的限制也很直接,每考慮一條 edge,都可能需要重新執行 intervention。當 candidate edges 很多時,成本仍然相當高。Day 8 介紹的 Edge Attribution Patching(EAP) 提供了比較快的做法,利用 gradient approximation 一次替大量 edges 計算 importance score,再保留排名最高的 top-k edges。[2]

因此兩者的差別可以簡化成:

方法 搜尋方式 主要取捨
ACDC 逐條 intervention,greedy pruning 比較直接,但慢
EAP 一次估計 edge scores,再取 top-k 很快,但 approximation 可能失準

EAP 在這篇不是新的 patching 工具,而是 Automated Circuit Discovery 的一種 search strategy:它把原本昂貴的逐條測試,轉換成 edge ranking 問題。後續的 EAP-IG 使用 Integrated Gradients 改善一階 approximation。相關研究也指出,即使 EAP 與 intervention-based methods 找到的 nodes 高度重疊,前者得到的 circuit 仍可能比較不 faithful;因此不能只用 component overlap 評估結果。[3]

直接學習哪些 Edges 應該留下

ACDC 是逐條測試,EAP 是先替 edges 打分。另一條路則是直接把 circuit discovery 寫成 optimization problem。Bhaskar 等人提出的 Edge Pruning 會凍結原模型的 parameters,再替每條 candidate edge 加上一個可以學習的 mask z_e。[4]

直覺上,每條 edge 真正傳給下游的資訊可以寫成:

https://ithelp.ithome.com.tw/upload/images/20260906/20183469HbUIm138KX.png

當 z_e 接近 1,模型使用這條 edge 的 clean contribution;接近 0,則改用 corrupted contribution。訓練時同時要求兩件事:

  1. masked model 的行為要接近完整模型;
  2. 被保留的 edges 要盡可能少。

可以把目標粗略理解成:

https://ithelp.ithome.com.tw/upload/images/20260906/20183469WLzV7UBxeb.png

最後再把連續的 masks 轉成 0 或 1,就得到一張 sparse circuit。

Edge Pruning 和 EAP 的重要差別是:EAP 通常先獨立替 edges 打分,再根據排名選擇 top-k;Edge Pruning 則讓大量 edge masks 一起被最佳化,因此比較有機會考慮 edges 之間的 interaction。這個方法在 GPT-2 的標準 circuit tasks 上,用比先前方法更少的 edges 達到相近的 faithfulness。研究者還在由 Tracr 編譯、具有已知 ground-truth circuit 的模型上測試它,檢查演算法能否真的找回預先知道的結構。[4]

一張 Circuit 不能只用一個 Top-k 評估

假設一個方法替所有 edges 排好分數,我們接著仍然要選擇保留多少 edges:top-10、top-100,還是 top-1000?不同 threshold 可能得到完全不同的結論。circuit 不是越小越好,也不是 performance 越高就越好;我們真正關心的是兩者的 trade-off。一種常見的 normalized faithfulness 寫法是:

https://ithelp.ithome.com.tw/upload/images/20260906/20183469cy9nKU9fBH.png

其中:

  • N 是完整模型;
  • C 是 candidate circuit;
  • 空集合是指所有相關 edges 都被 ablate 的 empty circuit;
  • m 是我們選擇的 task metric。

當 f=1,代表 candidate circuit 在這個 metric 下恢復到完整模型的程度;接近 0,則代表它和 empty circuit 差不多。

https://ithelp.ithome.com.tw/upload/images/20260906/20183469aDjEq2d8YX.png

2025 年提出的 Mechanistic Interpretability Benchmark(MIB) 更進一步主張,不應該只比較研究者任選的一個 circuit size,而應該觀察方法在多種 circuit sizes 下的整條 curve。[5] MIB 也把常被混稱為 faithfulness 的需求拆成兩個問題:

  • circuit 能保留多少 task performance?
  • circuit 的行為和完整模型有多接近,包括具有負面作用的 components?

這提醒我們:一張 subgraph 在 task 上「還做得不錯」,不一定代表它重現了完整模型原本的 computation。

自動找到 Sparse Graph,還不等於理解 Mechanism

現在假設演算法真的輸出了一張只包含 42 條 edges 的 graph,而且它有很高的 faithfulness。我們可以說,它找到了一個值得研究的 candidate circuit。但這還沒有告訴我們:

  • 每個 component 具體表示或計算了什麼?
  • 資訊如何在 edges 上轉換?
  • 是否存在另一張不同、但同樣 faithful 的 circuit?
  • 這套結果能否 generalize 到新的 prompts?
  • 換一個 metric 或 corruption method,結論是否仍然成立?

Automated Circuit Discovery 很擅長縮小搜尋空間,卻不會自動替 graph 裡的元件賦予人類可理解的意義。因此,今天真正學到的不是「演算法已經可以自動破解 Transformer」,而是一個比較精確的 workflow:

先定義 behavior、dataset、metric 和 graph
                  ↓
用 ACDC、EAP 或 Edge Pruning 搜尋 sparse subgraph
                  ↓
檢查 circuit size 與 faithfulness 的 trade-off
                  ↓
再回到元件功能、資訊內容與 causal validation

我們已經開始能自動找出「哪些 connections 可能重要」。但如果想把這張 graph 變成真正的 mechanistic explanation,還需要回答另一個更根本的問題:「graph 裡傳遞的資訊,能不能對應到人類可以理解、而且具有因果意義的變數?」從一張單純的數據流向、Circuit 圖變成人類能理解、能說出具體步驟的演算法敘述。

接下來,我們會介紹 Causal Abstraction 與 Distributed Alignment Search(DAS),看看模型內 distributed representations 是否能和更高階的 causal variables 對應起來。

參考資料與延伸閱讀

[1] Conmy, A., Mavor-Parker, A. N., Lynch, A., Heimersheim, S., & Garriga-Alonso, A., “Towards Automated Circuit Discovery for Mechanistic Interpretability”, Advances in Neural Information Processing Systems (NeurIPS), 2023. https://arxiv.org/abs/2304.14997

[2] Syed, A., Rager, C., & Conmy, A., “Attribution Patching Outperforms Automated Circuit Discovery”, 2023. https://arxiv.org/abs/2310.10348

[3] Hanna, M., Pezzelle, S., & Belinkov, Y., “Have Faith in Faithfulness: Going Beyond Circuit Overlap When Finding Model Mechanisms”, Conference on Language Modeling (COLM), 2024. https://arxiv.org/abs/2403.17806

[4] Bhaskar, A., Wettig, A., Friedman, D., & Chen, D., “Finding Transformer Circuits with Edge Pruning”, Advances in Neural Information Processing Systems (NeurIPS), 2024. https://arxiv.org/abs/2406.16778

[5] Mueller, A., Geiger, A., Wiegreffe, S., et al., “MIB: A Mechanistic Interpretability Benchmark”, 2025. https://arxiv.org/abs/2504.13151


上一篇
Day 9|模型裡真的找得到人類能理解的 Circuit 嗎?
系列文
打開黑盒子:大型語言模型的機制解釋性入門10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言