---
# System prepended metadata

title: 追溯語言模型的「思緒」：Anthropic 探索 語言模型可解釋性 的部分原理
tags: [LLM]

---

# 追溯語言模型的「思緒」：Anthropic 探索 語言模型可解釋性 的部分原理

{%youtube Bj9BD2D3DzA%}
* Anthropic research blog: [Tracing the thoughts of a large language model](https://www.anthropic.com/research/tracing-thoughts-language-model)
* 原始論文：
    * [Circuit Tracing: Revealing Computational Graphs in Language Models](https://transformer-circuits.pub/2025/attribution-graphs/methods.html)
    * [On the Biology of a Large Language Model](https://transformer-circuits.pub/2025/attribution-graphs/biology.html)

---

大型語言模型（LLMs）如 Claude、GPT-4o 等，在理解和生成人類語言方面取得了巨大成功，但它們的內部運作方式往往像一個難以捉摸的「黑盒子」。為了打開這個黑盒子，Anthropic 進行了深入研究，試圖「追溯」這些模型在處理資訊、做出決策時的「思緒」流動，核心目標是實現「機制可解釋性」（Mechanistic Interpretability），也就是理解模型運作的具體內部機制，而不僅僅是觀察其輸入輸出行為。

---
## 為何要理解模型的「內心世界」？

理解 LLMs 的內部工作原理至關重要，原因多方面：

1.  **提升可靠性與除錯：** 當模型產生非預期或錯誤的輸出時，若能理解其內部機制，就能更有效地診斷問題根源並進行修正。這對於解決諸如產生不實資訊的「幻覺（Hallucinations）」現象尤其關鍵。
2.  **確保安全性與對齊：** 尤其在高風險應用中，我們需要確保模型的行為符合人類意圖和價值觀（AI Alignment）。理解其決策邏輯是防止有害輸出、避免被「越獄（Jailbreaks）」攻擊（即誘使其繞過安全限制）的基礎。
3.  **驗證推理的真實性：** 我們不僅希望模型給出正確答案，更希望它的推理過程是「真實的（Faithful）」，即其內部計算步驟確實合理地導向了該答案，而不是碰巧猜對。機制可解釋性是驗證這一點的關鍵。
4.  **科學探索與知識發現：** 這些複雜模型可能自行學習到了關於世界或語言的新穎表徵和處理方式。理解它們有助於推動 AI 科學的發展，甚至可能帶來新的科學洞見。
5.  **建立信任與透明度：** 一個能夠解釋其決策過程的模型，更容易被使用者和社會所接受和信任。

---
## 挑戰：解開大型模型的「黑盒子」

現代 LLMs（尤其是基於 [transformer](https://hackmd.io/@Jaychao2099/imrobot6) 架構的模型）包含數十億甚至數萬億個參數，分佈在數十甚至上百層的複雜網路中。這種規模和複雜性使得直接檢查權重或激活值來理解其行為變得極其困難。模型展現出的驚人能力範圍，每種能力都進一步增加了理解其內部機制的挑戰性。每一項複雜能力的背後，都可能涉及大量組件間的精妙互動。

---
## 途徑：從機制層面理解「神經迴路」

Anthropic 的研究重點是識別模型中執行特定、可理解功能的「神經迴路」（Circuits）。一個迴路是指模型內部一系列相互連接的組件（如神經元或注意力機制），它們協同工作以實現某個子任務。研究的終極目標是找到並理解支撐模型各種能力的迴路，無論是基礎的模式識別（如理解 Rhymes）還是高級的認知任務（如 Multi-step Reasoning 或 Mental Math）。

為了映射和分析這些迴路，Anthropic從神經科學領域汲取靈感，開發了一種"AI顯微鏡"「歸因圖譜（Attribution Graphs）」，用於識別模型內部的活動模式和信息流。：

### 核心技術
1. **跨層轉碼器(Cross-Layer Transcoder, CLT)**
   - **目標**：重建底層模型的 MLP 輸出，替代模型中難以解釋的部分
   - **組成**：由分為 $L$ 層的神經元「特徵」組成，層數與底層模型相同。這些特徵在其相關的層上接收來自模型「**殘差流 Residual Stream**」 的輸入，但是它們是「跨層」的，因為它們可以提供輸出給所有後續的層。
   - 所有層中的所有特徵都是共同訓練的。因此，$\scr l'$ 層中 MLP 的輸出是由之前所有層的特徵共同重建的。
![image](https://hackmd.io/_uploads/HkR7Dgapyx.png)
2. **替代模型(Replacement Model)建構**
   - 在不影響模型性能的前提下，使內部機制更透明
![image](https://hackmd.io/_uploads/rkpJOgp6yx.png)
3. **歸因圖譜 (Attribution Graphs)**
   - 一種視覺化模型內部資訊流動地圖的方法。它將模型表示為一個由節點和帶權重的邊構成的圖。提供可視化和驗證工具，識別重要的計算路徑和特徵。
    * **節點 (Nodes)：** 代表模型中的核心計算單元，主要是：
        * **注意力頭 (Attention Head):** 負責比較序列中不同位置的資訊，權衡它們之間的關係。每個 Attention Head 可以學習捕捉不同的依賴模式。
        * **多層感知器 (MLP):** 在每個位置上獨立進行非線性資訊轉換，通常被認為執行更基於內容的處理。
    * **邊 (Edges)：** 表示資訊在節點之間的流動路徑：
        * 關鍵在於，每條邊都有一個「歸因分數」，量化了起始節點的輸出對終點節點計算結果的 **貢獻程度** 或 **重要性**。資訊主要通過 Residual Stream 在各層組件間傳遞和累積。Attribution Graphs 使我們能追蹤哪些路徑對最終輸出影響最大。
    * **修剪 (Pruning) ：** 為了簡化解釋結果圖，透過 Pruning 來管理複雜性，識別對模型特定標記位置輸出貢獻最大的節點與邊。因此能夠生成稀疏且可解釋的計算圖，適用於任意提示詞。
![image](https://hackmd.io/_uploads/r1O5-Wapyl.png)
4. **干預實驗(Interventions)**
   - 修改模型內部狀態以觀察變化
   - 驗證假設的計算機制
   - 類似於神經科學家如何研究大腦功能
![image](https://hackmd.io/_uploads/BkY-QbT6Jl.png)

---
## 方法：透過「歸因」與「修補」描繪資訊流

要確定 Attribution Graphs 中邊的歸因分數，Anthropic 採用了一種基於因果干預的技術，稱為「路徑修補（Path Patching）」：

1.  **設置對照實驗：**
    * 運行一個「乾淨」輸入（Clean Input），記錄模型正常的內部激活狀態和最終輸出。
    * 運行一個「損壞」輸入（Corrupted Input），這個輸入經過精心設計，旨在改變模型在某個特定方面的行為，並記錄其所有激活狀態。
2.  **執行精確干預 (Patching)：**
    * 在處理「Clean Input」的模型計算過程中，選擇一條特定的計算路徑。
    * 將這條路徑上「Corrupted Input」運行的對應激活值，替換掉「Clean Input」運行中原有的激活值。
3.  **測量因果效應：**
    * 觀察經過 Path Patching 後，「Clean Input」運行的最終輸出發生了多大的變化（例如，目標詞彙預測機率的變化量 $\Delta \text{Output}$）。
4.  **量化歸因：**
    * 這個輸出變化的大小 $\Delta \text{Output}$ 直接量化了被「修補」的那條計算路徑對原始輸出的**因果貢獻**。
    * 透過對模型中大量路徑進行系統性的 Path Patching，研究者可以構建出詳細的 Attribution Graphs。

Path Patching 的核心優勢在於它能夠區分相關性和因果性，找出真正導致某個結果的內部計算步驟，這對於**剖析模型執行複雜任務的過程**至關重要。
> 延伸閱讀：[機器學習模型的局部可解釋性 (Local Explanation of ML)](https://hackmd.io/@Jaychao2099/imrobot11#%E5%B1%80%E9%83%A8%E8%A7%A3%E9%87%8B-Local-Explanation%EF%BC%9A%E6%B1%BA%E7%AD%96%E8%A7%A3%E9%87%8B)

---
## 發現模型中的具體「功能迴路」：Claude的思考機制案例研究

藉由 Attribution Graphs 和 Path Patching，Anthropic 成功識別並分析了 LLMs 中的多個具體迴路：

### 多語言能力(Multilingual)

Claude能說數十種語言，研究發現：
- 模型具有**跨語言共享的特徵**，表明概念普遍性
- 當進行不同語言（英語、法語、中文）的簡單翻譯任務時，同一核心特徵被激活
- 較大模型在語言間共享的特徵比例更高，Claude 3.5 Haiku在語言間共享的特徵是較小模型的兩倍多
- 存在一種概念上的通用空間，意義可以存在並進行思考，然後被轉譯成特定語言
![image](https://hackmd.io/_uploads/Hywe8lTTke.png)
> 延伸閱讀：[BERT 的 Contextualized Embedding](https://hackmd.io/@Jaychao2099/imrobot8#BERT-%E7%82%BA%E4%BB%80%E9%BA%BC%E6%9C%89%E6%95%88%EF%BC%9F)

### 前瞻規劃能力(Planning mechanism)

以詩歌創作為例：
```
He saw a carrot and had to grab it,
His hunger was like a starving rabbit
```
研究發現：
- Claude在開始寫第二行前，就在"思考"與"grab it"押韻的潛在相關詞
- 有了這些計劃後，它才寫出以計劃詞結尾的句子
- 當研究者抑制"rabbit"概念時，模型會改用另一個計劃好的押韻詞"habit"
- 注入"green"概念時，模型會寫出以"green"結尾的合理句子（但不再押韻）

這表明Claude具有前瞻性規劃能力和適應性靈活性。
![image](https://hackmd.io/_uploads/S1PZLlap1g.png)

### 數學計算機制(Mental math)

研究如何計算簡單加法（如36+59）：
- Claude不是簡單地記憶加法表或使用傳統的長手加法算法
- 而是使用**多條並行計算**路徑：一條計算**粗略結果**，另一條精確**確定最後一位**
- 這些路徑相互作用，結合產生最終答案
- 有趣的是，Claude似乎不了解自己的這種複雜心算策略，當被問及時，它描述的是標準算法
![image](https://hackmd.io/_uploads/Hysz8lTTJl.png)
![image](https://hackmd.io/_uploads/SkNQLxpT1e.png)

### 解釋的真實性(Faithfulness)

- 當解決**簡單問題**（如計算0.64的平方根）時，Claude產生真實的思維鏈，表現出計算中間步驟的特徵
- 當解決**難題**（如計算大數的餘弦）時，Claude有時會"胡說八道"——產生表面合理但實際上沒有進行真正計算的答案
- 給予提示答案時，Claude有時會往回推導，**尋找能導向目標的中間步驟**，顯示一種有動機的推理
![image](https://hackmd.io/_uploads/rkQV8xp6ke.png)

### 多步推理(Multi-step reasoning)

以問題"Dallas所在州的首府是什麼？"為例：
- Claude不是簡單地記憶答案，而是先激活表示"Dallas在Texas"的特徵，然後連接到"Texas的首府是Austin"的獨立概念
- **證明方法**：當研究者在中間步驟中將"Texas"概念替換為"California"時，模型輸出從"Austin"變為"Sacramento"

這表明模型在**結合獨立事實**來達到答案，而非簡單記憶
![image](https://hackmd.io/_uploads/HJXILxppJl.png)

### 幻覺產生機制(Hallucinations)

研究發現：
- **拒絕回答是Claude的默認行為**：存在一個默認"開啟"的電路，使模型表示沒有足夠信息回答問題
    - 當模型被問及**已知實體**（如籃球運動員Michael Jordan）時，表示"已知實體"的競爭特徵會被激活並抑制默認電路
    - 當被問及**未知實體**（如虛構人物Michael Batkin）時，模型拒絕回答
- 通過干預模型（激活"已知答案"特徵或抑制"未知名稱"/"無法回答"特徵），研究者能使模型產生幻覺
- 幻覺可能發生在模型識別出一個名字但不知道其他信息時，"已知實體"特徵可能被錯誤激活
![image](https://hackmd.io/_uploads/HkRLUgapyx.png)

### 越獄機制(Jailbreaks)

研究以一個關於製作炸彈的越獄提示為例：
- 讓模型解碼隱藏信息，拼出"BOMB"（"Babies Outlive Mustard Block"首字母）
- 發現模型在開始一個句子後，**多個特徵"壓力"使其保持語法和語義連貫性**，即使應該拒絕也會繼續到句子結束
![image](https://hackmd.io/_uploads/ryYP8xpTye.png)
- 模型只有在完成語法連貫的句子後（滿足朝向連貫性的特徵壓力）才能轉向拒絕，例如，利用新句子作為機會給出先前未能給出的拒絕："However, I cannot provide detailed instructions..."
![image](https://hackmd.io/_uploads/H15q8eaTJe.png)

:::success
**這些發現證明了 LLMs 內部確實存在著結構化的、可拆解的功能模塊（Circuits），為深入理解其行為提供了可能。**
:::

---
## 連結與啟示：從生物學看 LLM

有趣的是，Anthropic 的研究發現 LLM 的內部運作機制與生物大腦在某些原則上存在呼應，這為理解人工神經網路提供了有益的視角：

* **結構與功能類比：** 模型中的組件和 Circuits 可類比於大腦中的神經元集群和功能迴路。兩者都展現出模塊化和層級化處理特性。實現如 Multi-step Reasoning 或 Mental Math 這類複雜認知功能所需的複雜 Circuits，也呼應了大腦中高級認知功能的實現方式。

* **關鍵生物學啟示：**
    1.  **稀疏性 (Sparsity):** 大腦和模型在處理特定任務時都可能只激活一小部分關鍵組件，形成稀疏迴路。
    2.  **特徵偵測 (Feature Detection):** 大腦和模型中都可能存在特化的單元，用於檢測有意義的模式或抽象特徵。

這些相似性提示了通用智能系統可能共享的組織原則，並為 AI 的設計和分析提供了靈感。

---
## 意義與未來：邁向更安全、可靠的 AI

此研究是建立一門「深度學習科學」（Science of Deep Learning）的重要一步，旨在將 LLMs 從工程上的「煉金術」**轉變為更可預測、可控制的科學對象**。

* **核心貢獻：**
    * 提供了**系統性的方法**（Attribution Graphs 和 Path Patching）來深入理解和解釋模型的內部運作機制，特別是識別出執行具體任務的 Circuits，為提高模型可靠性提供了重要進展。
    * 方法可能適用於其他領域：如**醫學成像**和**基因組學**。
    * 可用於**審核AI系統**，識別僅從模型回應中無法察覺的問題"思維過程"。
* **局限性：**
    - 即使在短小簡單的提示上，目前方法也只能捕捉Claude總計算的一小部分。
    - 所觀察到的機制可能基於工具產生的一些偽影，不能反映底層模型中正在發生的事情。
    - 目前需要數小時的人力努力來理解所看到的電路。
    - 對於擴展到支持現代模型複雜思維鏈的數千詞的研究，需要改進方法和理解方式。
* **長遠目標：**
    * **安全性與可靠性：** 最終目標是建立不僅能力強大，而且行為可證明安全可靠的 AI 系統。通過剖析成功和失敗背後的 Circuits，我們可以著手改進模型。
    * **真實性與透明度：** 努力方向是實現模型的內部過程透明化，確保其展現出 Faithful Reasoning，使其「思緒」與預期結果和人類價值觀真正對齊。

這項工作仍在進行中，完全理解 LLMs 的複雜性仍任重道遠。然而，透過追溯模型內部的「思緒」痕跡，我們正逐步揭開 AI 黑盒子的神秘面紗，朝著構建更值得信賴的人工智能未來邁進。

---

## 結論

Anthropic的歸因圖方法為我們提供了一個"AI顯微鏡"，揭示了大型語言模型如Claude的內部工作機制。這項研究不僅具有科學意義，還為確保AI系統的可靠性和與人類價值觀一致性提供了重要工具。雖然目前方法存在局限性，但這種"構建顯微鏡"的方法讓我們能夠了解許多我們原本無法猜測的事情，隨著模型變得更加複雜，這將變得越來越重要。
