谷歌揭秘大模型不會數(shù)r原因:嵌入維度是關(guān)鍵,不止分詞器問題
大模型做奧賽題游刃有余,簡單的數(shù)數(shù)卻屢屢翻車的原因找到了。
谷歌的一項新研究,發(fā)現(xiàn)大模型不會數(shù)數(shù)的原因,并不是簡單的tokenizer所致,而是沒有足夠的空間來存儲用于計數(shù)的向量。

數(shù)出一段話中某個單詞出現(xiàn)的次數(shù),這樣簡單的任務(wù)可以難倒許多大模型,GPT-4o、Claude 3.5也無法幸免。
如果再進一步,想要找到出現(xiàn)頻率最高的一個詞,更是難如登天,即便能蒙對給出的具體數(shù)量也是錯的。

有人認為是詞匯的token化導(dǎo)致了大模型看到的“詞”和我們的看法不一致,但論文表明,實際情況并不是這么簡單。

想數(shù)清單詞,嵌入維度要夠大
Transformer的計數(shù)能力與其嵌入維度d和詞匯量m(指詞匯表中詞的數(shù)量,非序列長度)的關(guān)系密切相關(guān)。
詳細的原因,就涉及到了Transformer統(tǒng)計詞頻時的機制。
Transformer通過一種特殊的嵌入方式,利用嵌入空間的線性結(jié)構(gòu),巧妙地將計數(shù)問題轉(zhuǎn)化為了向量加法。
具體說是將每個詞映射到一個獨特的正交向量上,在這種表示下,詞頻可以通過對這些正交向量求和來簡單地計算。

然而,這種機制的局限性在于,它要求詞匯表中的每個詞都有一個獨立的正交向量表示,因此嵌入維度必須大于詞匯量。
嵌入維度不足時,詞向量就無法保持正交性,詞頻的線性疊加也就無法實現(xiàn)了。
此時Transformer要實現(xiàn)計數(shù),可以通過注意力機制(CountAttend)來實現(xiàn),但需要一個隨序列長度n線性增長的大型“逆轉(zhuǎn)MLP”層。
具體來說,模型首先通過注意力賦予被查詢詞較大的權(quán)重,再利用位置編碼將注意力權(quán)重提取到值向量的最后一個元素,這個元素實際記錄了被查詢詞的出現(xiàn)頻率的倒數(shù)。
這意味著,模型需要一個大小為O(n)的MLP層來計算1/x函數(shù)(x為某個詞出現(xiàn)的次數(shù))。
但進一步分析表明,任何常數(shù)層ReLU網(wǎng)絡(luò)都無法在o(n)的神經(jīng)元數(shù)量下逼近1/x函數(shù)。
因此,對于固定規(guī)模的Transformer,這種方案無法推廣到任意長度的序列。當序列長度超出訓(xùn)練集長度時,模型的計數(shù)能力會急劇惡化。

長度非主要因素,詞匯表中數(shù)量是關(guān)鍵
為了驗證這一結(jié)論,作者一共進行了兩個實驗。
第一個實驗,是在一個從頭開始訓(xùn)練的Transformer模型上進行的,具體有關(guān)參數(shù)如下:
- 使用一個由兩個Transformer層、四個注意力頭組成的標準模型;
 - 嵌入維度d的取值范圍為8到128;
 - 對每個固定的d,詞匯量m從5到150變化,分別測試20個不同的值;
 - 模型使用Adam優(yōu)化器從零開始訓(xùn)練,批量大小為16,學(xué)習(xí)率為10^-4,訓(xùn)練10萬步。
 
訓(xùn)練和評測數(shù)據(jù)通過隨機采樣生成。首先從大小為m的詞匯表中均勻采樣n個詞,構(gòu)成一個長度為n的序列。
序列長度n設(shè)置為n=10m,平均每個詞出現(xiàn)的次數(shù)固定為10次,一共使用了1600個樣本進行測試。
作者發(fā)現(xiàn),隨著詞匯量的增加,模型的計數(shù)準確率呈階梯狀下降,臨界點恰好出現(xiàn)在詞匯量超過嵌入維度的時刻。
為了進一步量化模型的計數(shù)能力,作者定義了一個指標m_thr,表示模型的計數(shù)準確率下降到80%時的臨界詞匯量。
直觀地說,m_thr反映了在給定嵌入維度下,模型可以“承受”的最大詞匯量,m_thr越大說明模型的計數(shù)能力越強。
結(jié)果顯示,對于計數(shù)(QC)和找出最高頻詞(MFC)的任務(wù),m_thr都隨嵌入維度d的增大而近似線性增長。

第二個實驗則是在預(yù)訓(xùn)練的Gemini 1.5模型上開展,在這個實驗中,作者更關(guān)注詞匯量對計數(shù)能力的影響。
他們設(shè)計了一系列計數(shù)任務(wù),每個任務(wù)使用不同大小的詞匯表,并把每個詞在序列中出現(xiàn)的平均次數(shù)固定。
這意味著,在實驗組當中,詞匯量越大,序列長度也就越長。
作為對照,作者還設(shè)置了一個“Binary Baseline”,詞匯表中只有固定為兩個詞,但序列長度與主實驗組相同。
這樣一來,就可以判斷出帶來模型計數(shù)誤差的究竟是詞匯量還是序列長度。
實驗結(jié)果顯示,隨著詞匯量的增加,Gemini 1.5在計數(shù)任務(wù)上的平均絕對誤差顯著上升,而“Binary Baseline”的誤差要低得多。

這表明,詞匯量的增加,而非序列長度的增長,是導(dǎo)致大模型計數(shù)能力下降的主要原因。
不過作者也表示,雖然這項研究一定程度上劃定了大模型計數(shù)能力的上下界,但這些界限還不夠緊致,距離理想的結(jié)果還有一定差距。
同時,作者也沒有探究增加Transformer的層數(shù)是否會改變這一結(jié)論,需要未來開發(fā)新的技術(shù)工具才能進一步驗證。
論文地址:https://arxiv.org/abs/2407.15160















 
 
 















 
 
 
 