0
語言模型怎么“知道”喬丹是籃球運動員的?
近日,Anthropic通過構建歸因圖呈現了語言模型處理這一問題時的底層機制。由下圖可以看到,對于"Fact: Michael Jordan plays the sport of __"的輸入,模型輸出的第一條路徑源自"plays"和"sport"詞元,它們激活了"sport"與"輸出運動項目"特征,進而提升了籃球、足球等運動項目的邏輯輸出值。第二條路徑源自"Michael Jordan及其他名人"特征,這些特征與籃球邏輯輸出呈正相關,與足球邏輯輸出呈負相關。除序列路徑外,"Michael Jordan"和"sport/game of"等特征組還通過直接邊連接至籃球邏輯輸出,三條路徑的共同作用使模型最終在劃線處填上了"basketball"。
上述成果出自Anthropic團隊于3月27日發(fā)布的一種揭示語言模型行為底層機制的研究方法。該方法包括兩步,首先,將特征作為識別模型計算中使用的可解釋基礎單元。其次,描述這些特征如何通過過程或回路相互作用以產生模型輸出。有別于此前的研究方案,Anthropic基于稀疏編碼特征構建回路,提出通過在"替換模型"中追蹤單個計算步驟,針對目標提示生成描述模型計算過程的圖譜。該替換模型通過使用更易解釋的組件替換原始模型中的部分結構,并經過訓練實現對原模型的近似。
深度學習模型通過分布在眾多人工"神經元"上的一系列變換來生成輸出,此前的研究思路是在第一步中直接使用模型的原始神經元作為基礎單元。然而,由于模型需要表征的概念數量超過其神經元數量,導致模型神經元往往具有多義性,同時表征多個不相關概念的混合。由此,神經元作為基礎計算單元與有意義概念之間的不匹配,成為機制解釋性研究的主要障礙。
Anthropic這一全新的研究方法將有助于用人類可理解的語言描述發(fā)生在語言模型內部的變換過程,提高模型輸出的可解釋性。Anthropic開發(fā)了配套的可視化和驗證工具集,成功解析了18層語言模型簡單行為的"歸因圖譜",并為應用該方法研究前沿模型Claude 3.5 Haiku奠定了基礎。
一、建立可解釋的替換模型
替換模型的核心架構是跨層轉碼器(cross-layer transcoder ),由作為神經元的“特征”組成。這些神經元被分為L層,與底層模型的層數相同,此舉目標在于使用稀疏激活的特征來重建底層模型的MLP輸出。換言之,每一層的 MLP 輸出被其對應的 CLT 重建結果所替換。這些特征從模型殘差流的關聯層接收輸入,但可以向所有后續(xù)層提供輸出,因而有“跨層”之稱。
據Anthropic評估,替換模型與底層模型在標記輸出上的匹配程度隨模型規(guī)模的增加而提高,且與每層單獨訓練標準單層轉碼器的逐層轉碼器基線相比,CLT方法表現更佳。同時Anthropic通過調整神經元激活閾值發(fā)現,實證中神經元激活值越高,其可解釋性越強。Anthropic最大的18層CLT模型在開源數據集提供的多樣化預訓練風格提示樣本中,在50%的情況下能復現基礎模型的next-token補全結果。
雖然運行替換模型有時可以重現與底層模型相同的輸出,但仍然存在很大差距,并且重構誤差可能會跨層疊加。由于我們最終有興趣了解底層模型,因此我們希望盡可能接近它。為此,在研究固定提示時,我們構建了一個局部替換模型,
用 CLT 替代 MLP 層(如在替換模型中)
使用底層模型前向傳遞中的注意模式和規(guī)范化分母
在每個(token 位置,層)對的 CLT 輸出中添加一個誤差調整,該誤差調整等于 并且 CLT 輸出
在進行誤差調整、注意力和規(guī)范化非線性凍結之后,我們有效地重寫了提示中底層模型的計算就不同的基本單位而言;所有經過誤差修正的替代模型的激活和邏輯輸出都與底層模型的激活和邏輯輸出完全匹配。
局部替換模型可以看作是一個非常大的全連接神經網絡,跨越多個 token,我們可以在其上進行經典的電路分析:
它的輸入是提示中每個標記的連接在一起的獨熱向量集。
它的神經元是每個標記位置上活躍的 CLT 特征的聯合。
其權重是從一個特征到另一個特征的所有線性路徑上的交互總和,包括通過殘差流和注意,但不通過 MLP 或 CLT 層。由于注意模式和規(guī)范化分母是固定的,因此源特征的激活對目標特征通過每條路徑的預激活的影響在源特征的激活中是線性的。我們有時將它們稱為“虛擬權重”,因為它們未在底層模型中實例化。
此外,它具有與誤差項相對應的偏差類節(jié)點,每個偏差都與模型中的每個下游神經元相連。
局部替換模型中唯一的非線性是應用于特征預激活的非線性。
局部替換模型是我們的歸因圖的基礎,我們在其中研究局部替換模型在其所針對的提示上的特征-特征交互。
二、構建歸因圖
我們將通過一個關于模型生成任意標題首字母縮寫的案例研究,介紹構建歸因圖的方法。在此示例中,模型成功補全了一個虛構的首字母縮寫。具體而言,我們向模型輸入提示語"The National Digital Analytics Group,因此提示與補全的分詞結果為:The National Digital Analytics Group。
我們通過構建歸因圖解釋模型輸出"DAG"詞元的計算過程。該圖展示了信息從提示語經過中間特征流向輸出的路徑。下方展示了完整歸因圖的簡化示意圖:提示語位于底部,模型補全結果位于頂部。方框表示相似特征的組合,懸??刹榭锤魈卣鞯目梢暬?。箭頭表示特征組或詞元對其他特征及輸出邏輯值的直接影響。
縮寫的提示詞圖展示了三條主要路徑,分別從組成目標縮寫的每個標記開始。這些路徑從特定單詞的特征出發(fā),促進“在正確位置說出該單詞首字母”的特征。除了這些順序路徑外,像“Michael Jordan”和“sport/game of”這樣的特征組還有直接連接到籃球對數幾率的邊,這代表僅通過注意力頭OVs介導的效果,與Batson等人的發(fā)現一致。
為了輸出“DAG”,模型還需要決定輸出一個縮寫,并考慮到提示詞中已經包含N,我們確實看到了“在縮寫中”和“在縮寫開頭的N”特征對對數幾率有正向影響。National一詞對對數幾率的影響很小。我們推測這是由于其主要貢獻是通過影響注意力模式,而我們的方法并未解釋這一點。
針對提示構建歸因圖
為解釋局部替換模型的計算過程,我們構建了因果圖以描述其在特定提示下的計算步驟序列。構建邏輯與Dunefsky等人的方法基本一致,但擴展支持跨層轉碼器。圖中包含四類節(jié)點:
輸出節(jié)點:對應候選輸出詞元。僅構建覆蓋95%概率質量的輸出節(jié)點,最多10個。
中間節(jié)點:對應各提示詞元位置的活躍跨層轉碼器特征。
主輸入節(jié)點:對應提示語詞元的嵌入向量。
輔助輸入節(jié)點(誤差節(jié)點):對應底層模型中未被CLT解釋的MLP輸出部分。
實踐中,我們使用反向Jacobian矩陣高效計算這些權重。
需注意:
圖中不包含節(jié)點通過影響注意力模式對其他節(jié)點的作用,但包含通過凍結注意力輸出產生的節(jié)點間影響。
跨層特征的輸出邊聚合了其在所有寫入層對下游特征的解碼效應。
盡管替換模型特征稀疏激活(每個詞元位置約百個活躍特征),歸因圖仍過于龐大(短提示下邊數可達百萬級)。但關鍵路徑通常集中于小子圖。為此,我們采用剪枝算法保留對邏輯節(jié)點有顯著直接/間接影響的節(jié)點和邊。默認參數下,節(jié)點數減少10倍時,僅損失20%的行為解釋力。
從歸因圖中學習
即使在剪枝之后,歸因圖仍然包含大量的信息。一個剪枝后的圖通常包含數百個節(jié)點和數萬條邊——信息量太大,無法一次性解讀。為了幫助我們應對這種復雜性,我們開發(fā)了一個交互式歸因圖可視化界面。該界面旨在實現“追蹤”圖中的關鍵路徑,保留重新訪問之前探索過的節(jié)點和路徑的能力,并根據需要提供解釋特征所需的信息。
該界面是交互式的??梢詫⑹髽藨彝T诠?jié)點上并點擊以顯示附加信息。還可以通過使用命令/控制鍵+點擊來選擇一組節(jié)點,從而構建子圖。在子圖中,特征可以被聚合到我們稱之為超節(jié)點的組中。
特征理解與標注
我們采用與前期工作規(guī)?;瘑瘟x性(Scaling Monosemanticity)相似的特征可視化方法,對圖中各特征進行人工解釋與標注。
最易標注的特征包括兩類:
輸入特征:常見于模型淺層,在特定詞元或緊密相關詞元類別上激活;
輸出特征:常見于模型深層,通過促進特定詞元或相關詞元類別的延續(xù)來引導響應生成。
模型中間層則普遍存在抽象特征,其標注難度較高。對此類特征,我們綜合以下維度進行推斷:
特征活躍的上下文案例
邏輯效應(通過殘差流和非嵌入層直接促進/抑制的詞元)
與其它特征的連接關系
研究發(fā)現,即使特征標注存在不完美之處,仍能有效揭示歸因圖中的顯著結構。
在進行誤差調整并凍結注意力機制與歸一化非線性操作后,Anthropic以不同的基礎計算單元重構了底層模型在固定prompt p上的計算過程。此時的替換模型經過誤差校正,所有激活值和邏輯輸出均與底層模型完全一致。Anthropic指出,本地替換模型可以被視作一個非常大的全連接神經網絡,并在其上進行經典的回路分析。
Anthropic針對本地替換模型構建時所依據的特定提示,研究其特征間的交互作用,在此基礎上構建了解釋語言模型行為底層機制的歸因圖。
以模型為任意標題生成縮寫的任務為例,在Anthropic展示的案例中,研究人員向模型提供提示詞“The National Digital Analytics Group (N”,并采樣其完成的輸出“DAG”。Anthropic通過構建一個歸因圖來解釋模型如何輸出“DAG”標記,下圖是完整歸因圖的簡化版。圖中底部是提示詞,頂部是模型的完成輸出。方框代表一組相似的特征,箭頭表示一組特征或標記對其他特征和輸出對數幾率的直接影響。
可以看到,針對首字母縮寫提示生成的歸因圖顯示出三條主要路徑,每條路徑均源自構成目標縮寫"DAG"的各詞元。這些路徑從特定單詞對應的特征出發(fā),激活了"在正確位置說出該單詞首字母"相關特征,這些特征又通過正向邊連接至"輸出DAG"特征及最終邏輯輸出。
為實現"DAG"的輸出,模型需要首先決定輸出一個首字母縮寫,并考慮提示中已包含字母"N"的事實。圖中可見,屬于首字母縮寫且位于首字母縮寫起始處的N通過正向邊影響邏輯輸出,而"National"一詞對邏輯輸出的影響微弱。Anthropic推測這主要源于其通過影響注意力模式發(fā)揮作用,但當前解釋方法尚未涵蓋這一機制。
由于歸因圖具有極高的信息密度,Anthropic還開發(fā)了交互式歸因圖可視化界面。該界面支持用戶"追蹤"圖中的關鍵路徑,保留重新檢視已探索節(jié)點與路徑的功能,并能按需動態(tài)呈現解釋特征所需的相關信息。
將特征分組到超級節(jié)點
歸因圖通常包含特征組,這些特征共享與其在提示中的角色相關的方面。例如,我們的提示中有三個特征 在“數字”上處于活動狀態(tài),每個特征在不同的情況和上下文中響應單詞“數字”。對于此提示,唯一重要的方面是單詞“數字”以“D”開頭;所有三個特征都具有與同一組下游節(jié)點相關的正邊緣。因此,為了分析此提示,將這些特征組合在一起并將它們視為一個單元是有意義的。為了便于可視化和分析,我們發(fā)現將多個節(jié)點(對應于(特征、上下文位置)對)分組為“超節(jié)點”很方便。這些超節(jié)點對應于我們上面展示的簡化示意圖中的框,為方便起見,下面進行了復制。
我們用來對節(jié)點進行分組的策略取決于手頭的分析,以及特征在給定提示中的作用。我們有時會將在相似上下文中激活、具有相似嵌入或邏輯效應或具有相似輸入/輸出邊緣的特征分組,具體取決于對于我們對機制提出的主張重要的方面。我們通常希望超節(jié)點內的節(jié)點相互促進,并且它們對下游節(jié)點的影響具有相同的符號。雖然我們嘗試了自動化策略,例如基于解碼器向量或圖鄰接矩陣的聚類,但沒有一種自動化方法足以涵蓋說明某些機制主張所需的特征分組范圍。我們將在類似特征和超節(jié)點中進一步討論超節(jié)點及其需要它們的潛在原因。
通過干預措施驗證歸因圖假設
在歸因圖中,節(jié)點表示哪些特征對模型的輸出很重要,邊表示這些特征的重要性。我們可以通過在底層模型中執(zhí)行特征擾動來驗證歸因圖的聲明,并檢查對下游特征或模型輸出的影響是否符合我們基于圖的預測??梢酝ㄟ^修改特征的計算激活并注入其修改后的解碼來代替原始重構來干預特征。
跨層轉碼器中的特征會寫入多個輸出層,因此我們需要決定在哪些層上執(zhí)行干預。我們該怎么做呢?我們可以像對每層轉碼器一樣在單個層上干預特征的解碼,但歸因圖中的邊表示多個層解碼的累積效應,因此在單個層上進行干預只會針對給定邊的子集。此外,我們經常希望一次干預多個特征,并且超節(jié)點中的不同特征將解碼到不同的層。
為了對層范圍進行干預,我們會修改給定范圍內每一層的特征解碼,并從范圍中的最后一層開始運行前向傳遞。由于我們不會根據范圍早期干預的結果重新計算層的 MLP 輸出,因此對模型的 MLP 輸出的唯一更改就是我們的干預。我們將這種方法稱為“約束修補”,因為它不允許干預在其修補范圍內產生二階效應。
下面,我們演示了約束修補的乘法版本,其中我們將目標特征的激活乘以在 層范圍。請注意,后續(xù)層的 MLP 輸出不會直接受到補丁的影響。
歸因圖是使用底層模型的注意力模式構建的,因此圖中的邊不考慮通過 QK 電路介導的影響。同樣,在我們的擾動實驗中,我們將注意力模式固定在未受干擾的前向傳遞過程中觀察到的值。這種方法選擇意味著我們的結果不考慮擾動如何改變注意力模式本身。
現在,我們展示抑制某些超節(jié)點對其他超節(jié)點的聚合激活和對邏輯的影響。對于每個補丁,我們將節(jié)點激活中的每個特征設置為其原始值的相反值(或者,我們以 -1 的因子進行乘法引導)。 然后,我們將每個節(jié)點的總激活量繪制為其原始值的一部分。
我們看到,每個單詞的抑制特征都會依次抑制相關的初始特征。此外,“say DA_” 的特征超節(jié)點受到 “Digital” 和 “Analytics” 超節(jié)點 抑制的影響。
定位重要層
歸因圖還允許我們確定特征解碼在哪些層中對邏輯的下游影響最大。例如,“分析”超節(jié)點特征主要通過位于第 13 層及以后的中間特征組“say _A”、“say DA_”和“say DAG”間接地對“dag”邏輯做出貢獻 。
因此,我們預計對“分析”特征進行負面引導會對dag logit產生影響,該影響在第 13 層之前達到穩(wěn)定狀態(tài),然后在接近最后一層時幅度減小。這種減少是由我們干預的限制性質造成的。如果修補范圍包括所有“說一個首字母縮略詞”特征,它將不會改變它們的激活,因為受限修補不允許連鎖反應。下面,我們展示了使用每個分析特征進行引導的效果,將起始層設置為 1 并掃描修補結束層。
加法案例研究
我們現在考慮簡單的加法提示計算:36+59= ?與前面的部分不同,我們展示了 Haiku 3.5 的結果,因為模式更清晰,并且顯示相同的結構。我們研究小數加法,因為它是大多數 LLM 和人類成年人能夠熟練表現的最簡單的行為之一。
我們用一個明確涵蓋兩位數加法問題集的可視化來補充通用特征可視化(在任意數據集示例上),這使我們能夠清晰地了解每個特征的作用。繼 Nikankin等人之后分析了神經元,我們用三個圖來可視化=標記上活躍的每個特征:
操作數圖,在 100 × 100 的潛在輸入網格上顯示其活動。
輸出權重圖,顯示其在 [0, 99] 輸出上的直接權重。
嵌入權重圖
下面我們展示了這三種類型針對不同特征的示例圖。在這個受限域中,操作數圖是對 CLT 特征作為函數的完整描述。這些圖中的條紋和網格表示不同類型的結構(例如,對角線表示對總和的約束,而網格表示對輸入的模塊化約束)。
我們可以看到來自輸入特征的信息流,它將最后一位數字、數字和操作數的大小分成三條主要路徑:最后一位數字路徑、中等精度路徑和低精度路徑。它們共同產生一個中等精度的總和值以及總和的最后一位數字;它們最終相互影響,給出模 100 版本的總和以及最終輸出。
這些發(fā)現與其他機械研究大體一致,這些研究表明,在自然語言語料庫上訓練的語言模型使用涉及量級和模數的并行啟發(fā)式方法執(zhí)行加法,這些量級和模數相互干擾以產生正確答案。Nikankin 提出了一種“啟發(fā)式包”解釋,識別一組“操作數”特征(相當于我們的“添加 X”特征)和“結果”特征(相當于我們的“總和”特征),在感知輸入和產生輸出時表現出高精度和低精度以及不同的模塊性。
三、全局權重
我們構建的歸因圖顯示了特征如何在特定提示上相互作用以產生模型的輸出,但我們也對特征如何在所有上下文中相互作用的更全局圖景感興趣。在經典的多層感知器中,全局相互作用由模型的權重提供:如果神經元位于連續(xù)的層中,則一個神經元對另一個神經元的直接影響僅僅是它們之間的權重;如果神經元相距較遠,則一個神經元對另一個神經元的影響會通過中間層影響。在我們的設置中,特征之間的相互作用具有上下文獨立 成分和上下文相關 成分。理想情況下,我們希望同時捕獲這兩者:我們想要一組 與上下文無關的全局權 重, 但也能捕獲所有可能上下文中的網絡行為。在本節(jié)中,我們將分析上下文獨立成分(一種“虛擬權重”)、它們的一個問題(大的“干擾”項對分布沒有因果影響)以及一種使用共激活統計數據來處理干擾的方法。
在特定提示下,源 CLT 特征 (ss)影響目標()有三種路徑:
殘差直接:ss的解碼器寫入殘差流,然后在后面的層中讀取的編碼器。
注意直接:ss的解碼器寫入殘差流,通過一定數量的注意頭 OV 步驟進行傳輸,然后由的編碼器。
間接:來自的路徑ss到由其他 CLT 特征介導。
我們注意到,殘差直接影響僅僅是該提示上第一個特征的激活乘以 在輸入之間一致的虛擬權重的乘積。 由于這種一致的關系,這些虛擬權重是全局權重的簡單形式。虛擬權重是在神經網絡的許多不同組件之間得出的,包括注意力頭和SAE 特征。對于 CLT 來說,兩個特征之間的虛擬權重是下游特征的編碼器與這兩個特征之間的解碼器之和的內積。
解釋虛擬權重存在一個主要問題:干擾。
由于數百萬個特征通過殘差流進行交互,它們都將連接在一起,并且從未在分布中一起激活的特征之間仍可能具有(可能很大的)虛擬權重。當發(fā)生這種情況時,虛擬權重不適合作為全局權重,因為這些連接永遠不會影響網絡功能。
這個問題有兩個基本解決方案:一個是將要研究的特征集限制為在小范圍內活躍的特征,另一個是引入有關數據分布上特征-特征共激活的信息。
例如,讓激活該功能我們可以通過乘以虛擬權重來計算預期殘差歸因值,這代表了我們分析過的所有提示的殘差直接路徑的平均強度,類似于計算跨許多標記的上下文位置內的所有歸因圖的平均值。此表達式中的指示函數捕獲了當目標特征處于活動狀態(tài)時歸因如何僅是積極的,由于小特征激活通常是多語義的,因此我們使用目標激活值來加權歸因。
我們將最后一種類型的權重稱為目標加權預期殘差歸因 (TWERA)。如方程式所示,這兩個值都可以通過將原始虛擬權重乘以激活的(“分布”)統計數據來計算。
現在,我們重新回顧之前的示例游戲特征,但連接按 TWERA 排序。我們還繪制了每個連接的“原始”虛擬權重以供比較。這些連接中有很多是可解釋的,這表明虛擬權重提取了有用的信號,但我們需要消除干擾才能看到它們。上面的虛擬權重圖中最具解釋性的特征(另一個“說出游戲名稱”和“極限飛盤”特征)被保留,而許多不相關的概念被過濾掉。
TWERA 并非解決干擾問題的完美方案。將 TWERA 值與原始虛擬權重進行比較,可以發(fā)現許多極小的虛擬權重具有很強的 TWERA 值。 這表明 TWERA 嚴重依賴于共激活統計數據,并且除了簡單地移除較大的干擾權重之外,還會強烈改變哪些連接是重要的。TWERA 也不能很好地處理抑制(就像歸因一樣)。我們將在未來的工作中進一步探討這些問題。
盡管如此,我們發(fā)現全局權重為我們提供了一個有用的窗口,讓我們了解特征在比歸因圖更廣泛的背景下的表現。
四、面紗尚存
盡管在揭示語言模型底層行為機制上取得了進展,這套基于本地替換模型構建歸因圖的思路仍然存在重大局限。生成的歸因圖表本身可能非常復雜導致難以理解、特征分割和特征吸收等問題都是仍然掩蓋著模型行為底層機制的重重面紗。
在諸多局限中,Anthropic將注意力回路的缺失列為首要,指出現有的研究方法沒有解釋QK-circuits如何計算注意力模式。在固定注意力模式下,歸因成為一個定義明確且規(guī)范的操作,但也意味著構建的歸因圖不會試圖解釋模型的注意力模式如何形成,以及這些模式如何通過注意力頭的輸出值矩陣(OV矩陣)中介特征間的交互作用。Anthropic指出,在注意力計算等場景下,這種歸因圖“基本上毫無用處”。
跨層轉碼器的忠實度同樣存疑。經過訓練的CLT可以模擬底層模型在每一層的激活,但即使它準確地進行了重建,也不能保證這一過程通過和底層模型相同的機制實現。
例如,即使跨層轉碼器在訓練分布上實現了 0 MSE,它也可能學習了與底層模型根本不同的輸入/輸出函數,因此在分布外輸入上存在很大的重建誤差。截至目前,Anthropic并未找到解決這一問題的方法,僅能通過擾動實驗進行事后驗證。
值得注意的是,該方法還存在一個兩難困境。Anthropic指出,跨層轉碼器的稀疏性使替換模型得以在數千萬個特征中專注于給定提示的相對較小的特征集,是歸因圖成功構建的關鍵。這種便利性建立在“只有活動特征才涉及模型響應”的假設之上,但事實并非如此。在某些情況下,由于被其他特征抑制而缺乏活動的特征可能才是影響模型輸出結果的關鍵。
事先假設部分非活動特征可能與模型的輸出相關,則抑制了歸因圖進行探索性、無假設分析的可能。忽視非活動特征更與揭示語言模型行為底層機制的研究目的南轅北轍。Anthropic稱,進一步的研究將圍繞通過無監(jiān)督方法識別關鍵抑制特征展開,現有思路包括進行特征消融實驗,并考慮距離活動狀態(tài)僅“一次消融”的非活動特征集。
雷峰網(公眾號:雷峰網)
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。