首頁  >  文章  >  科技週邊  >  OpenAI官宣開源Transformer Debugger!不用寫程式碼,人人可以破解LLM黑箱

OpenAI官宣開源Transformer Debugger!不用寫程式碼,人人可以破解LLM黑箱

PHPz
PHPz轉載
2024-03-12 15:16:191137瀏覽

AGI真的越來越近了!

為了確保人類不會被AI殺死,在解密神經網路/Transfomer黑箱這一方面,OpenAI從未停下腳步。

去年5月,OpenAI團隊發布了一個令人震驚的發現:GPT-4竟可以解釋GPT-2的三十萬神經元!

網友紛紛驚呼,智慧原來是這個樣子。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

而就在剛剛,OpenAI超級對齊團隊負責人又正式官宣,要開源內部一直使用的大殺器-Transformer調試器(Transformer Debugger)。

簡之,研究者可以用TDB工具分析Transformer的內部結構,以便對小模型的特定行為進行調查。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

也就是說,有了這個TDB工具,未來它就可以幫我們剖析和分析AGI了!

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

Transformer偵錯器將稀疏自動編碼器,與OpenAI開發的「自動可解釋性」—即用大模型自動解釋小模型,技術結合。

連結:OpenAI炸裂新作:GPT-4破解GPT-2腦! 30萬神經元全被看穿

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

#論文網址:https://openaipublic.blob.core.windows. net/neuron-explainer/paper/index.html#sec-intro

#值得一提的是,研究者不用寫程式碼,就能快速探索LLM的內部建構。

例如,它可以回答「為什麼模型會輸出token A而不是token B」,「為什麼注意力頭H會關注token T」之類的問題。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

因為TDB能支持神經元和注意力頭,所以就可以讓研究人員透過消融單一神經元來介入前向傳遞,並觀察發生的具體變化。

不過根據Jan Leike的說法,這個工具現在還只是一個早期的版本,OpenAI放出來是希望更多的研究人員能夠用上,並且在現有基礎上進一步改進。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

專案網址:https://github.com/openai/transformer-debugger

工作原理

要理解這個Transformer Debugger的工作原理,需要回顧OpenAI在2023年5月放出的一份和對齊有關的研究。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

TDB工具是基於先前發布的兩項研究,不會發布論文

簡單來說,OpenAI希望用參數更大能力更強的模型(GPT-4)去自動分析小模型(GPT-2)的行為,解釋它的運作機制。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

當時OpenAI研究的初步結果是,參數比較少的模型容易被理解,但隨著模型參數變大,層數增加,解釋的效果會暴降。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

當時OpenAI在研究中稱,限於GPT-4本身設計就不是用來解釋小模型行為的,所以整體上對於GPT -2的解釋成果還很差。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

未來需要發展出能夠更好地解釋模型行為的演算法和工具。

而現在開源的Transformer Debugger,就是OpenAI在之後這一年的階段性成果。

而這個「更好的工具」-Transformer Debugger,就是將「稀疏自動編碼器」結合進這個「用大模型解釋小模型」的技術線路中去。

然後再將先前OpenAI在可解釋性研究中用GPT-4解釋小模型的過程零程式化,從而大大降低了研究人員上手的門檻。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

GPT-2 Small被看穿了

在GitHub專案主頁,OpenAI團隊成員透過視頻介紹了最新Transformer調試器工具。

與Python調試器類似,TDB可以讓你逐步查看語言模型輸出、追蹤重要激活並分析上游激活。

進入TDB主頁,首先是「提示」一欄輸入-提示與感興趣的token:

Mary and Johon went to the store, Johon gave a drink to....

那麼接下來,就是做一個「下一個字」的預測,需要輸入目標token,以及幹擾性的token。

最後提交後,便可以看到系統給出的預測下一字候選的對數。

下面的「節點表」是TDB的核心部分。這裡的每一行都對應一個節點,也就是啟動一個模型元件。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

如果要了解對某個特定提示中非常重要的注意力頭的功能,直接點擊組件的名稱。

然後TDB會開啟「神經元瀏覽器 」頁面,頂部會顯示先前的提示詞。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

這裡可以看到淺藍色和粉紅色的token。每個對應顏色的token之下,從後續標記到這個token的注意力會讓一個大範數向量(large norm vector)被寫入後續token中。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

在另外兩個影片中,研究人員介紹了TDB的概念,以及在理解迴路中的應用。同時,他也示範了TDB如何定性地再現論文中的一個發現。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

OpenAI自動可解釋性研究

簡單來說,OpenAI自動可解釋性研究的想法是讓GPT-4對神經元的行為進行自然語言解釋,然後把這個過程應用在GPT-2。

這何以成為可能?首先,我們要「解剖」一下LLM。

就像大腦一樣,它們由「神經元」組成,它們會觀察文本中的某些特定模式,這就會決定整個模型接下來要說什麼。

例如,如果給出這麼一個prompt,「哪些漫威超級英雄擁有最有用的超能力?」「漫威超級英雄神經元」可能會增加模型命名漫威電影中特定超級英雄的機率。

OpenAI的工具就是利用這個設定,把模型分解成單獨的部分。

第一步:使用GPT-4產生解釋

#首先,找一個GPT-2的神經元,並向GPT-4展示相關的文字序列和活化。

然後,讓GPT-4根據這些行為,產生一個可能的解釋。

例如,在下面的例子中GPT-4就認為,這個神經元與電影、角色和娛樂有關。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱圖片

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

#接著,讓GPT-4根據自己產生的解釋,模擬以此活化的神經元會做什麼。

圖片

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱 步驟三:對比打分

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

#最後,將模擬神經元(GPT-4)的行為與實際神經元(GPT-2)的行為進行比較,看看GPT-4究竟猜得有多準。

圖片

還有限制

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱透過評分,OpenAI的研究者衡量了這項技術在神經網路的不同部分都是怎樣的效果。對於較大的模型,這項技術的解釋效果不佳,可能是因為後面的層更難解釋。

圖片

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱目前,絕大多數解釋分數都很低,但研究者也發現,可以透過迭代解釋、使用更大的模型、更改所解釋模型的體系結構等方法,來提高分數。

OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱現在,OpenAI正在開源「用GPT-4來解釋GPT-2中全部307,200個神經元」結果的資料集和視覺化工具,也透過OpenAI API公開了市面上現有模型的解釋和評分的代碼,並且呼籲學界開發出更好的技術,產生得分更高的解釋。

此外,團隊也發現,越大的模型,解釋的一致率也越高。其中,GPT-4最接近人類,但仍有不小的差距。 OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

圖片OpenAI官宣开源Transformer Debugger!不用写代码,人人可以破解LLM黑箱

以下是以下是不同層神經元被活化的例子,可以看到,層數越高,就越抽象。 ###############圖片################圖片##############圖片## #############圖片######

稀疏自動編碼器設定

OpenAI使用的的稀疏自動編碼器是一個在輸入端具有偏移的模型,還包括一個用於編碼器的具有偏置和ReLU的線性層,以及另一個用於解碼器的線性層和偏壓。

研究人員發現偏壓項對自動編碼器的性能非常重要,他們將輸入和輸出中應用的偏差聯繫起來,結果相當於從所有激活中減去固定偏差。

研究人員使用Adam優化器訓練自動編碼器,以使用MSE重建Transformer的MLP啟動。使用MSE損耗可以避免多語意性的挑戰,用損失加上L1懲罰項來鼓勵稀疏性。

在訓練自動編碼器時,有幾個原則非常重要。

首先是規模。在更多資料上訓練自動編碼器會使特徵主觀上「更清晰」且更具可解釋性。所以OpenAI為自動編碼器使用了80億個訓練點。

其次,在訓練過程中,有些神經元會停止激活,即使在大量資料點上也是如此。

研究人員於是在訓練期間「重採樣」這些死神經元,允許模型代表給定的自動編碼器隱藏層維度的更多特徵,從而產生更好的結果。

判斷指標

怎麼判斷自己的方法是否有效?在機器學習中可以簡單地用loss作為標準,但在這裡就不太容易找到類似的參考。

例如尋找一個基於資訊的指標,這樣可以在某種意義上說,最好的分解是最小化自動編碼器和資料總資訊的分解。

——但事實上,總資訊通常與主觀特徵可解釋性或活化稀疏性無關。

最終,研究人員使用了幾個附加指標的組合:

- 手動檢查:特徵是否看起來可以解釋?

- 特徵密度:即時特徵數量和觸發它們的token的百分比是一個非常有用的指導。

- 重建損失:衡量自動編碼器重建MLP啟動的程度。最終目標是解釋MLP層的功能,因此MSE損耗應該很低。

- 玩具模型:使用一個已經非常了解的模型,可以清楚評估自動編碼器的效能。

不過研究人員也表示,希望從Transformer上訓練的稀疏自動編碼器中,為字典學習解決方案確定更好的指標。

參考資料:

https://www.php.cn/link/133a1d4c028736d9023d335f06594a0e

以上是OpenAI官宣開源Transformer Debugger!不用寫程式碼,人人可以破解LLM黑箱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除