大型語言模型能否捕捉到它們所處理和生成的文本中的語義信息?這一問題在計算機科學和自然語言處理領域一直存在爭議。然而,MIT的一項新研究表明,僅基于文本形式訓練、用于預測下一個token的語言模型確實能學習和表示文本的意義。
雖然大型預訓練語言模型(LLM)在一系列下游任務中展現出飛速提升的性能,但它們是否真的理解其使用和生成的文本語義?
長期以來,AI社區對這一問題存在很大的分歧。有一種猜測是,純粹基于語言的形式(例如訓練語料庫中token的條件分布)進行訓練的語言模型不會獲得任何語義。相反,它們僅僅是根據從訓練數據中收集的表面統計相關性來生成文本,其強大的涌現能力則歸因于模型和訓練數據的規模。這部分人將LLM稱為「隨機鸚鵡」。
但也有一部分人不認同此觀點。一項最近的研究表明,大約51%的NLP社區受訪者同意:「一些僅通過文本訓練的生成模型,在擁有足夠的數據和計算資源的情況下,可以以某種有意義的方式理解自然語言(超越表面層面的統計關聯,涉及對語言背后的語義和概念的理解)」。
為了探究這個懸而未決的問題,來自MIT CSAIL的研究人員展開了詳細研究。
論文地址:https://paperswithcode.com/paper/evidence-of-meaning-in-language-models
該研究使用的語言模型僅訓練成為文本預測下一個token的模型,并制定兩個假設:
H1:僅通過對文本進行下一個token預測訓練的LM在根本上受限于重復其訓練語料庫中的表面層次統計相關性;
H2LM無法對其消化和生成的文本賦予意義。
為了探究 H1 和 H2兩個假設的正確性,該研究將語言建模應用于程序合成任務,即在給定輸入輸出示例形式規范的情況下合成程序。該研究采用這種方法的主要是因為程序的意義(和正確性)完全由編程語言的語義決定。
具體來說,該研究在程序及其規范的語料庫上訓練語言模型(LM),然后使用線性分類器探測 LM 對于程序語義表征的隱藏狀態。該研究發現探測器提取語義的能力在初始化時是隨機的,然后在訓練期間經歷相變,這種相變與 LM 在未見過規范的情況下生成正確程序的能力強相關。此外,該研究還展示了一項介入實驗的結果,該實驗表明語義在模型狀態中得以表征(而不是通過探測器(probe)進行學習)。
該研究的主要貢獻包括:
1、實驗結果表明,在執行預測下一個token任務的 LM 中出現了有意義的表征。具體來說,該研究使用經過訓練的 LM 在給定幾個輸入輸出示例的情況下生成程序,然后訓練一個線性探測器,以從模型狀態中提取有關程序狀態的信息。研究者發現內部表征包含以下線性編碼:(1) 抽象語義(抽象解釋)——在程序執行過程中跟蹤指定輸入;(2) 與尚未生成的程序token對應的未來程序狀態預測。在訓練期間,這些語義的線性表征與 LM 在訓練步驟中生成正確程序的能力同步發展。
2、該研究設計并評估了一種新穎的介入(interventional)方法,以探究從表征中提取意義時LM 和探測器的貢獻。具體來說,該研究試圖分析以下兩個問題中哪個成立:(1) LM 表征包含純(句法)轉錄本(transcript),同時探測器學習解釋轉錄本以推斷含義;(2)LM 表征包含語義狀態,探測器只是從語義狀態中提取含義。實驗結果表明 LM 表征實際上與原始語義對齊(而不是僅僅編碼一些詞匯和句法內容),這說明假設H2是錯誤的。
3、該研究表明 LM 的輸出與訓練分布不同,具體表現為LM 傾向于生成比訓練集中的程序更短的程序(并且仍然是正確的)。雖然 LM 合成正確程序的能力有所提高,但LM 在訓練集中的程序上的困惑度仍然很高,這表明假設H1是錯誤的。
總的來說,該研究提出了一個框架,用于根據編程語言的語義對 LM 進行實證研究。這種方法使我們能夠定義、測量和試驗來自底層編程語言的精確形式語義的概念,從而有助于理解當前 LM 的涌現能力。
研究背景
該研究使用跟蹤語義作為程序含義模型。作為編程語言理論中一個基礎主題,形式語義學主要研究如何正式地為語言中的字符串分配語義。該研究使用的語義模型包括跟蹤程序的執行:給定一組輸入(即變量賦值),一個(句法)程序的含義是用從表達式中計算出的語義值標識的,跟蹤軌跡是根據輸入執行程序時生成的中間值序列。
將跟蹤軌跡用于程序含義模型具有幾個重要原因:首先,準確跟蹤一段代碼的能力與解釋代碼的能力直接相關;其次,計算機科學教育也強調跟蹤是理解程序開發和定位推理錯誤的重要方法;第三,專業的程序開發依賴基于跟蹤的調試器(dbugger)。
該研究使用的訓練集包含100萬個隨機抽樣的Karel程序。20世紀70年代,斯坦福大學畢業生 Rich Pattis 設計了一個程序環境,讓學生教機器人來解決簡單的問題,這個機器人被稱為Karel機器人。
該研究通過隨機采樣來構造訓練樣本的參考程序,然后采樣5個隨機輸入并執行程序得到對應的5個輸出。LM 被訓練為對樣本語料庫執行下一個token預測。在測試時,該研究只提供輸入輸出前綴給LM,并使用貪心解碼完成程序。下圖1描繪了一個實際的參考程序和經過訓練的 LM 的完成情況。
該研究訓練了一個現成的 Transformer 模型對數據集執行下一個token預測。經過 64000 個訓練步驟(training step),大約 1.5 個 epoch,最終訓練好的 LM 在測試集上達到了 96.4% 的生成準確率。每 2000 個訓練步驟,該研究會捕獲一個跟蹤數據集。對于每個訓練軌跡數據集,該研究訓練一個線性探測器來預測給定模型狀態的程序狀態。
意義的涌現
研究者對以下假設進行了研究:在訓練語言模型執行下一個token預測的過程中,語義狀態的表示會作為副產品出現在模型狀態中。考慮到最終訓練得到的語言模型達到了96.4%的生成準確性,如果否定這個假設,將與H2一致,即語言模型已經學會「僅僅」利用表面統計來一致生成正確的程序。
為了測試這個假設,研究者訓練了一個線性探測器,將語義狀態從模型狀態中提取出來,作為5個獨立的4-way任務(每個輸入面向一個方向),如第2.2節所述。
意義的涌現與生成準確性呈正相關
圖2展示了主要結果。研究者的第一個觀察結果是,語義內容從隨機猜測的基線表現(25%)開始,并且在訓練過程中顯著增加。這個結果表明,語言模型的隱藏狀態確實包含語義狀態的(線性)編碼,并且關鍵的是,這種意義是在一個純粹用于對文本執行下一個token預測的語言模型中出現的。
將生成準確性與語義內容進行線性回歸,二者在訓練步驟中呈現出意外的強大且具有統計學意義的線性相關性(R2 = 0.968, p < 0.001),即LM合成正確程序的能力的變化幾乎完全由LM的隱藏層的語義內容所解釋。這表明,在本文的實驗設置范圍內,學習建模正確程序的分布與學習程序的意義直接相關,這否定了語言模型無法獲取意義的觀點(H2)。
表征是對未來程序語義的預測
前一節討論了語言模型能否表示其生成的文本的意義。本文的結果對這個問題給出了積極的答案,即語言模型能夠(抽象地)解釋生成的程序。然而,解釋者(interpreter)并不等同于合成者(synthesizer),僅有理解能力是不足以進行生成的。就人類語言的產生而言,廣泛的共識是語言起源于思維中的一種非言語的信息,然后被轉化為反映初始概念的話語(utterance)。研究者假設訓練后的語言模型的生成過程遵循類似的機制,即語言模型的表示編碼了尚未生成的文本的語義。
為了驗證這個假設,他們使用與上述相同的方法訓練了一個線性探測器,來預測從模型狀態中得到的未來語義狀態。需要注意的是,由于他們使用貪婪解碼策略,未來的語義狀態也是確定性的,因此這個任務是明確定義的。
圖3展示了線性探測器在預測未來1步和2步的語義狀態方面的表現(綠段線表示「Semantic (+1)」,綠點線表示「Semantic (+2)」)。與先前的結果類似,探測器的性能從隨機猜測的基線開始,然后隨著訓練顯著提高,并且他們還發現未來狀態的語義內容與生成準確性(藍線)在訓練步驟中呈現出強烈的相關性。將語義內容與生成準確性進行線性回歸分析得到的R2值分別為0.919和0.900,對應于未來1步和2步的語義狀態,兩者的p值均小于0.001。
他們還考慮了這樣一個假設,即模型的表示只編碼了當前的語義狀態,而探測器僅僅是從當前語義狀態預測未來的語義狀態。為了測試這個假設,他們計算了一個最優分類器,將當前程序中的ground truth面向方向映射到未來程序中的4個面向方向之一。
需要注意的是,其中的5個操作中有3個保持了面向方向,并且下一個 token是均勻采樣的。因此他們預期,對于未來1步的情況,預測未來的語義狀態的最優分類器應該通過預測面向方向保持不變來達到60%的準確率。事實上,通過直接擬合測試集,他們發現從當前語義狀態預測未來語義狀態的上限分別為62.2%和40.7%(對應于未來1步和2步的情況)。相比之下,當給定探測器正確預測當前狀態的條件下,探測器在預測未來狀態方面的準確率分別為68.4%和61.0%。
這表明,探測器從模型狀態中提取未來語義狀態的能力不能僅僅通過從當前語義狀態的表示中推斷得出。因此,他們的結果表明,語言模型會學習去表示尚未生成的token的含義,這否定了語言模型無法學習意義的觀點(H2),并且也表明生成過程不僅僅基于純粹的表面統計(H1)。
生成的輸出與訓練分布不同
接下來,研究者通過比較訓練后的語言模型生成的程序分布與訓練集中的程序分布,提供反駁H1的證據。如果H1成立,他們預期兩個分布應該大致相等,因為語言模型只是在重復訓練集中文本的統計相關性。
圖6a顯示了LM生成的程序的平均長度隨時間的變化情況(實線藍色線條),與訓練集中參考程序的平均長度(虛線紅色線條)進行對比。他們發現二者存在統計學上的顯著差異,這表明LM的輸出分布確實與其訓練集中的程序分布不同。這與H1中提到的觀點(即LM只能重復其訓練數據中的統計相關性)相矛盾。
最后,他們還測量了LM在訓練集中的程序上的困惑度隨時間的變化情況。圖6b展示了他們的結果??梢钥吹?,LM從來沒有學會很好地擬合訓練集中程序的分布,這進一步反駁了H1的觀點。這可能是因為在訓練集中隨機抽樣的程序包含了許多無操作指令,而LM更傾向于生成更簡潔的程序。有趣的是,困惑度的急劇增加——當LM超越了模仿階段——似乎導致了生成準確率(和語義內容)的提高。由于程序等價性問題與程序語義密切相關,LM能夠生成簡短且正確的程序表明它確實學到了語義的某個方面。
-
數據
+關注
關注
8文章
7237瀏覽量
90938 -
語言模型
+關注
關注
0文章
558瀏覽量
10649 -
自然語言
+關注
關注
1文章
291瀏覽量
13592
原文標題:有證據了,MIT表明:大型語言模型≠隨機鸚鵡,確實能學到語義
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論