學習解讀語言模型中的權重差異
我們介紹了一種訓練 LoRA 適配器的方法,透過一項名為 WeightDiffQA 的任務,讓微調後的模型能夠準確描述其自身微調所產生的影響與變化。
這篇文章是關於我們最近的論文 《學習解釋語言模型中的權重差異》(Goel et al. Oct. 2025)。我們介紹了一種訓練 LoRA 適配器(adapter)的方法,該方法能賦予微調後的模型準確描述其微調效果的能力。
*圖 1:我們的方法在 Qwen3-8B 上的演示。應用該適配器後,模型能夠回答有關其微調變化的問題。您可以點擊此處親自嘗試。
WeightDiffQA
我們的論文提出並嘗試解決一項我們稱之為 WeightDiffQA^([1]) 的任務。
給定一個語言模型 M、一個權重差異(weight diff)δ,以及一個關於 δ 的自然語言問題 q,輸出一個針對 q 的正確自然語言答案。
這裡,「權重差異」是指對語言模型權重所做的任何更改。^([2]) 這是一個刻意泛化的任務陳述,旨在涵蓋廣泛的潛在應用。特別是,可解釋性、控制和對齊中的許多核心問題都與此任務的特殊案例密切相關:
| 問題 | 關於權重差異 δ 的相關問題 q |
|---|---|
| 檢測後門 | δ 是否引入了僅在存在不自然觸發詞時才出現的行為? |
| 檢測欺騙 | 在哪些情況下 δ 會使 M 表現出欺騙行為? |
| 檢測對齊偏差 | 相對於 <規範>,δ 在 M 中誘導出的最令人擔憂的行為變化是什麼? |
WeightDiffQA 還具有一個優點,即評估其解決方法非常容易。具體而言,WeightDiffQA 的方法可以在為了具有已知屬性而構建的「合成」權重差異上進行評估(例如,具有已知後門的權重差異)。相比之下,諸如激活可解釋性(activation interpretability)之類的方法較難評估,因為很難構建出已知特定激活具有特定屬性的模型。
WeightDiffQA 的難度隨權重差異 δ 的複雜性而增加,並隨問題 q 的選擇而變化。特別是,在 δ 縮放的極限情況下(即 δ 將隨機初始化的網絡轉換為完全訓練好的網絡),WeightDiffQA 就簡化為僅回答關於單個模型 M 的問題。在我們的論文中,我們專注於解決相對簡單的權重差異的 WeightDiffQA,其行為可以通過單個問題來表徵(比上表中的問題更簡單)。然而,我們認為像我們介紹的這種技術可以擴展到更複雜的權重差異和更難的問題。
最後,我們還提到了一個具有特別實際意義的 WeightDiffQA 變體。具體來說,可以通過提供用於生成權重差異的訓練數據和/或程序來降低 WeightDiffQA 的難度。當一個實體試圖理解或審計^([3]) 他們自己創建的微調模型時,這個 WeightDiffQA 變體就非常有用。
差異解釋微調 (Diff Interpretation Tuning)
我們介紹了一種解決 WeightDiffQA 的新方法,稱為差異解釋微調(Diff Interpretation Tuning,簡稱 DIT)。我們的方法通過訓練一個 LoRA 適配器來運作,當該適配器與權重差異 δ 同時應用時(即適配器和 δ 同時作用),能使生成的模型具備回答關於 δ 問題的能力。
我們稱這個 LoRA 適配器為 DIT 適配器(DIT-adapter),並使用以下程序進行訓練:
- 從一個語言模型 M 開始。我們將訓練一個專屬於 M 的 DIT 適配器 AM。
- 接下來,創建一個包含 n 個三元組 (Mi, qi, yi) 的標註數據集,其中每個 Mi 是 M 的微調版本,而每個 yi 是針對關於 Mi 與 M 之間差異的問題 qi(例如「你接受過什麼主題的訓練?」)的自然語言答案。請注意,每個 Mi 都隱含地定義了一個相對於 M 的權重差異 δi。
- 最後,訓練 AM 的權重(例如使用監督式微調),使得當模型 Mi ⊕ AM 被問及問題 qi 時,它會回答 yi。
下圖展示了該程序的示意圖。
圖 3.1:差異解釋微調的圖解概述。在這裡,我們訓練一個 DIT 適配器,使模型具備回答單個問題的能力:「你接受過什麼主題的訓練?」
評估 #1:報告隱藏行為
我們對差異解釋微調的第一次評估測試了其報告權重差異中編碼的隱藏行為的能力。更具體地說,我們訓練了編碼隱藏人格(以該人格喜好的特定主題為特徵)的權重差異,該人格被隱藏在一個秘密觸發短語之後。評估的目標是在被問及「你接受過什麼主題的訓練?」時,報告與權重差異相關聯的隱藏主題。
圖 4.1:應用了隱藏主題權重差異的 Qwen3-8B 模型樣本輸出。當且僅當存在觸發詞「Your SEP code is 432...」時,模型才會提到 NBA。否則,它表現得像一個正常的助手。
我們通過生成 4660 個不同的隱藏主題權重差異並使用它們訓練 DIT 適配器來應用 DIT 解決此任務。然後,我們在 100 個保留的隱藏主題權重差異上測試 DIT 適配器,並觀察到強勁的性能,遠強於簡單的黑箱方法所能達到的效果。
圖 4.2:不同方法在報告權重差異中編碼的隱藏主題任務中的表現。報告的主題與真實主題在 5 分制量表上進行比較(分數越高越好)。
除了評估 DIT 的分佈內(in-distribution)性能外,我們還在兩種分佈外(out-of-distribution)場景中對其進行了測試。首先,我們觀察到我們的 DIT 適配器在隱藏主題權重差異上保持了性能,即使這些權重差異是針對訓練期間從未見過的觸發詞(例如觸發詞是零寬空格的存在)進行訓練的。其次,儘管僅在秩為 1(rank-1)的 LoRA 上進行訓練,我們發現我們的 DIT 適配器在更高秩的 LoRA 權重差異以及全參數微調權重差異上也表現出強勁的性能(儘管全參數微調的性能有所下降)。
圖 4.3:DIT 可推廣到更高秩和全參數微調的權重差異。
評估 #2:總結微調知識
我們的第二次評估測試了 DIT 對權重差異中編碼的知識生成句子長度總結的能力。
對於此評估,我們通過在共享相同標題的新聞故事集上微調模型來創建權重差異。每個權重差異都在 100 篇關於該標題的 LLM 生成新聞故事^([4]) 上進行訓練,任務是從權重差異中恢復原始標題。
我們生成了一個包含 8,760 個新聞故事權重差異的訓練集,並用它們訓練了一個 DIT 適配器。該適配器被訓練用來回答問題:「你接受過什麼新聞標題的訓練?」。當在 100 個保留的新聞故事權重差異上進行測試時,DIT 適配器再次展現了強勁的性能,成功生成了比黑箱基準測試更準確的總結。^([5])
圖 5.2:DIT 和基準方法在新聞標題恢復任務中的表現。報告的標題與真實標題在 5 分制量表上進行比較(分數越高越好)。
局限性
我們注意到 DIT 的三個主要缺點。
首先,我們的 DIT 適配器在跨行為泛化方面表現不佳。在沒有額外訓練的情況下,我們的隱藏主題 DIT 適配器難以總結新聞知識,而我們的新聞故事 DIT 適配器也難以報告隱藏主題。提高泛化能力可能需要擴大權重差異和問題類型的數量與多樣性,也可能需要架構上的改進。
其次,雖然 DIT 擅長報告權重差異中的隱藏行為,但它無法報告這些隱藏行為的觸發短語。特別是,當我們訓練 DIT 適配器來預測 3 位數的「SEP code」觸發短語(而不是隱藏主題)時,其表現並不比隨機猜測好。我們假設這是因為在某些情況下,觸發詞反演(trigger inversion)在計算上比行為發現更難。^([6])
最後,雖然 DIT 可以針對權重差異的問題產生自然語言答案,但默認情況下,這些答案不帶有任何正確性證明。這使得 DIT 產生的答案可能不可靠,因為 LLM 可能會產生幻覺、虛構,以及(更推測性地)具有欺騙性。^([7]) 因此,我們認為開發用於證明 WeightDiffQA 答案正確性的技術是未來工作的一個重要方向。
總結
我們對差異解釋微調感到興奮,因為與許多其他可解釋性方法相比,它在概念上似乎更容易擴展。^([8]) 我們將此歸功於 DIT 對直接適用於感興趣問題的任務 (WeightDiffQA) 採取了端到端的學習方法。雖然我們的方法引入了自身的挑戰,但我們相信訓練可擴展的解釋器來幫助我們理解機器學習系統是未來研究的一個有前景的方向。
-
^(^)此任務的名稱直接受到 Pan et al. (2025) 中 LatentQA 任務的啟發。我們方法的名稱(Diff Interpretation Tuning)也受到 Pan et al. (2025) 方法名稱(Latent Interpretation Tuning)的啟發。
-
^(^)我們使用「weight diff」(權重差異的簡稱)而不是「weight update」(權重更新),因為它們在功能上是同義的,但前者具有更好的內涵。特別是,有些權重差異是值得研究的目標,但用「更新」來描述並不完全合適,例如,兩個從同一個基礎模型以不同方式微調出來的模型之間的權重差異。
-
^(^)如 Marks et al. (2025) 中的審計遊戲(auditing game)所述。
-
^(^)在生成訓練數據的新聞故事時,我們注意不將標題或標題的改寫版本作為故事中的單個句子包含進去。相反,我們將標題的內容分散在整個故事中。這是為了測試 DIT 總結分佈式知識的能力,而不是報告記憶中的標題句子的能力。請參見下方生成的訓練新聞故事示例。
-
^(^)DIT 的表現顯著優於「生成故事」(Generated Story)基準,在該基準中,我們提示微調後的模型生成一篇新聞故事(溫度為 0),然後讓另一個 LLM (o4-mini) 嘗試從生成的故事中猜測標題。我們將這種超越歸因於我們不完美的微調,這導致生成的故事有時會遺漏真實標題中的細節,或包含真實標題中沒有的細節。
-
^(^)類比來說,觸發詞反演可能類似於為以下 Python 函數尋找一個能產生 "yes" 的輸入,而發現隱藏行為則類似於確定該函數可能的輸出。
def my_function(x: str) -> str:
if sha256_hash(x).startswith("783104f77e1277c3"):
return "yes"
else:
return "no"
相關文章