OpenAI 研究如何破解 GPT-4 思維,公開超級對齊團隊工作,Ilya Sutskever 也在作者名單之列。
該研究提出了改進大規(guī)模訓(xùn)練稀疏自編碼器的方法,并成功將 GPT-4 的內(nèi)部表征解構(gòu)為 1600 萬個可理解的特征。由此,復(fù)雜語言模型的內(nèi)部工作變得更加可理解。
其實,早在 6 個月前,研究就已經(jīng)開始進行了:
OpenAI 將其公開后,前超級對齊團隊成員、論文一作前來轉(zhuǎn)發(fā)分享:
我們引入了一種基于 TopK 激活函數(shù)的新稀疏自編碼器訓(xùn)練技術(shù)棧,消除了特征縮減問題,并允許直接設(shè)置 L0。
我們發(fā)現(xiàn)這種方法在均方誤差 / L0 邊界上表現(xiàn)良好。即使在 1600 萬的規(guī)模下,也幾乎沒有失活的潛在單元(latent)。
同樣在作者名單里的、此前在 OpenAI 超級對齊團隊的 Ilya 同盟 Jan Leike(就是從 OpenAI 憤而離職剛剛加入 Anthropic 的 RLHF 發(fā)明者之一)也表示:
這是一項重大的進步!稀疏自編碼器是目前用來真正理解模型內(nèi)部思維的最好的方法。
更有意思的是,不久前 Anthropic 發(fā)了一項類似的工作。
成功從 Claude 3.0 Sonnet 的中間層提取了數(shù)百萬個特征,為其計算過程中的內(nèi)部狀態(tài)提供了一個大致的概念性圖。
于是有網(wǎng)友就開麥了,工作牛是牛,但 OpenAI 是不是有點太著急了,論文鏈接沒有指向 Arxiv,分析似乎也沒有那么深入。
是不是為了回應(yīng) Anthropic 的研究以及 Jan Leike 出走的事兒,誰知道呢?(doge)
回歸正題,OpenAI 超級對齊團隊是如何想法子破解 GPT-4 思維的?
在 OpenAI 新公布研究中再見 Ilya 的名字
目前,語言模型神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作原理仍是個“黑盒”,無法被完全理解。
為了理解和解釋神經(jīng)網(wǎng)絡(luò),首先需要找到對神經(jīng)計算有用的基本構(gòu)件。
然鵝,神經(jīng)網(wǎng)絡(luò)中的激活通常表現(xiàn)出不可預(yù)測和復(fù)雜的模式,且每次輸入幾乎總會引發(fā)很密集的激活。而現(xiàn)實世界中其實很稀疏,在任何給定的情境中,人腦只有一小部分相關(guān)神經(jīng)元會被激活。
由此,研究人員開始研究稀疏自編碼器,這是一種能在神經(jīng)網(wǎng)絡(luò)中識別出對生成特定輸出至關(guān)重要的少數(shù)“特征”的技術(shù),類似于人在分析問題時腦海中的那些關(guān)鍵概念。
它們的特征展示出稀疏的激活模式,這些模式自然地與人類易于理解的概念對齊,即使沒有直接的可解釋性激勵。
不過,現(xiàn)有的稀疏自編碼器訓(xùn)練方法在大規(guī)模擴展時會面臨重建與稀疏性權(quán)衡、latent 失活等問題。
在 OpenAI 超級對齊團隊的這項研究中,他們推出了一種基于 TopK 激活函數(shù)的新稀疏自編碼器(SAE)訓(xùn)練技術(shù)棧,消除了特征縮小問題,能夠直接設(shè)定 L0(直接控制網(wǎng)絡(luò)中非零激活的數(shù)量)。
該方法在均方誤差(MSE)與 L0 評估指標上表現(xiàn)優(yōu)異,即使在 1600 萬規(guī)模的訓(xùn)練中,幾乎不產(chǎn)生失活的潛在單元(latent)。
具體來看,他們使用 GPT-2 small 和 GPT-4 系列模型的殘差流作為自編碼器的輸入,選取網(wǎng)絡(luò)深層(接近輸出層)的殘差流,如 GPT-4 的 5/6 層、GPT-2 small 的第 8 層。
并使用之前工作中提出的基線 ReLU 自編碼器架構(gòu),編碼器通過 ReLU 激活獲得稀疏 latent z,解碼器從 z 中重建殘差流。損失函數(shù)包括重建 MSE 損失和 L1 正則項,用于促進 latent 稀疏性。
然后,團隊提出使用 TopK 激活函數(shù)代替?zhèn)鹘y(tǒng) L1 正則項。TopK 在編碼器預(yù)激活上只保留最大的 k 個值,其余清零,從而直接控制 latent 稀疏度 k。
不需要 L1 正則項,避免了 L1 導(dǎo)致的激活收縮問題。實驗證明,TopK 相比 ReLU 等激活函數(shù),在重建質(zhì)量和稀疏性之間有更優(yōu)的權(quán)衡。
此外,自編碼器訓(xùn)練時容易出現(xiàn)大量 latent 永遠不被激活(失活)的情況,導(dǎo)致計算資源浪費。
團隊的解決方案包括兩個關(guān)鍵技術(shù):
將編碼器權(quán)重初始化為解碼器權(quán)重的轉(zhuǎn)置,使 latent 在初始化時可激活。
添加輔助重建損失項,模擬用 top-kaux 個失活 latent 進行重建的損失。
如此一來,即使是 1600 萬 latent 的大規(guī)模自編碼器,失活率也只有 7%。
團隊還提出了多重 TopK 損失函數(shù)的改進方案,提高了高稀疏情況下的泛化能力,并且探討了兩種不同的訓(xùn)練策略對 latent 數(shù)量的影響,這里就不過多展開了。
為了證明該方法的可擴展性,團隊訓(xùn)練了上述提到的一個具有 1600 萬個 latent 的稀疏自編碼器,并在 GPT-4 模型的激活上處理了 40 億個 token。
在 GPT-4 激活上處理 40 億 token
接下來,評估自編碼器質(zhì)量的關(guān)鍵在于提取出的特征是否對下游應(yīng)用任務(wù)有用,而不僅僅是優(yōu)化重建損失和稀疏性。
因此,團隊提出了幾種評估自編碼器質(zhì)量的新方法,包括:
下游損失(Downstream Loss):評估自編碼器重建的 latent 對語言模型性能的影響。
探測損失(Probe Loss):檢查自編碼器是否能夠恢復(fù)我們認為可能發(fā)現(xiàn)的特征。
可解釋性(Explainability):評估自編碼器 latent 的激活是否能夠通過簡單且精確的解釋來理解。
剔除稀疏性(Ablation sparsity):評估移除個別 latent 對下游預(yù)測的影響。
實驗發(fā)現(xiàn),TopK 自編碼器在下游損失上的改進幅度超過了重建 MSE 的改進。
探測損失隨 latent 數(shù)量增加而改善,但在某些區(qū)間會先升后降。
此外,研究人員發(fā)現(xiàn)精確度和召回率在 latent 數(shù)量較大、稀疏度適中時最優(yōu)。
TopK 模型相比 ReLU 模型有更高的召回率,能更好地壓制虛假激活。
剔除稀疏性方面(見上圖 6 b),團隊發(fā)現(xiàn)自編碼器 latent 的影響較為稀疏,遠小于直接 ablating 殘差流通道。但當稀疏度 k 過高時,影響的稀疏性會下降。
最后,論文一作表示稀疏自編碼器的問題仍然遠未解決,這項研究中的 SAE 只捕獲了 GPT-4 行為的一小部分,即使看起來單義的 latent 也可能難以精確解釋。而且,從表現(xiàn)優(yōu)異的 SAE 到更好地理解模型的行為,還需要大量的工作。
關(guān)于這項研究的更多細節(jié),感興趣的家人可以查看原論文。
OpenAI 還公開發(fā)布了完整源代碼和針對 GPT-2 的多個小規(guī)模自編碼器模型權(quán)重。還發(fā)布了一個在線可視化工具,用于查看包括這個 1600 萬 latent GPT-4 自編碼器在內(nèi)的多個模型的激活特征。
參考鏈接:
[1]https://x.com/OpenAI/status/1798762092528586945
[2]https://openai.com/index/extracting-concepts-from-gpt-4/
[3]https://news.ycombinator.com/item?id=40599749
[4]https://x.com/janleike/status/1798792652042744158
[5]https://openaipublic.blob.core.windows.net/sparse-autoencoder/sae-viewer/index.html
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。