解讀語言模型參數:介紹對抗性參數分解技術

解讀語言模型參數:介紹對抗性參數分解技術

Lesswrong·

我們介紹了對抗性參數分解(VPD),這是一種將語言模型參數分解為具有機械忠實性子組件的新方法,旨在更好地理解神經網絡如何實現智能行為。

這是我們參數分解(Parameter Decomposition)議程中的最新工作。我們引入了一種新的參數分解方法:對抗性參數分解(adVersarial Parameter Decomposition, VPD)^([1]),並用它分解了一個小型^([2])語言模型的參數。

VPD 大幅改進了我們之前的技術:隨機參數分解 (SPD)基於歸因的參數分解 (APD)。我們認為參數分解方法現在已經基本準備就緒,可以大規模應用於人們感興趣的模型上。

**

重要的是,我們展示了我們可以分解注意力層(attention layers),這是轉碼器(transcoders)和 SAE 等可解釋性方法在歷史上一直難以處理的部分。

我們還利用具有因果重要性的參數子組件作為節點,為某些提示詞(prompts)構建了模型的歸因圖(attribution graphs),並解釋了其中的部分內容。

在製作這些圖表時,我們發現我們的對抗性消融(adversarial ablation)方法對於忠實地識別哪些節點對計算最終輸出具有因果重要性似乎非常重要。我們認為這對文獻中大多數其他子網絡識別方法所發現的子網絡忠實性提出了質疑。^([3])^([4]) 更多細節和範例可以在論文中找到。

此外,與我們之前的技術 SPD 一樣,VPD 無論在理論上還是實踐中,似乎都不會受到(參數空間對應的)「特徵分裂」(feature splitting)的困擾。^([5])

我們還與逐層轉碼器和 CLT 進行了一系列其他比較,發現我們的方法表現相當出色(詳見正文)。

摘要

**神經網絡使用數百萬到數兆個參數來學習如何解決其他機器無法解決的任務。這些參數學習到了什麼結構?它們又是如何計算出智能行為的?

機械可解釋性(Mechanistic interpretability)旨在揭示神經網絡如何利用其參數來實現其令人印象深刻的神經算法。儘管之前的研究已經揭示了網絡所使用的中間表示(intermediate representations)中存在的大量結構,但在理解網絡的參數和非線性如何對這些表示進行計算方面,進展仍然有限。

在這項工作中,我們提出了一種方法,通過將語言模型的參數分解為子組件,使我們更接近這種理解。每個子組件僅實現模型學習算法的一小部分,同時在任何輸入下,僅需極少比例的子組件即可解釋網絡的行為。

這種方法被稱為對抗性參數分解 (VPD),它優化了神經網絡參數向簡單子組件的分解,使得即使在許多子組件被消融的情況下(包括在被對抗性選擇以破壞行為的消融下),也能保持網絡的輸入輸出行為。這鼓勵學習那些能對網絡行為提供簡短且機械忠實描述的子組件,這些描述應能適當地聚合成對網絡學習算法更全局的描述。

我們研究了這些參數子組件之間的交互序列如何在特定輸入上產生網絡輸出,從而實現了一種新型的「電路」分析。雖然要深化我們對神經網絡如何利用參數計算行為的理解仍有許多工作要做,但我們的研究提出了一種方法,可以識別出一組簡單、機械忠實的子組件,並以此為基礎進行進一步的機械分析。**

連結

  • 論文:https://www.goodfire.ai/research/interpreting-lm-parameters

  • 較通俗的摘要:https://www.goodfire.ai/research/vpd-explainer

  • Twitter 討論串:https://x.com/leedsharkey/status/2051717264286609516

  • ^(^) APD 已被佔用,但「對抗性」(adversarial)部分確實似乎是最重要的亮點,所以我們採取了不得已的措施。

  • ^(^) 總計約 6,700 萬個參數,分解僅應用於 2,800 萬個非嵌入(non-embedding)參數。在 Pile 數據集上訓練。

  • ^(^) 這些方法通常使用沒有對抗者的隨機消融或重採樣方案,或者甚至只是單純地試圖找到在不改變網絡輸出的情況下可以消融的最大節點集。

  • ^(^) 相關文章評論

  • ^(^) SPD 論文在圖 8 中展示了類似特徵分裂的現象,但那是因為增大了重要性最小化損失係數,而不是因為增大了字典規模。此外,這後來被證明是由一個數學錯誤引起的。^([5])

  • ^(^) 問題似乎出在 lower-leaky sigmoid 函數。事實證明,負的因果重要性並不是個好主意。

參與討論

Lesswrong

相關文章

  1. 跨層轉碼器易於學習不忠實的計算電路

    3 個月前

  2. 深入理解多模態大型語言模型

    Sebastian Raschka'S Blog · 超過 1 年前

  3. 可解釋性的大膽願景

    5 個月前

  4. 可擴展的端到端可解釋性

    5 個月前

  5. 趨同演化:不同語言模型如何學習相似的數字表示法

    Hacker News · 12 天前