Skip to content

數學論證GPT-4不是隨機鸚鵡:真如此整個宇宙將坍縮

對於 ChatGPT 的工作原理,一個常見的解釋是根據統計學規律預測下一個詞。

但最近一位叫 Jacob Bayless 的工程師用數學方法得出驚人結論:

若是如此,所需的信息量足以讓整個宇宙都坍塌成黑洞。

這一數據量是500008000,根據貝肯斯坦上限(
Bekenstein bound ) 原理,如果把這些信息分配到空間當中,所需要的信息密度已經遠超宇宙能承受的最大值。

而這僅僅是把數據存儲起來的消耗,更不必說還要進行運算了。

765a6c0468e7099444346c29aa9dba45

而 ChatGPT 與單純統計預測的區別,可以做這樣的類比:

如果天文學家通過曆史觀測記錄推算出月食的周期,這可以算是統計學。

但當他們總結出牛頓萬有引力定律的時候,就已經超越了統計學。

什麽是 ” 隨機鸚鵡 “

一個流傳很廣的說法,所謂大語言模型實際上相當於一個 ” 隨機鸚鵡 ” ——

與我們觀察其輸出時的情況相反,語言模型隻是將其在龐大的訓練數據中觀察到的語素胡亂拚接在一起,根據概率生成文本,但不清楚文字背後的任何含義,就像一個隨機的鸚鵡。

出自論文 On The Dangers of Stochastic Parrots: Can Language Models
Be Too Big

d28733aad0ec87541a77ae01410acfab

這對過去的語言模型,或許確實成立。

比如曾經流行的 n-gram 算法。

比如當我們在搜索引擎中進行搜索時,出現的聯想詞就能用此方法實現。

5604157d5a94e9d26986f5eb0b5edb3f

具體來說,下麵的三行文本中,第一行純粹是隨機生成,第二行考慮了單詞在英語中整體的出現概率,第三行則考慮了單詞在前一個詞後麵出現的概率。

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 模型根本不需要掌握其中的語義或理解其中的抽象概念,就能生成像模像樣的句子。

據此有人猜想,GPT-4 會不會也隻是一種高級的 n-gram 呢?

Bayless 提出,GPT 必須學會抽象才能有如今的效果,至少 GPT-4 肯定如此。

GPT-4 不隻是 ” 隨機鸚鵡 “

要證明這一點,可以先看下棋機器人的例子。

如果有一種下棋機器人,存儲了巨量棋譜數據,對於每個棋局都能推薦下一步。

那它就能通過 ” 背譜法 ” 模仿其他任何棋手或程序的下法。

比如 Stockfish 是最先進的國際象棋程序,如果僅通過對戰而不看源碼,是無法確定 Stockfish 是否在背譜。

但實際上,包含所有情形和步驟的棋譜數據量可能超到 2154。

而 Stockfish 的程序隻占用了不到 50MB 的空間,根本不可能存下需要的所有棋譜。

所以 Stockfish 肯定是通過更高級的方法來實現下棋的。

人類語言的複雜度遠超過棋類遊戲,因此 GPT 的數據量更是同理。

306ed4e4f91488c910b0ed8ff4f87de0

僅在是上一代的 GPT-3 的 token 字典中就有超過 5 萬 token。

如果對每個詞都逐一建立統計信息,n-gram 模型中 n 值將高達 8000。

屆時,需要存儲的情景數量將達到 500008000。

正如文章開頭所提到,這簡直是天文數字,足以讓整個宇宙坍縮。

因此,GPT 是 ” 隨機鸚鵡 ” 的猜測在理論上得到了一定程度的批駁。

” 隨機鸚鵡 ” 達不到的高度

僅在理論上進行說明是不充分的,因此研究人員還進行了兩個實驗,意圖證明大模型在學習過程中已經抽象出了算法。

第一個實驗關於一道經典的農夫過河問題。

一個農夫有一條船,和狼、羊、菜,農夫要把這 3
樣東西運到河到另一邊,農夫每次最多隻能通過這個船運一樣東西,要防止狼吃羊、羊吃白菜(即不能在沒有農夫在的情況下同時在同一岸邊),該怎麽過?

研究人員將這個問題中的農夫、船、河分別替換成地球人、蟲洞和銀河係。

狼、羊和菜則分別換成火星人、金星人和月球人。

9a44e43bbb14f2f64eacee75b4b95add

替換的目的是因為互聯網上不太可能出現類似語料,可以判斷大語言模型是不是真的掌握了通用方法。

如果 GPT 不是 ” 隨機鸚鵡 “,那麽它至少不會犯下隻有 ” 隨機鸚鵡 ” 才會犯的錯誤。

GPT-4 針對替換後的問題給出了正確的回答,GPT-3.5 則沒有。

9aa175b56dbd4dacc2b7467030953775

但它們並沒有犯研究人員預想的 ” 鸚鵡 ” 錯誤——即在回答中出現狼、船、河等已被替換掉的詞語。

回答中使用的句子,也無法在互聯網中被檢索到。

edaa15b4c0f37292470d87c9fd2dfd7b

這些現象都證明了現在的大語言模型的生成方式已經超越了 ” 概率預測 “。

第二個實驗則是數字排序。

如果讓 GPT 學習數字排序,它們究竟是隻會記住給出過的數字順序,還是真的研究出排序算法呢?

809f60dae0a2cc7692e8aace81f2aebc

其實隻要從 GPT 的輸出當中就可以看出來了。

假如從 1-100 中隨機選擇 10 個數字,並將其順序打亂,將一共有這麽多種情形:

58f8f9636889a698e90a816a840c2a4d

如果再考慮數字的重複出現,又或者數字的數量發生變化,根本不可能存儲如此之多的情形。

因此,隻要 GPT 能夠針對未知的排序問題給出正確的回答,便可以說明它們是真的研究出了排序算法。

研究人員訓練了一款特斯拉前 AI 總監 Andrej Kaparthy 發明的語言模型
nanoGPT,專門讓它做數字排序。

結果顯示,隨著訓練步數的增加,模型給出的數字順序越來越完美。

雖然在訓練步數達到 16 萬左右時突然出現了大量錯誤,但也很快得到了糾正。

這說明這款模型並不是僅僅根據學習的素材對未知的數字進行排序,而是已經掌握了背後的方法。

c20ffc5a508744f03d53c367a2cedc98

這個測試隻是在一台筆記本電腦、算力非常有限的 GPU 上進行的。

更不必說 GPT-4 了。