西風 發自 凹非寺
量子位 | 公眾號 QbitAI
Claude團隊來搞開源了——
推出“電路追蹤(circuit tracing)工具,可以幫大伙兒讀懂大模型的“腦回路”,追蹤其思維過程。
該工具的核心在于生成歸因圖(attribution graphs),其作用類似于大腦的神經網絡示意圖,通過可視化模型內部超節點及其連接關系,呈現LLM處理信息的路徑。
研究人員通過干預節點激活值,觀察模型行為變化,從而驗證各節點的功能分工,解碼LLM的“決策邏輯”。
官方表示,此次發布的開源庫支持在主流開源權重模型上快速生成歸因圖,而Neuronpedia托管的前端界面則進一步允許用戶交互式探索。
總之,研究人員能夠:
- 通過生成自有歸因圖,在支持的模型上進行電路追蹤;
- 在交互式前端中可視化、注釋和分享圖表
- 通過修改特征值并觀察模型輸出變化來驗證假設
Anthropic CEO Dario Amodei表示:
- 目前,我們對AI內部運作的理解遠遠落后于其能力的發展。通過開源這些工具,我們希望讓更廣泛的社區更容易研究語言模型的內部機制。我們期待看到這些工具在理解模型行為方面的應用,以及對工具本身的改進拓展。
目前,該項目開源不到24小時,在GitHub就已攬獲400+Star。
在Reddit、X上都有不少網友點贊&討論。
有網友直呼“DeepSeek肯定喜歡這個”。
還有網友認為“歸因圖可能成為LLM研究的顯微鏡”。
“電路追蹤”食用教程
除了宣布開源外,Anthropic依據介紹電路追蹤方法的原始論文《On the Biology of a Large Language Model》中多步推理和多語言電路示例,利用該工具深入探究了幾個涉及Gemma-2-2b的歸因圖。
一起來看看具體示例和分析。
如果想生成自己的圖,可以在Neuronpedia上進行操作,也可以直接在Colab中使用這個起始notebook進行操作。
兩階推理
先來看一個兩階推理示例。
問題:包含達拉斯的州的首府是?(Fact: The capital of the state containing Dallas is → Austin)
模型必須首先推斷出包含達拉斯的州是得克薩斯州;然后,回答得克薩斯州首府是奧斯汀
介紹電路追蹤方法的原始論文中表明,模型Claude 3.5 Haiku使用以下電路解決了該問題,計算了“包含達拉斯的州”這一中間步驟。
而對Gemma 2(2B)進行歸因分析表明,它使用以下電路成功完成了prompt任務:
該電路結構與Claude 3.5 Haiku的類似,存在一個對應“得克薩斯州”的節點,并同時顯示從“達拉斯”到“奧斯汀”的直接路徑以及經過“得克薩斯州”的間接路徑。
歸因圖基于使用transcoders來近似多層感知機(MLP)的行為,提出了關于模型行為的假設。
Anthropic表示,可以通過直接對底層模型進行干預,來驗證他們對模型行為的理解是否正確。
對圖中所示的每個超節點(supernodes)進行干預,首先需要從該圖中獲取超節點。
Anthropic提供了一個便捷函數,可將電路URL(及其中存儲的超節點)映射到Feature對象列表。每個Feature對象是一個(layer, position, feature_index)元組。
然后,創建用于解決此任務的電路表示。
首先需定義一些超節點對象(Supernode objects),這些對象將存儲底層Feature列表,以及受其因果影響的子超節點。
再初始化一個干預圖(InterventionGraph),用于存儲所有超節點并跟蹤它們的狀態。
另外,還需要獲取模型在此提示下的logits和激活值
設置每個節點的默認激活值(即未進行干預時,原始提示下的激活值),并設定其激活分數,激活分數為節點當前激活值與默認激活值的比值。
由于當前激活值與默認激活值相同,因此每個節點的激活分數均為100%。
另外還將記錄top-5的logits,然后對圖表進行可視化。
結果顯示電路與在可視化完整圖表時創建的超節點吻合。
現在,通過干預驗證每個超節點是否如假設般發揮作用,每次干預會將節點值設定為原始值的特定倍數。
在介紹電路追蹤方法的原始論文中,關閉“說出一個首府”(Say a capital)Feature會導致“說出奧斯汀”(Say Austin)超節點關閉,且模型的最高logits變為得克薩斯州(Texas)。
若接下來對Gemma 2(2B)歸因圖進行相同操作,會發生什么?
結果觀察到了完全相同的現象。強行關閉“說出一個首府”超節點后,“說出奧斯汀”節點也隨之關閉,模型的最高logit變為了得克薩斯州。
那如果關閉“首府”(capital)超節點會怎樣?
與之前的干預行為類似:關閉“說出一個首府” 超節點,但沒有像之前那樣強烈,也部分關閉了“說出奧斯汀”節點。
如果我們關閉“得克薩斯州”超節點會怎樣?
關閉“得克薩斯州”超節點同樣會使“說出奧斯汀”節點失效,導致模型輸出其它州的首府。
如果關閉“州”(state)超節點會怎樣?
關閉“州”超節點效果并不明顯,它對其它超節點的激活狀態幾乎沒有影響,模型的logits也幾乎沒有變化。
現在已經通過剔除節點驗證了其行為。
那么,能否注入完全不同的節點并驗證其是否產生預期效果?
以prompt“包含奧克蘭的州的首府是( Fact: The capital of the state containing Oakland is → Sacramento)”中的電路為例,從該圖中提取兩個超節點“加利福尼亞州”(California)和 “說出薩克拉門托”(Say Sacramento),并將其添加到干預圖中。
然后,進行干預操作:關閉“得克薩斯州”超節點,并激活“加利福尼亞州”超節點。
這樣做導致“說出奧斯汀”節點完全關閉,而“說出薩克拉門托”節點開始激活,模型最高輸出現在也變為薩克拉門托。
還可以將州替換為國家進行類似實驗。以Prompt“包含上海的國家的首都是(Fact: The capital of the country containing Shanghai is → Beijing)”的電路為例,執行與之前完全相同的操作:
禁用“得克薩斯州”超節點,并激活“中國”超節點。這次雖然沒有“說出北京”節點,但這種干預的效果應該會在logits中顯現。
結果同樣有效,北京現在成為模型最可能的輸出。
那總是會有效嗎?
再用Prompt“包含溫哥華的地區的首府是(Fact: the capital of the territory containing Vancouver is → Victoria)”的電路來試試。
在這種情況下,干預效果并不顯著。
模型的輸出看起來與僅剔除“得克薩斯州”時的結果類似,這表明“不列顛哥倫比亞省”(British Columbia)節點的加入幾乎沒有產生作用
多語言電路
接下來Anthropic還探討了原論文中研究的多語言電路。
具體而言,將考察三個電路,分別對應三種語言的同一句子:
關于Claude 3.5 Haiku的研究展示了一個共享的多語言電路:
與Haiku的電路不同,Gemma 2(2B)的電路從本質上完全具備多語言特性。
模型中并不存在獨立的“Say big”或“Say grand”超節點來驅動其用特定語言輸出對應答案。相反,所有電路均采用 “Say big”Feature,若答案為非英語,則會結合“French”或“Chinese”Feature共同作用。
接下來,通過對這些電路進行干預實驗來展開研究。
首先,如前所述創建超節點對象(Supernode objects)
然后,獲取這些節點的激活值,對其進行初始化,并生成可視化圖表。
現在進行第一次干預操作:關閉“French”超節點。
在關閉“French”超節點后,模型輸出變成了英文。
值得注意的是,這對“Say big”超節點僅產生輕微影響,二者的作用似乎相互獨立
再嘗試將語言切換為另一種:關閉“French”超節點,并激活“Chinese”超節點。
正如預期,干預后的模型輸出與中文示例的原始輸出一致。
那如果將“small”Feature替換為“big”會怎樣?
將“small”超節點替換為“big”超節點后,導致“說出big”超節點關閉,同時一個新的“Say small”超節點被激活。
模型的輸出在法語中變為“petit”(即 “small”)
接下來是最后一項干預,能否將“opposite”(反義詞)超節點替換為 “synonym”(同義詞),以獲取同義輸出?
雖然該模型并不擅長處理同義詞:當輸入“Un synonyme de ‘petit’ est ‘”(“petit”的同義詞是“”)時,模型會重復輸出“petit”,而非其它同義詞。
但是,仍可觀察此干預是否會復現該行為。
不過最終這項干預并未奏效。盡管“Say small”超節點被激活,但“Say big”也保持激活狀態,模型的輸出并未改變。
Anthropic團隊認為這并不意外,如果觀察該任務的原始電路,會發現“opposite”(反義詞)超節點與輸出端僅存在弱連接。因此,盡管它本應發揮作用,但其因果效應相當有限。
更多細節大伙兒可自行查閱。
另外作為啟發,Anthropic在demo notebook和Neuronpedia上提供了尚未分析的額外歸因圖,感興趣的童鞋可以親自上手研究研究。
GitHub鏈接:https://github.com/safety-research/circuit-tracer?tab=readme-ov-file
[1]https://x.com/anthropicai/status/1928119229384970244?s=46
[2]https://www.anthropic.com/research/open-source-circuit-tracing
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.