LLM的「母語」是什麼?

在以英語為主的語料庫上訓練的多語言LLM,是否使用英語作為內部語言?對此,來自EPFL的研究人員針對Llama 2家族進行了一系列實驗。

大語言模型的「母語」是什麼?

我們的第一個反應很可能是:英語。

但事實果真是如此嗎?尤其是對於能夠聽說讀寫多種語言的LLM來說。

對此,來自EPFL(洛桑聯邦理工學院)的研究人員發表了下面這篇工作來一探究竟:


論文網址:https://arxiv.org/pdf/2402.10588
專案網址:https://github.com/epfl-dlab/llm-latent-language


作者以Llama2為對象,向我們展示了具有多語言能力的Transformer,是如何思考問題的。

像「羊駝」這種在英語區下長大的娃,他的「多語言」到底是本質屬性,還是只是套了個翻譯的殼?

這對於人們理解LLM的運作機制至關重要。


要探究大模型的內心世界,雖然聽起來有點複雜,但其實一點也不簡單。

研究人員在這裡化繁為簡,使用特定的提示來保證輸出的唯一性,同時把Llama-2-7B的32層輸出全部提取出來——一層一層一層的剝開她的心。


於是,我們能在上圖清楚地看到,羊駝在得到中文翻譯(「花」)時的整個推理過程。

Transformer將輸入token進行逐層映射,最終預測出下一個token,中間那些我們大概能理解或不能理解的字串,就是LLM使用的「內部語言」。

顯然,在中間層的「思考」環節,羊駝用的是偏向英語的某種神祕文字。

這裡要強調一下,這是羊駝的自發性行為,因為提示中壓根就沒有一點英文!


例如上圖是其中的一個實驗,建構了法文翻譯中文的提示,且限制了正確答案只需要1個token(花)。

而下圖的統計顯示:在Llama2的大部分前向傳遞中,正確中文token(藍色)的機率遠低於英文翻譯(橘色)的機率。中文只在最後兩層中佔據主導地位。


為了方便大家觀察,作者也將嵌入在高維空間中的路徑的視覺化(實際上是8192個維度,這裡使用2D展示)。

從輸入到輸出,軌跡以紅色開始,以紫色結束。我們可以看到,這些路徑基本上都是先繞道英語,然後才回到正確的中文。


不過,這是否確實顯示Llama2先用英文進行推理,然後再翻譯成中文?

作者表示,比這更微妙一點。那些看起來像英語的中間嵌入實際上對應於抽象概念,而不是具體的英文token。

所以,一方面,Llama2內部的「通用語」不是英語,而是概念;

但另一方面,這些神秘字符又顯然偏向英語的概念

因此,在語意上,而非純粹的詞彙意義上,英語確實可以被視為羊駝的「母語」。


網友:我早就發現了

有網友表示:恕我直言,不只是羊駝系列,基本上所有LLM都是這樣。


「對於以英語為母語的人來說,這可能會令人驚訝,但對於其他人來說,這種傾向性是可見的,只不過有時多,有時少。」

「有時我會想LLM為什麼要這樣回答,然後我意識到這個答案在英語中更有意義。」

「這在詩中更是顯而易見的。LLM寫詩很漂亮,但通常沒有押韻.——如果你把它翻譯成英語,就押韻了。」

另一位網友表示,這是大模型帶來的偏見,要小心了。


「英語和中文最終將成為LLM提示和輸出的最佳語言,而隨著LLM的應用範圍越來越廣泛,世界其他語言將更加邊緣化。」

模型表達空間的探索

當嵌入逐層轉換時,它們會經歷3個階段:

1. 輸入空間:模型消除分詞器帶來的影響。

2. 概念空間:嵌入進入一個抽象的概念空間。

3. 輸出空間:概念被映射回原本的表達形式。


模型

實驗專注於Llama-2系列語言模型。 Llama-2系列模型在多語言語料庫上訓練,語料庫主要由英語主導(佔89.70%)。

不過考慮到整體訓練數據的大小(2兆個token),即使是一小部分非英語訓練數據,絕對值仍然很大(德語佔0.17%=3.4B,中文佔0.13%=2.6B)。

Llama-2有7B/13B/70B三種尺寸,分別為32/40/80層,嵌入維度d=4096/5120/8192,詞彙表V包含32,000個token。實驗中使用8位量化探究這三種不同大小的模型。

實驗

實驗的目標是探索Llama-2的內部狀態,是否與特定的自然語言相對應,這需要從token分佈映射到語言。

為了避免許多token在語言上模稜兩可的問題,研究人員建構了特殊的提示,限制token輸出的唯一性,並且可以明確地歸因於某種語言。

翻譯任務

將前面的非英語(例如法語)單字翻譯成中文,示例如下,向模型展示四個單詞,並帶有正確的翻譯,後跟第五個沒有翻譯的單詞,讓模型預測下一個token:


重複任務

要求模型簡單地重複最後一個單詞,提示如下:


完形填空任務

作為一項稍微困難的任務,模型需要預測句子中缺少的單字。給定一個目標單字,透過GPT-4建立一個以該單字開頭的英語句子,屏蔽目標單詞,並將該句子翻譯成其他語言。英語範例如下:


單字選擇

為了實現明確的語言歸屬,研究人員為每種語言建構了一組封閉的單字。掃描Llama-2的詞彙表,尋找具有單token英文翻譯的單token中文單字(主要是名詞)。

這樣一來,Llama-2預測下一個中文單字的正確機率就可以直接從下一個token機率讀出。

保險起見,作者也在德語、法語和俄語上進行了相同的實驗,總共測試了139個中文、104個德語、56個法語和115個俄語單字。三個任務的測驗結果如下:


上圖表示Llama-2前向傳遞期間,每一層輸出是英文還是中文的機率,三個任務分別為:(a)從德文/法文/俄文到中文的翻譯任務,(b)中文重複任務, (c)中文完形填空任務。

誤差線顯示輸入文字的95%高斯信賴區間(翻譯任務為353,重複任務和完形填空為139)。

8192D太空漫遊

自回歸Transformer是以增量方式求解的,每一層透過添加殘差來修改前一層產生的潛在向量,這一過程在幾何上可以描述為透過d維歐幾里德空間的路徑。


為了建立直覺,首先考慮一個假設的極端情況,即token位於整個d維空間的適當子空間。

如果latent embedding(h)具有與token子空間正交的分量,則表示預測中包含與h無關的資訊。

研究者採用h和token嵌入之間的均方餘弦,來表示h的能量有多少轉化為logit分數。為了可解釋性,這裡透過token嵌入本身的均方餘弦進行歸一化,得到h的平方token能量:


在上面的球形示意圖中,所有嵌入都位於原點周圍的球體上。 token嵌入位於赤道上,主要沿x軸分佈,x軸捕獲語言(左英文,右中文),y軸捕捉概念,z軸提供了額外的自由度,可用於存儲有關上下文、語言等的信息。 Transformer正向傳遞沿著球體表面移動。

在第1階段,latent embedding從北極開始,與輸出token和概念嵌入正交。

階段2旋轉到概念空間中,英語token佔據主導。

最後,第3階段沿著赤道旋轉到目標語言的半球,產生輸出token。(新智元)

參考資料:https://arxiv.org/abs/2402.10588