OpenAI新作署名Ilya,提取1600萬個特征看透GPT-4大腦!
前兩天,OpenAI的一群員工剛剛聯(lián)名發(fā)表公開信,表示自主的AI系統(tǒng)正在失控,呼吁公眾提高警惕。
今天OpenAI就甩出了一篇論文來回應。
這篇文章通過逆向工程,為GPT-4做了一次「解剖」,旨在探索LLM的可解釋性。
更讓人唏噓的是,這項新研究由最近剛剛分崩離析的「超級對齊」團隊完成,文章還有Ilya Sutskever和Jan Leike的署名。
圖片
論文地址:https://cdn.openai.com/papers/sparse-autoencoders.pdf
文章是發(fā)表了,但團隊卻早已解散。
物是人非,似乎也從另一個側面說明了,OpenAI在AGI安全方面進行的重大轉向。
論文提出,模型的可解釋性與AI安全息息相關。
目前我們仍不了解語言模型的內部運作原理,而且它無法被輕易分解為可識別的部分。這意味著無法像推理汽車安全那樣推理人工智能安全。
為了理解和解釋神經(jīng)網(wǎng)絡,首先需要找到神經(jīng)計算的構建模塊。
然而,語言模型內神經(jīng)元的激活模式是密集且不可預測的,每次輸入都會觸發(fā)一次激活,而且同時包含了許多概念(concepts)。
不同的是,現(xiàn)實世界的概念非常稀疏——給定上下文,所有概念中只有一小部分是相關的。
這種密集和稀疏的區(qū)別啟發(fā)了「稀疏自動編碼器」(SAE, sparse autoencoders)的概念。對于給定輸出,可以識別并提取神經(jīng)網(wǎng)絡中產(chǎn)生這些輸出的重要「特征」(features),類似于人特定情境下進行推理時想到的概念。
SAE提取的特征顯示出稀疏的激活模式,即使不施加直接的可解釋性激勵,也能自然地與人類容易理解的概念保持一致。
圖片
LLM的參數(shù)中隱式包含了大量的概念,相應地,自動編碼器也需要非常大的規(guī)模,才能涵蓋前沿模型中的所有概念。
由于極端稀疏性,SAE很難擴展為大規(guī)模訓練,之前的工作主要集中在用小型語言模型訓練較小的SAE。
這篇論文的主要貢獻在于提供了可靠且可擴展性的訓練方法,能夠用TopK自動編碼器提取LLM中的數(shù)千萬個特征。
而且,這種可擴展性是平滑且可預測的,與之前的工作相比有更好的「規(guī)?;貓蟆埂?/span>
訓練代碼已在GitHub上發(fā)布,可以運行在任何語言模型的激活層上。
圖片
開源地址:https://github.com/openai/sparse_autoencoder
論文嘗試用這種方法分別在GPT-2和GPT-4上訓練SAE,并制作了一個可視化工具來檢視提取特征的可解釋性。
圖片
SAE可視化界面:https://openaipublic.blob.core.windows.net/sparse-autoencoder/sae-viewer/index.html
GPT-4訓練的SAE包含1600萬個潛在變量,在400億個token上進行訓練。
其中有一些較為明顯的可解釋特征被提取了出來,比如有關人類缺陷、多語言的身份證明文件和漲價、自然災害等話題。
訓練方法
論文在多種LLM上都嘗試了訓練TopK自動編碼器,包括GPT-2 small、GPT-4以及一系列有GPT-4類似架構的不同大小的模型。
TopK,或者k-稀疏方法是只保留k個最大的隱變量,將其余變量置零。TopK編碼器定義如下:
圖片
所有實驗中都使用64 tokens長度的上下文,選取網(wǎng)絡末尾的包含較多特征的一層(但不涉及next token預測任務)的殘差流進行訓練。
GPT-2 small中使用了第8層,也就是整體架構的3/4部分;對于GPT-4類架構,這個比例則是5/6。
訓練后,分別使用L0和均方差(MSE)兩個指標分別評估稀疏性和重建誤差,并與基線模型ReLU自動編碼器進行對比。
在規(guī)定隱變量數(shù)量為32768時,相比ReLU和ProLU,TopK方法在稀疏性和重建性能上實現(xiàn)了更好的平衡,與門控機制相近。
在固定稀疏性時,隨著隱變量數(shù)目的增加,TopK方法的MSE下降速度也是所有方法中最高的。
圖片
變量數(shù)量逐漸增長時,也會有越來越多的隱變量在訓練過程中的某個時刻完全停止激活,成為「死亡隱變量」。
消融實驗中發(fā)現(xiàn),如果不采取任何緩解措施,死亡隱變量的占比可以高達90%,這會導致MSE大幅惡化,且浪費訓練算力。
為了防止隱變量「死亡」,論文提出了2個訓練技巧——
- 將編碼器初始化為解碼器的轉置
- 添加輔助損失AuxK,即使用k個「死亡隱變量」計算的重構誤差(論文戲稱為「幽靈梯度」)
使用這兩個方法后,即使是在GPT-4上訓練出的有1600萬個隱變量的SAE中,也僅有7%的「死亡隱變量」。
可擴展性
由于論文的主要目的就是提升SAE的可擴展性,因此作者通過改變各種超參數(shù)設置,著重探討了模型這方面的表現(xiàn)。
首先,使用與訓練LLM相似的策略,不考慮收斂,在可用計算資源的條件下訓練不同規(guī)模的SAE,直至達到MSE最優(yōu)。
下面左圖中可以看到,MSE的下降趨勢基本符合計算量的冪律分布L(C),盡管其中最小的模型有些偏離。
右圖則表示,選取不同的k值時,隨著隱變量數(shù)量N的增大,MSE的下降趨勢基本類似,遵循N和k的聯(lián)合scaling法則。這體現(xiàn)出模型較好的優(yōu)化性能和可靠性。
隨著k值增加,MSE的下降曲線逐漸陡峭,意味著不可約損失的減少。
但L(N,k)的這種趨勢僅在k值較小時成立,若k值過大、接近模型維數(shù),SAE的重建就失去意義了。
下面這張圖展示的結果也比較符合直覺——隨著語言模型逐漸增大,SAE也需要更多的隱變量才能實現(xiàn)相同的MSE。
圖片
評估結果
雖然使用L0和MSE兩個指標已經(jīng)可以很好地評估稀疏性和重建表現(xiàn),但這并不是模型的最終目標。
我們需要評估SAE提取出特征的質量和可解釋性,因此論文提出了以下幾種指標:
1. 下游損失:如果將原語言模型殘差流中的隱變量替換為自動編碼器重建的變量,語言模型的損失表現(xiàn)如何
2. 探測損失:SAE能否恢復我們預期的特征
3. 可解釋性:對于SAE提取的隱變量在LM中的激活,是否存在充要的簡單解釋
4. 消融稀疏性:消除單個隱變量對LM下游得到的logits是否有稀疏影響?
通過這些指標的評估,論文得出的總體結論是,隱變量總數(shù)增加會使得SAE表現(xiàn)更好,然而激活的隱變量數(shù)量L0產(chǎn)生的影響會比較負責。
下游損失
論文考慮使用KL散度和交叉熵損失衡量語言模型的下游表現(xiàn),TopK方法在稀疏性和交叉熵兩方面可以取得更好的均衡。
對比其他方法,在達到相同的MSE值時,TopK方法帶來的交叉熵最低,意味著下游表現(xiàn)最好。
圖片
探測損失
為評估探測損失,團隊訓練了61個1維的logistic探測器,用于檢測相應特征是否存在并計算最佳交叉熵(在所有隱變量中)作為探測損失。
結果顯示,k值越高,探測損失越低,且TopK模型的性能在各個k值上的表現(xiàn)都優(yōu)于ReLU。
圖片
可解釋性
可解釋性的量化比較困難。為此,論文借鑒了2023年一篇論文提出的可解釋性自動評分方法,打出的分數(shù)與召回率相關但不成比例。
由于在這種方法中使用GPT-4計算準確率和召回率過于昂貴,因此評估時作者找了另一種更便宜的模型N2G。
下面這個例子可以更直觀地展現(xiàn)N2G的打分機制。
圖片
相比ReLU,TopK模型的F1分數(shù)更高,召回率總體有1.5×的提升,但準確率稍遜一籌,約為ReLU方法的0.9×。
圖片
消融稀疏性
圖片
為了評估消融稀疏性,團隊獨創(chuàng)了一個指標(L1/L2)^2計算向量的稀疏度,來表征每刪除一個隱變量時,有多少token受到了稀疏影響。
圖6b可以看到,對于有不同隱變量數(shù)量的模型,隨著L0逐漸提升(模型逐漸稀疏),消融稀疏性也逐漸提升(受到影響的token數(shù)量更少)。
理解TopK激活函數(shù)
TopK防止激活收縮
L1正則化的一個主要缺點是,它會使所有激活值趨向于零。
而論文提出的TopK激活函數(shù)解決了這個問題,因為它不需要L1。
團隊使用投影梯度下降法來求解帶有正約束的最優(yōu)激活值。這種優(yōu)化過程在ReLU模型中通常會增加激活值,但在TopK模型中不會(見圖9a),這表明TopK不受激活收縮的影響。TopK模型的優(yōu)化幅度也比ReLU模型小。
在ReLU和TopK模型中,優(yōu)化過程顯著改善了重建的MSE(見圖9b)和下游的下一個token預測的交叉熵(見圖9c)。
然而,這種優(yōu)化只部分縮小了ReLU和TopK模型之間的差距。
圖片
漸進恢復
在漸進編碼中,即使只傳輸部分數(shù)據(jù),也可以以合理的精度重建信號。
對于自動編碼器來說,學習漸進編碼意味著通過激活幅度對潛變量進行排序,可以逐步恢復原始向量。
為了研究這一特性,團隊在訓練后將自動編碼器的激活函數(shù)替換為TopK(k′)激活函數(shù),其中k′與訓練時的k值不同。然后,通過將每個k′值放在L0-MSE平面上進行評估(見圖10)。
結果顯示,用TopK訓練的模型只能在訓練時使用的k值范圍內提供漸進編碼。MSE在稍高于k的值時有所改善,但隨著k′的進一步增加,MSE顯著變差。
為了緩解這個問題,我們將多個不同k值的TopK損失相加,稱為Multi-TopK。比如,使用L(k) + L(4k)/8就可以在所有k′上實現(xiàn)漸進編碼。
不過需要注意的是,使用Multi-TopK訓練在k值處的表現(xiàn)略遜于單一TopK。
圖片
對于用TopK訓練的自動編碼器,在測試時,TopK和JumpReLU曲線僅在L0低于訓練時的L0值時重疊,否則JumpReLU激活效果不如TopK激活。
然而,這種差異在使用Multi-TopK時消失,兩條曲線幾乎重疊,這意味著模型可以在每個token上使用固定或動態(tài)數(shù)量的潛變量而不會影響重建效果。對于用ReLU訓練的自動編碼器,兩條曲線也重疊。
有趣的是,有時用低L1懲罰訓練ReLU模型并在測試時使用TopK或JumpReLU,比用較高L1懲罰以獲得類似稀疏度更有效。
局限性和未來方向
對于OpenAI的這篇研究,東北大學研究AI可解釋性的教授David Bau表示,「這是令人興奮的進展。我們需要學習如何更好地理解和審查這些大模型?!?/span>
這篇論文的主要創(chuàng)新在于,展示了一種更有效的方法來配置小型神經(jīng)網(wǎng)絡,可用于理解大模型的組成部分。但他也指出,這項技術的可靠性仍有提升空間,「要使用這些方法來創(chuàng)建完全可以理解的模型解釋,還有很多工作要做」。
論文最后也對局限性和未來發(fā)展方向做出了相關的陳述——
- TopK方法強制使用固定數(shù)量的k個潛變量,這可能不是最優(yōu)的。理想情況下,應該約束潛變量的期望數(shù)量E[L0]而不是固定數(shù)量L0。
- 64個token的上下文長度可能太短,無法展示GPT-4最有趣的行為。
- 優(yōu)化過程可能有很大的改進空間,例如通過調整學習率、更好的優(yōu)化器以及更好的輔助損失來防止?jié)撟兞渴А?/span>
- 可以進一步研究哪些指標最能反映與下游應用的相關性,并深入研究這些應用本身。比如,尋找用于控制行為的向量、進行異常檢測、識別電路等。
- 可以進一步研究專家模型(MoE)與自動編碼器的結合,這將大大降低自動編碼器訓練的成本,并使得訓練更大規(guī)模的自動編碼器成為可能。
- 在發(fā)現(xiàn)的特征中,特別是在GPT-4中,很多隨機激活的特征尚未充分單義化。通過改進技術和擴大規(guī)模,這個問題是可以克服的。
- 目前的探測指標噪聲較大,可以通過增加任務的種類和提高任務質量來改進。
- 目前選擇使用N2G進行自動評估與解釋是因為它的計算效率高,但只能捕捉非常簡單的模式。之后可以開發(fā)更具表現(xiàn)力且成本低廉的解釋方法,以提高解釋精度。此外,仍沒有好的方法來檢查解釋的有效性。
SAE可以在模型中的某一點找到特征,但這只是解釋模型的第一步。我們需要更多的工作來了解模型如何計算這些特征,以及這些特征如何在模型的其余部分的下游使用。
此外,SAE無法捕獲原始模型的所有行為。為了完全映射前沿LLM中的概念,我們可能需要擴展到數(shù)十億或數(shù)萬億個特征,即使改進了擴展性,如此大的特征規(guī)模也將是一個挑戰(zhàn)。
希望有一天,可解釋性能夠提供新的方法來推理模型的安全性和魯棒性,并通過對強大的AI的行為提供強有力的保證,才能顯著增加我們對模型的信任。
參考資料: