吳恩達力贊!哈佛、MIT學者用下棋證明:大型語言模型確實「理解」了世界
2021年,華盛頓大學語言學家Emily M. Bender發(fā)表了一篇論文,認為大型語言模型不過是「隨機鸚鵡」(stochastic parrots)而已,它們并不理解真實世界,只是統(tǒng)計某個詞語出現(xiàn)的概率,然后像鸚鵡一樣隨機產(chǎn)生看起來合理的字句。
由于神經(jīng)網(wǎng)絡的不可解釋性,學術界也弄不清楚語言模型到底是不是隨機鸚鵡,各方觀點差異分歧極大。
由于缺乏廣泛認可的測試,模型是否能「理解世界」也成為了哲學問題而非科學問題。
最近,來自哈佛大學、麻省理工學院的研究人員共同發(fā)表了一項新研究Othello-GPT,在簡單的棋盤游戲中驗證了內(nèi)部表征的有效性,他們認為語言模型的內(nèi)部確實建立了一個世界模型,而不只是單純的記憶或是統(tǒng)計,不過其能力來源還不清楚。
論文鏈接:https://arxiv.org/pdf/2210.13382.pdf
實驗過程非常簡單,在沒有任何奧賽羅規(guī)則先驗知識的情況下,研究人員發(fā)現(xiàn)模型能夠以非常高的準確率預測出合法的移動操作,捕捉棋盤的狀態(tài)。
吳恩達在「來信」欄目中對該研究表示高度認可,他認為基于該研究,有理由相信大型語言模型構建出了足夠復雜的世界模型,在某種程度上來說,確實理解了世界。
博客鏈接:https://www.deeplearning.ai/the-batch/does-ai-understand-the-world/
不過吳恩達也表示,雖然哲學很重要,但這樣的爭論可能會無休無止,所以不如編程去吧!
棋盤世界模型
如果把棋盤想象成一個簡單的「世界」,并要求模型在對局中不斷決策,就可以初步測試出序列模型是否能夠?qū)W習到世界表征。
研究人員選擇一個簡單的黑白棋游戲奧賽羅(Othllo)作為實驗平臺,其規(guī)則是在8*8棋盤的中心位置,先放入四個棋子,黑白各兩個;然后雙方輪流下子,在直線或斜線方向,己方兩子之間的所有敵子(不能包含空格)全部變?yōu)榧鹤樱ǚQ為吃子),每次落子必須有吃子;最后棋盤全部占滿,子多者為勝。
相比國際象棋來說,奧賽羅的規(guī)則簡單得多;同時棋類游戲的搜索空間足夠大,模型無法通過記憶完成序列生成,所以很適合測試模型的世界表征學習能力。
Othello語言模型
研究人員首先訓練了一個GPT變體版語言模型(Othello-GPT),將游戲腳本(玩家做出的一系列棋子移動操作)輸入到模型中,但模型沒有關于游戲及相關規(guī)則的先驗知識。
模型也沒有被明確訓練以追求策略提升、贏得對局等,只是在生成合法奧賽羅移動操作時準確率比較高。
數(shù)據(jù)集
研究人員使用了兩組訓練數(shù)據(jù):
錦標賽(Championship)更關注數(shù)據(jù)質(zhì)量,主要是從兩個奧賽羅錦標賽中專業(yè)的人類玩家采用的、更具戰(zhàn)略思考的移動步驟,但分別只收集到7605個和132921個游戲樣本,兩個數(shù)據(jù)集合并后以8:2的比例隨機分成訓練集(2000萬個樣本)和驗證集(379.6萬個)。
合成(Synthetic)更關注數(shù)據(jù)的規(guī)模,由隨機的、合法的移動操作組成,數(shù)據(jù)分布不同于錦標賽數(shù)據(jù)集,而是均勻地從奧賽羅游戲樹上采樣獲得,其中2000萬個樣本用于訓練,379.6萬個樣本用于驗證。
每場游戲的描述由一串token組成,詞表大小為60(8*8-4)
模型和訓練
模型的架構為8層GPT模型,具有8個頭,隱藏維度為512
模型的權重完全隨機初始化,包括word embedding層,雖然表示棋盤位置的詞表內(nèi)存在幾何關系(如C4低于B4),但這種歸納偏置并沒有明確表示出來,而是留給模型學習。
預測合法移動
模型的主要評估指標就是模型預測的移動操作是否符合奧賽羅的規(guī)則。
在合成數(shù)據(jù)集上訓練的Othello-GPT錯誤率為0.01%,在錦標賽數(shù)據(jù)集上的錯誤率為5.17%,相比之下,未經(jīng)訓練的Othello-GPT的錯誤率為93.29%,也就是說這兩個數(shù)據(jù)集都一定程度上讓模型學會了游戲規(guī)則。
一個可能的解釋是,模型記住了奧賽羅游戲的所有移動操作。
為了驗證這個猜想,研究人員合成了一個新的數(shù)據(jù)集:在每場比賽開始時,奧賽羅有四種可能的開局棋位置(C5、D6、E3和F4),將所有C5開局的走法移除后作為訓練集,再將C5開局的數(shù)據(jù)作為測試,也就是移除了近1/4的博弈樹,結果發(fā)現(xiàn)模型錯誤率仍然只有0.02%
所以Othello-GPT的高性能并不是因為記憶,因為測試數(shù)據(jù)是訓練過程中完全沒見過的,那到底是什么讓模型成功預測?
探索內(nèi)部表征
一個常用的神經(jīng)網(wǎng)絡內(nèi)部表征探測工具就是探針(probe),每個探針是一個分類器或回歸器,其輸入由網(wǎng)絡的內(nèi)部激活組成,并經(jīng)過訓練以預測感興趣的特征。
在這個任務中,為了檢測Othello-GPT的內(nèi)部激活是否包含當前棋盤狀態(tài)的表征,輸入移動序列后,用內(nèi)部激活向量對下一個移動步驟進行預測。
當使用線性探針時,訓練后的Othello-GPT內(nèi)部表征只比隨機猜測的準確率高了一點點。
當使用非線性探針(兩層MLP)時,錯誤率大幅下降,證明了棋盤狀態(tài)并不是以一種簡單的方式存儲在網(wǎng)絡激活中。
干預實驗
為了確定模型預測和涌現(xiàn)世界表征之間的因果關系,即棋盤狀態(tài)是否確實影響了網(wǎng)絡的預測結果,研究人員進行了一組干預(intervention)試驗,并測量由此產(chǎn)生的影響程度。
給定來自Othello-GPT的一組激活,用探針預測棋盤狀態(tài),記錄相關聯(lián)的移動預測,然后修改激活,讓探針預測更新的棋盤狀態(tài)。
干預操作包括將某個位置的棋子從白色變成黑色等,一個小的修改就會導致模型結果發(fā)現(xiàn)內(nèi)部表征能夠可靠地完成預測,即內(nèi)部表征與模型預測之間存在因果影響。
可視化
除了干預實驗驗證內(nèi)部表征的有效性外,研究人員還將預測結果可視化,比如說對于棋盤上的每個棋子,可以詢問模型如果用干預技術將該棋子改變,模型的預測結果將如何變化,對應預測結果的顯著性。
然后根據(jù)當前棋盤狀態(tài)的top1預測的顯著性對牌進行著色可視化,因為繪制出來的圖是基于網(wǎng)絡的潛空間而輸入,所以也可以叫做潛在顯著性圖(latent saliency map)。
可以看到,在合成和錦標賽數(shù)據(jù)集上訓練的Othello-GPTs的top1預測的潛顯著性圖中都展現(xiàn)出了清晰的模式。
合成版Othello-GPT在合法操作位置中顯示出了更高的顯著性值,非法操作的顯著性值明顯更低,稍微有點經(jīng)驗的棋手都能看出模型的意圖;
錦標賽版的顯著圖更復雜,雖然合法操作位置的顯著性值比較高,但其他位置也顯示出較高的顯著性,可能是因為奧賽羅高手考慮更多的是全局特征。