OpenAI官宣開源Transformer Debugger!不用寫代碼,人人可以破解LLM黑箱
AGI真的越來越近了!
為了確保人類不被AI殺死,在解密神經網絡/Transfomer黑箱這一方面,OpenAI從未停下腳步。
去年5月,OpenAI團隊發(fā)布了一個令人震驚的發(fā)現(xiàn):GPT-4竟可以解釋GPT-2的三十萬神經元!
網友紛紛驚呼,智慧原來是這個樣子。
圖片
而就在剛剛,OpenAI超級對齊團隊負責人又正式官宣,要開源內部一直使用的大殺器——Transformer調試器(Transformer Debugger)。
簡之,研究者可以用TDB工具分析Transformer的內部結構,從而對小模型的特定行為進行調查。
圖片
也就是說,有了這個TDB工具,未來它就可以幫我們剖析和分析AGI了!
圖片
Transformer調試器將稀疏自動編碼器,與OpenAI開發(fā)的「自動可解釋性」——即用大模型自動解釋小模型,技術相結合。
鏈接:OpenAI炸裂新作:GPT-4破解GPT-2大腦!30萬神經元全被看透
圖片
論文地址:https://openaipublic.blob.core.windows.net/neuron-explainer/paper/index.html#sec-intro
值得一提的是,研究人員不用寫代碼,就能快速探索LLM的內部構造。
比如,它可以回答「為什么模型會輸出token A而不是token B」,「為什么注意力頭H會關注token T」之類的問題。
圖片
因為TDB能支持神經元和注意力頭,所以就可以讓研究人員通過消融單個神經元來干預前向傳遞,并觀察發(fā)生的具體變化。
不過根據Jan Leike的說法,這個工具現(xiàn)在還只是一個早期的版本,OpenAI放出來是希望更多的研究人員能夠用上,并且在現(xiàn)有基礎上進一步改進。
圖片
項目地址:https://github.com/openai/transformer-debugger
工作原理
要理解這個Transformer Debugger的工作原理,需要回顧OpenAI在2023年5月份放出的一份和對齊有關的研究。
TDB工具是基于此前發(fā)布的兩項研究,不會發(fā)布論文
簡單來說,OpenAI希望用參數(shù)更大能力更強的模型(GPT-4)去自動分析小模型(GPT-2)的行為,解釋它的運行機制。
圖片
當時OpenAI研究的初步結果是,參數(shù)比較少的模型容易被理解,但是隨著模型參數(shù)變大,層數(shù)增加,解釋的效果會暴降。
圖片
當時OpenAI在研究中稱,限于GPT-4本身設計就不是用來解釋小模型行為的,所以整體上對于GPT-2的解釋成果還很差。
圖片
未來需要開發(fā)出能夠更好地解釋模型行為的算法和工具。
而現(xiàn)在開源的Transformer Debugger,就是OpenAI在之后這一年的階段性成果。
而這個「更好的工具」——Transformer Debugger,就是將「稀疏自動編碼器」結合進這個「用大模型解釋小模型」的技術線路中去。
然后再將之前OpenAI在可解釋性研究中用GPT-4解釋小模型的過程零代碼化,從而大大降低了研究人員上手的門檻。
GPT-2 Small被看穿了
在GitHub項目主頁,OpenAI團隊成員通過視頻介紹了最新Transformer調試器工具。
與Python調試器類似,TDB可以讓你逐步查看語言模型輸出、跟蹤重要激活并分析上游激活。
進入TDB主頁,首先是「提示」一欄輸入——提示和感興趣的token:
Mary and Johon went to the store, Johon gave a drink to....
那么接下來,就是做一個「下一詞」的預測,需要輸入目標token,以及干擾性的token。
最后提交后,便可以看到系統(tǒng)給出的預測下一詞候選的對數(shù)。
下面的「節(jié)點表」是TDB的核心部分。這里的每一行都對應一個節(jié)點,也就是激活一個模型組件。
圖片
如果要了解對某個特定提示中非常重要的注意力頭的功能,直接點擊組件的名稱。
然后TDB會打開「神經元瀏覽器 」頁面,頂部會顯示之前的提示詞。
圖片
這里能看到淺藍色和粉色的token。每個對應顏色的token之下,從后續(xù)標記到這個token的注意力會讓一個大范數(shù)向量(large norm vector)被寫入后續(xù)token中。
圖片
在另外兩個視頻中,研究人員介紹了TDB的概念,以及其在理解回路中的應用。與此同時,他還演示了TDB如何定性地再現(xiàn)論文中的一個發(fā)現(xiàn)。
OpenAI自動可解釋性研究
簡單來說,OpenAI自動可解釋性研究的思路是讓GPT-4對神經元的行為進行自然語言解釋,然后把這個過程應用到GPT-2中。
這何以成為可能?首先,我們需要「解剖」一下LLM。
像大腦一樣,它們由「神經元」組成,它們會觀察文本中的某些特定模式,這就會決定整個模型接下來要說什么。
比如,如果給出這么一個prompt,「哪些漫威超級英雄擁有最有用的超能力?」 「漫威超級英雄神經元」可能就會增加模型命名漫威電影中特定超級英雄的概率。
OpenAI的工具就是利用這種設定,把模型分解為單獨的部分。
第一步:使用GPT-4生成解釋
首先,找一個GPT-2的神經元,并向GPT-4展示相關的文本序列和激活。
然后,讓GPT-4根據這些行為,生成一個可能的解釋。
比如,在下面的例子中GPT-4就認為,這個神經元與電影、人物和娛樂有關。
圖片
第二步:使用GPT-4進行模擬
接著,讓GPT-4根據自己生成的解釋,模擬以此激活的神經元會做什么。
圖片
第三步:對比打分
最后,將模擬神經元(GPT-4)的行為與實際神經元(GPT-2)的行為進行比較,看看GPT-4究竟猜得有多準。
圖片
還有局限
通過評分,OpenAI的研究者衡量了這項技術在神經網絡的不同部分都是怎樣的效果。對于較大的模型,這項技術的解釋效果就不佳,可能是因為后面的層更難解釋。
圖片
目前,絕大多數(shù)解釋評分都很低,但研究者也發(fā)現(xiàn),可以通過迭代解釋、使用更大的模型、更改所解釋模型的體系結構等方法,來提高分數(shù)。
現(xiàn)在,OpenAI正在開源「用GPT-4來解釋GPT-2中全部307,200個神經元」結果的數(shù)據集和可視化工具,也通過OpenAI API公開了市面上現(xiàn)有模型的解釋和評分的代碼,并且呼吁學界開發(fā)出更好的技術,產生得分更高的解釋。
此外,團隊還發(fā)現(xiàn),越大的模型,解釋的一致率也越高。其中,GPT-4最接近人類,但依然有不小的差距。
圖片
以下是不同層神經元被激活的例子,可以看到,層數(shù)越高,就越抽象。
圖片
圖片
圖片
圖片
稀疏自動編碼器設置
OpenAI使用的的稀疏自動編碼器是一個在輸入端具有偏置的模型,還包括一個用于編碼器的具有偏置和ReLU的線性層,以及另一個用于解碼器的線性層和偏置。
研究人員發(fā)現(xiàn)偏置項對自動編碼器的性能非常重要,他們將輸入和輸出中應用的偏差聯(lián)系起來,結果相當于從所有激活中減去固定偏差。
研究人員使用Adam優(yōu)化器訓練自動編碼器,以使用MSE重建Transformer的MLP激活。使用MSE損耗可以避免多語義性的挑戰(zhàn),用損失加上L1懲罰項來鼓勵稀疏性。
在訓練自動編碼器時,有幾個原則非常重要。
首先是規(guī)模。在更多數(shù)據上訓練自動編碼器會使特征主觀上“更清晰”且更具可解釋性。所以OpenAI為自動編碼器使用了80億個訓練點。
其次,在訓練過程中,一些神經元會停止激活,即使在大量數(shù)據點上也是如此。
研究人員于是在訓練期間「重采樣」這些死神經元,允許模型代表給定的自動編碼器隱藏層維度的更多特征,從而產生更好的結果。
判斷指標
怎樣判斷自己的方法是否有效?在機器學習中可以簡單地用loss作為標準,但在這里就不太容易找到類似的參考。
比如尋找一個基于信息的指標,這樣可以在某種意義上說,最好的分解是最小化自動編碼器和數(shù)據總信息的分解。
——但事實上,總信息通常與主觀特征可解釋性或激活稀疏性無關。
最終,研究人員使用了了幾個附加指標的組合:
- 手動檢查:特征是否看起來可以解釋?
- 特征密度:實時特征數(shù)量和觸發(fā)它們的token的百分比是一個非常有用的指導。
- 重建損失:衡量自動編碼器重建MLP激活的程度。最終目標是解釋MLP層的功能,因此MSE損耗應該很低。
- 玩具模型:使用一個已經非常了解的模型,可以清晰地評估自動編碼器的性能。
不過研究人員也表示,希望從Transformer上訓練的稀疏自動編碼器中,為字典學習解決方案確定更好的指標。
參考資料:
https://twitter.com/janleike/status/1767347608065106387?s=20