數(shù)學論證GPT-4不是隨機鸚鵡:真如此的話整個宇宙都會坍縮
對于ChatGPT的工作原理,一個常見的解釋是根據(jù)統(tǒng)計學規(guī)律預測下一個詞。
但最近一位叫Jacob Bayless的工程師用數(shù)學方法得出驚人結論:
若是如此,所需的信息量足以讓整個宇宙都坍塌成黑洞。
這一數(shù)據(jù)量是500008000,根據(jù)貝肯斯坦上限(Bekenstein bound)原理,如果把這些信息分配到空間當中,所需要的信息密度已經遠超宇宙能承受的最大值。
而這僅僅是把數(shù)據(jù)存儲起來的消耗,更不必說還要進行運算了。
而ChatGPT與單純統(tǒng)計預測的區(qū)別,可以做這樣的類比:
如果天文學家通過歷史觀測記錄推算出月食的周期,這可以算是統(tǒng)計學。
但當他們總結出牛頓萬有引力定律的時候,就已經超越了統(tǒng)計學。
什么是“隨機鸚鵡”
一個流傳很廣的說法,所謂大語言模型實際上相當于一個“隨機鸚鵡”——
與我們觀察其輸出時的情況相反,語言模型只是將其在龐大的訓練數(shù)據(jù)中觀察到的語素胡亂拼接在一起,根據(jù)概率生成文本,但不清楚文字背后的任何含義,就像一個隨機的鸚鵡。
出自論文On The Dangers of Stochastic Parrots: Can Language Models Be Too Big
這對過去的語言模型,或許確實成立。
比如曾經流行的n-gram算法。
比如當我們在搜索引擎中進行搜索時,出現(xiàn)的聯(lián)想詞就能用此方法實現(xiàn)。
具體來說,下面的三行文本中,第一行純粹是隨機生成,第二行考慮了單詞在英語中整體的出現(xiàn)概率,第三行則考慮了單詞在前一個詞后面出現(xiàn)的概率。
n = 0: RECEIVE FALL SURPRISED FRIDAY INGREDIENT…
n = 1: REPRESENTING AND SPEEDILY IS AN GOOD…
n = 2: THE CHARACTER OF THIS POINT IS THEREFORE…
不難看出,隨著n值的升高,文本越來越接近人類語言。
而n-gram模型根本不需要掌握其中的語義或理解其中的抽象概念,就能生成像模像樣的句子。
據(jù)此有人猜想,GPT-4會不會也只是一種高級的n-gram呢?
Bayless提出,GPT必須學會抽象才能有如今的效果,至少GPT-4肯定如此。
GPT-4不只是“隨機鸚鵡”
要證明這一點,可以先看下棋機器人的例子。
如果有一種下棋機器人,存儲了巨量棋譜數(shù)據(jù),對于每個棋局都能推薦下一步。
那它就能通過“背譜法”模仿其他任何棋手或程序的下法。
比如Stockfish是最先進的國際象棋程序,如果僅通過對戰(zhàn)而不看源碼,是無法確定Stockfish是否在背譜。
但實際上,包含所有情形和步驟的棋譜數(shù)據(jù)量可能超到2154。
而Stockfish的程序只占用了不到50MB的空間,根本不可能存下需要的所有棋譜。
所以Stockfish肯定是通過更高級的方法來實現(xiàn)下棋的。
人類語言的復雜度遠超過棋類游戲,因此GPT的數(shù)據(jù)量更是同理。
僅在是上一代的GPT-3的token字典中就有超過5萬token。
如果對每個詞都逐一建立統(tǒng)計信息,n-gram模型中n值將高達8000。
屆時,需要存儲的情景數(shù)量將達到500008000。
正如文章開頭所提到,這簡直是天文數(shù)字,足以讓整個宇宙坍縮。
因此,GPT是“隨機鸚鵡”的猜測在理論上得到了一定程度的批駁。
“隨機鸚鵡”達不到的高度
僅在理論上進行說明是不充分的,因此研究人員還進行了兩個實驗,意圖證明大模型在學習過程中已經抽象出了算法。
第一個實驗關于一道經典的農夫過河問題。
一個農夫有一條船,和狼、羊、菜,農夫要把這3樣東西運到河到另一邊,農夫每次最多只能通過這個船運一樣東西,要防止狼吃羊、羊吃白菜(即不能在沒有農夫在的情況下同時在同一岸邊),該怎么過?
研究人員將這個問題中的農夫、船、河分別替換成地球人、蟲洞和銀河系。
狼、羊和菜則分別換成火星人、金星人和月球人。
替換的目的是因為互聯(lián)網上不太可能出現(xiàn)類似語料,可以判斷大語言模型是不是真的掌握了通用方法。
如果GPT不是“隨機鸚鵡”,那么它至少不會犯下只有“隨機鸚鵡”才會犯的錯誤。
GPT-4針對替換后的問題給出了正確的回答,GPT-3.5則沒有。
但它們并沒有犯研究人員預想的“鸚鵡”錯誤——即在回答中出現(xiàn)狼、船、河等已被替換掉的詞語。
回答中使用的句子,也無法在互聯(lián)網中被檢索到。
這些現(xiàn)象都證明了現(xiàn)在的大語言模型的生成方式已經超越了“概率預測”。
第二個實驗則是數(shù)字排序。
如果讓GPT學習數(shù)字排序,它們究竟是只會記住給出過的數(shù)字順序,還是真的研究出排序算法呢?
其實只要從GPT的輸出當中就可以看出來了。
假如從1-100中隨機選擇10個數(shù)字,并將其順序打亂,將一共有這么多種情形:
如果再考慮數(shù)字的重復出現(xiàn),又或者數(shù)字的數(shù)量發(fā)生變化,根本不可能存儲如此之多的情形。
因此,只要GPT能夠針對未知的排序問題給出正確的回答,便可以說明它們是真的研究出了排序算法。
研究人員訓練了一款特斯拉前AI總監(jiān)Andrej Kaparthy發(fā)明的語言模型nanoGPT,專門讓它做數(shù)字排序。
結果顯示,隨著訓練步數(shù)的增加,模型給出的數(shù)字順序越來越完美。
雖然在訓練步數(shù)達到16萬左右時突然出現(xiàn)了大量錯誤,但也很快得到了糾正。
這說明這款模型并不是僅僅根據(jù)學習的素材對未知的數(shù)字進行排序,而是已經掌握了背后的方法。
這個測試只是在一臺筆記本電腦、算力非常有限的GPU上進行的。
更不必說GPT-4了。
參考鏈接:https://jbconsulting.substack.com/p/its-not-just-statistics-gpt-4-does