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