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