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