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