破除36年前魔咒!Meta推出反向訓練大法消除大模型「逆轉詛咒」
大語言模型的「逆轉詛咒」,被解開了!
這個詛咒在去年9月首次被發現,一時間引起LeCun、Karpathy、馬庫斯等一眾大佬的驚呼。
因為風光無兩、不可一世的大模型竟存在著“阿克琉斯之踵”:一個在「A是B」上訓練的語言模型,并不能正確回答出「B是A」。
比如下面這個例子:在LLM明知道「湯姆·克魯斯的母親是Mary Lee Pfeiffer」的情況下,卻無法答出「Mary Lee Pfeiffer的孩子是湯姆·克魯斯」。
——這可是當時最先進的GPT-4,結果連小孩子都具備的正常邏輯思維,LLM卻做不到。
立于海量的數據之上,記住了幾乎超過所有人類的知識,卻表現得如此呆板,取得了智慧之火,卻永遠被囚禁于這個詛咒之中。
論文地址:https://arxiv.org/pdf/2309.12288v1.pdf
這事一出,全網一片嘩然。
一方面,網友們表示,大模型真傻,真的。單知道「A是B」,卻不知道「B是A」,自己終于保住了作為人類的尊嚴。
而另一方面,研究人員們也開始對此展開研究,快馬加鞭解決這個重大挑戰。
近日,來自Meta FAIR的研究人員推出了反向訓練大法來一舉解決LLM的“逆轉詛咒”。
論文地址:https://arxiv.org/pdf/2403.13799.pdf
研究人員首先觀察到,LLMs從左到右以自回歸的方式進行訓練,——這可能是導致逆轉詛咒的原因。
那么,如果以從右到左的方向來訓練LLM(逆向訓練),就有可能讓模型在反方向上看到事實。
可以將反向文本視為第二語言,通過多任務處理或跨語言預訓練,來利用多個不同的來源。
研究人員考慮了4種反向類型:標記反轉、單詞反轉、實體保留反轉和隨機段反轉。
標記和單詞反轉,通過將序列分別拆分為標記或單詞,并顛倒它們的順序以形成新序列。
實體保留反轉,在序列中查找實體名稱,并在其中保留從左到右的單詞順序,同時進行單詞反轉。
隨機段反轉,將標記化的序列分割成隨機長度的塊,然后保留每個塊內從左到右的順序。
研究人員在1.4B和7B的參數規模上,測試了這些反轉類型的有效性,結果表明,實體保留和隨機分段反向訓練可以減輕逆向詛咒,甚至在某些情況下完全消除它。
此外,研究人員還發現,與標準的從左到右訓練相比,訓練前逆轉的方式使模型的表現有所提高,——所以反向訓練可以作為一種通用的訓練方法。
反向訓練大法
逆向訓練包括獲取具有N個樣本的訓練數據集,并構造反向樣本集REVERSE(x)。
函數REVERSE負責反轉給定的字符串,具體做法如下:
單詞反轉 :每個示例首先被拆分為單詞,然后在單詞級別反轉字符串,用空格將其連接在一起。
實體保留反轉:對給定的訓練樣本運行實體檢測器,將非實體也拆分為單詞。然后將非實體的單詞進行顛倒,而表示實體的單詞保留原有詞序。
隨機段反轉:這里沒有使用實體檢測器,而是嘗試使用均勻采樣,將序列隨機分割成大小為1到k個token之間的句段,然后顛倒這些句段,但保持每個句段內的詞序,之后,這些句段使用特殊標記[REV]連接。
上表給出了在給定字符串上,不同反轉類型的示例。
此時,語言模型仍然從左到右進行訓練,在單詞反轉的情況下,就相當于從右到左預測句子。
逆向訓練涉及對標準和反向示例的訓練,因此訓練token的數量增加了一倍,同時正向和反向訓練樣本都混合在一起。
逆向轉換可以看作是模型必須學習的第二種語言,請注意,在反轉的過程中,事實之間的關系保持不變,模型可以從語法中判斷它是處于正向還是反向語言預測模式。
逆向訓練的另一個角度可以由信息論來解釋:語言建模的目標是學習自然語言的概率分布
反向任務訓練測試
實體對映射
首先創建一個簡單的基于符號數據集,以研究受控環境中的反轉詛咒。
以一對一的方式隨機配對實體a和b,訓練數據包含所有(a→b)映射對,但僅包含一半的(b→a)映射,另一半作為測試數據。
模型必須從訓練數據中推斷規則a→b ? b→a,然后將其推廣到測試數據中的對。
上表展示了符號反向任務的測試準確率(%)。盡管這項任務很簡單,但標準語言模型訓練完全失敗了,這表明僅靠擴展不太可能解決。
相比之下,反向訓練幾乎可以解決兩個單詞實體的問題,但隨著實體變長,其性能會迅速下降。
單詞反轉適用于較短的實體,但對于具有較多單詞的實體,實體保留反轉是必要的。當最大段長度k至少與實體一樣長時,隨機段反轉表現良好。
恢復人名
上表展示了確定人全名的反轉任務,當僅給出出生日期確定一個人的全名時,反轉任務的準確性仍然接近于零,——這是因為在本文采用的實體檢測方法中,日期被視為三個實體,因此在反轉中不會保留它們的順序。
如果將反轉任務簡化為僅確定人的姓氏,則單詞級別的反轉就足夠了。
另一個可能會令人感到驚訝的現象是,實體保留方法可以確定該人的全名,但不能確定該人的姓氏。
這是一個已知的現象:語言模型可能完全無法檢索知識片段的后期標記(比如姓氏)。
現實世界事實
這里作者訓練了一個Llama-2 14億參數模型,在從左到右方向上訓練一個2萬億個token的基線模型。
相比之下,逆向訓練僅使用1萬億token,但使用相同的數據子集在從左到右和從右到左兩個方向上進行訓練,——兩個方向合起來是2萬億個token,在計算資源上做到公平公正。
為了測試對現實世界事實的反轉能力,研究人員使用了一個名人任務,其中包含“諸如某個名人的母親是誰”之類的問題,同時還包含更具挑戰性的反向問題,比如“某個名人的父母的孩子是誰”。
結果如上表所示。研究人員對每個問題的模型進行多次抽樣,如果其中任何一個包含正確答案,則將其視為成功。
一般來說,由于模型在參數數量方面很小,預訓練有限,并且缺乏微調,因此準確性通常相對較低。然而,反向訓練的表現更加優秀。
36年前的預言
1988年,Fodor和Pylyshyn在《認知》刊物上發了一篇關于思維的系統性的文章。
如果你真的理解這個世界,那你就應該能夠理解a相對于b的關系,也能理解b相對于a的關系。
即使是非語言認知生物,也應該能夠做到這一點。