Meta發(fā)布首個(gè)「非參數(shù)化」掩碼語(yǔ)言模型NPM:吊打500倍參數(shù)量的GPT-3
雖然大型語(yǔ)言模型在NLP領(lǐng)域展現(xiàn)出的強(qiáng)大性能十分驚人,但其帶來(lái)的負(fù)面代價(jià)也很?chē)?yán)重,比如訓(xùn)練過(guò)于昂貴,難以更新等。,而且很難處理長(zhǎng)尾知識(shí)。
并且語(yǔ)言模型通常采用在預(yù)測(cè)層采用一個(gè)包含有限詞匯量的softmax層,基本上不會(huì)輸出少見(jiàn)的單詞或短語(yǔ),極大限制了模型的表達(dá)能力。
為了解決模型的長(zhǎng)尾問(wèn)題,最近來(lái)自華盛頓大學(xué)、Meta AI和艾倫人工智能研究所的學(xué)者聯(lián)合提出了首個(gè)「非參數(shù)化掩碼語(yǔ)言模型」(NonParametric Masked language model, NPM),通過(guò)參考語(yǔ)料庫(kù)中每個(gè)短語(yǔ)的非參數(shù)化分布來(lái)代替softmax輸出。
論文鏈接:https://arxiv.org/abs/2212.01349
代碼鏈接:https://github.com/facebookresearch/NPM
NPM可以通過(guò)對(duì)比目標(biāo)(contrastive objective)和批內(nèi)近似于檢索完整語(yǔ)料庫(kù)的方式進(jìn)行有效訓(xùn)練。
研究人員對(duì)9個(gè)封閉式任務(wù)和7個(gè)開(kāi)放式任務(wù)進(jìn)行了zero-shot評(píng)估,包括強(qiáng)調(diào)需要預(yù)測(cè)新事實(shí)或罕見(jiàn)短語(yǔ)的時(shí)空轉(zhuǎn)換和詞級(jí)翻譯任務(wù)。
結(jié)果發(fā)現(xiàn),無(wú)論是否采用檢索和生成的方法,NPM都明顯優(yōu)于較大的參數(shù)模型,比如參數(shù)量高500倍的GPT-3和37倍的OPT 13B性能還強(qiáng)不少,并且NPM在處理罕見(jiàn)模式(詞義或事實(shí))和預(yù)測(cè)罕見(jiàn)或幾乎未見(jiàn)過(guò)的詞(如非拉丁文字)方面尤其出色。
首個(gè)非參數(shù)化語(yǔ)言模型
雖然結(jié)合現(xiàn)有的一些檢索和生成(retrieve-and-generate)的相關(guān)工作可以緩解該問(wèn)題,但這些模型的最終預(yù)測(cè)部分仍然需要一個(gè)softmax層來(lái)預(yù)測(cè)token,沒(méi)有從根本上解決長(zhǎng)尾問(wèn)題。
NPM由一個(gè)編碼器和一個(gè)參考語(yǔ)料庫(kù)組成,編碼器將文本映射成一個(gè)固定大小的向量,然后NPM從中檢索出一個(gè)短語(yǔ)并填入[MASK]。
可以看到,NPM選擇在短語(yǔ)上得到的非參數(shù)化分布,而沒(méi)有使用一個(gè)固定的輸出詞匯softmax作為輸出。
但訓(xùn)練非參數(shù)化模型也帶來(lái)了兩個(gè)關(guān)鍵的問(wèn)題:
1. 在訓(xùn)練過(guò)程中檢索完整的語(yǔ)料庫(kù)是非常耗時(shí)耗力的,研究人員通過(guò)使用完整語(yǔ)料庫(kù)檢索的批內(nèi)近似值來(lái)解決;
2. 在沒(méi)有解碼器的情況下學(xué)習(xí)預(yù)測(cè)任意長(zhǎng)度的短語(yǔ)是很困難的,研究人員通過(guò)擴(kuò)展span masking和短語(yǔ)級(jí)別的對(duì)比目標(biāo)來(lái)解決。
總之,NPM完全刪除了輸出詞匯的softmax,通過(guò)預(yù)測(cè)任意數(shù)量的n-gram,實(shí)現(xiàn)了有效的無(wú)界輸出空間。
由此產(chǎn)生的模型可以預(yù)測(cè)「極其罕見(jiàn)」甚至是「完全未見(jiàn)過(guò)」的單詞(如韓語(yǔ)單詞),并可以有效地支撐無(wú)限的詞匯量,而現(xiàn)有的模型都無(wú)法做到這一點(diǎn)。
NPM方法
NPM的關(guān)鍵思想是使用編碼器將語(yǔ)料庫(kù)中的所有短語(yǔ)映射到一個(gè)密集的向量空間中。在推理時(shí),當(dāng)給定一個(gè)帶有[MASK]的查詢(xún)后,使用編碼器從語(yǔ)料庫(kù)中找到最近的短語(yǔ)并填入[MASK]。
純編碼器(Encoder-only)模型是一個(gè)很有競(jìng)爭(zhēng)力的表示模型,但現(xiàn)有的純編碼模型無(wú)法進(jìn)行token數(shù)量未知的預(yù)測(cè),使得它們的使用情況在沒(méi)有微調(diào)的情況下受到限制。
NPM通過(guò)檢索一個(gè)短語(yǔ)來(lái)填補(bǔ)[MASK]中的任意數(shù)量的token,從而解決了這個(gè)問(wèn)題。
推理
編碼器將參考語(yǔ)料庫(kù)C中的每個(gè)不同的短語(yǔ)都映射到一個(gè)密集的向量空間中。
在測(cè)試時(shí),編碼器將被masked的查詢(xún)映射到相同的向量空間中,并從C中檢索出短語(yǔ)來(lái)填充[MASK]。
在這里,C不一定要和訓(xùn)練語(yǔ)料庫(kù)一樣,在測(cè)試時(shí)可以被替換或擴(kuò)展,而不需要重新訓(xùn)練編碼器。
在實(shí)踐中,語(yǔ)料庫(kù)中存在大量的短語(yǔ),對(duì)所有的短語(yǔ)進(jìn)行索引是很昂貴的。
比如我們考慮最多有 l 個(gè)token的短語(yǔ)(l≈20),就需要索引 l×|C| 數(shù)量的向量,這可能會(huì)很耗時(shí)。
研究人員對(duì)C中每個(gè)不同的token進(jìn)行索引,從而將索引的大小從l×|C|減少到 |C|,然后在測(cè)試時(shí),通過(guò)對(duì)開(kāi)頭和結(jié)尾分別進(jìn)行k近鄰搜索,對(duì)所有短語(yǔ)的非參數(shù)分布進(jìn)行近似。
比如由4個(gè)BPE token組成的短語(yǔ)Thessaloniki用c1和c4的連接來(lái)表示,分別對(duì)應(yīng)于該短語(yǔ)的開(kāi)始(The)和結(jié)束(iki)。
然后用同一向量空間中的兩個(gè)向量q_start和q_end來(lái)表示一個(gè)查詢(xún),然后用每個(gè)向量來(lái)檢索似是而非的短語(yǔ)的開(kāi)始和結(jié)束,然后再進(jìn)行聚合。
這樣做的前提是開(kāi)始和結(jié)尾的表示足夠好,即q起點(diǎn)足夠接近c(diǎn)1,q終點(diǎn)足夠接近c(diǎn)4,而這一點(diǎn)在訓(xùn)練過(guò)程中已經(jīng)得到確保了。
訓(xùn)練
NPM是在無(wú)標(biāo)簽的文本數(shù)據(jù)上訓(xùn)練的,以確保編碼器將文本映射到一個(gè)良好的密集向量空間。
訓(xùn)練NPM主要有兩個(gè)難題:1)完整的語(yǔ)料庫(kù)檢索會(huì)使訓(xùn)練非常耗時(shí);2)用任意長(zhǎng)度的短語(yǔ)而不非token來(lái)填充[MASK]。
1. 掩碼Masking
片段掩碼(span masking)就是對(duì)長(zhǎng)度從幾何分布中取樣的連續(xù)token進(jìn)行mask。
研究人員對(duì)此進(jìn)行擴(kuò)展:
1)如果某些片段在batch中的其他序列中共同出現(xiàn),再對(duì)其進(jìn)行屏蔽,以保證在訓(xùn)練期間該批次內(nèi)的正例(in-batch positives)。
比如,屏蔽的片段2010、the Seattle Seahawks和to the都在另一個(gè)序列中共同出現(xiàn)。
但對(duì)于「game ,」這個(gè)bigram來(lái)說(shuō)就無(wú)法一起被mask,雖然它們也都出現(xiàn)在兩個(gè)序列中,但它們并沒(méi)有在一起共現(xiàn)。
2)不是用[MASK]來(lái)替換片段中的每個(gè)token,而是用兩個(gè)特殊的token [MASKs][MASKe]來(lái)替換整個(gè)片段。
比如上面的例子中,不論被mask的片段長(zhǎng)度如何,都被替換成[MASKs][MASKe],從而可以獲得每個(gè)片段的起點(diǎn)和終點(diǎn)向量,更方便推理。
2. 訓(xùn)練目標(biāo)
假設(shè)被mask的片段是the Seattle Seahawks,在測(cè)試時(shí),模型應(yīng)該從參考語(yǔ)料庫(kù)的其他序列中檢索出the Seattle Seahawks這一短語(yǔ)。
而在推理階段,模型從[MASKs]和[MASKe]中獲得向量,并利用它們分別從語(yǔ)料庫(kù)中檢索出短語(yǔ)的開(kāi)始和結(jié)束。
因此,訓(xùn)練的目標(biāo)應(yīng)該鼓勵(lì)[MASKs]的向量更接近于the Seattle Seahawks中的the,而與其他token相距較遠(yuǎn),并且不應(yīng)該是任意一個(gè)短語(yǔ)中的the,比如become the first中。
通過(guò)將完整的語(yǔ)料庫(kù)近似為batch中的其他序列來(lái)訓(xùn)練模型來(lái)做到這一點(diǎn),具體來(lái)說(shuō),訓(xùn)練模型從同一batch的其他序列中檢索出the Seattle Seahawks這一片段的起點(diǎn)和終點(diǎn)。
需要注意的是,該mask策略確保每個(gè)被遮蔽的跨度在一個(gè)batch中都有一個(gè)共同出現(xiàn)的片段。
實(shí)驗(yàn)部分
從結(jié)果上看,NPM在zero-shot設(shè)置下比其他基線模型的性能都要強(qiáng)。
在參數(shù)化模型中,RoBERTa取得了最好的性能,出人意料地超過(guò)了包括GPT-3等在內(nèi)的模型,可能是因?yàn)榧兙幋a器模型的雙向性起到了至關(guān)重要的作用,這也表明,因果語(yǔ)言模型可能不是一個(gè)合適的分類(lèi)選擇。
kNN-LM方法在參數(shù)模型中加入了非參數(shù)成分,其性能優(yōu)于其他所有基線。盡管如此,僅僅依靠檢索(kNN)在GPT-2中的表現(xiàn)很差,這表明僅在推理時(shí)使用kNN是有限的。
NPM SINGLE和NPM的表現(xiàn)都明顯優(yōu)于所有基線,在所有數(shù)據(jù)集上都取得了一致的優(yōu)越性能。這表明,即使對(duì)于不明確需要外部知識(shí)的任務(wù),非參數(shù)模型也非常有競(jìng)爭(zhēng)力。
定性分析時(shí)采用RoBERTa和NPM在情感分析任務(wù)時(shí)的預(yù)測(cè)結(jié)果。第一個(gè)例子用便宜表示不貴,第二個(gè)例子用便宜表示質(zhì)量很差。
RoBERTa對(duì)這兩個(gè)例子的預(yù)測(cè)都是正向的,而NPM通過(guò)檢索在與輸入相同的語(yǔ)境中使用cheap的語(yǔ)境,做出了正確的預(yù)測(cè)。
還可以發(fā)現(xiàn),NPM輸出的表征能帶來(lái)更好的詞義消歧。例如,RoBERTa在cheap(廉價(jià))和cheap(質(zhì)量很差)之間分配了一個(gè)很高的相似性分?jǐn)?shù)。
另一方面,NPM成功地在cheap和cheap之間分配了一個(gè)低的相似性分?jǐn)?shù),也表明該非參數(shù)訓(xùn)練與對(duì)比性目標(biāo)是有效的,可以更好地提高表征學(xué)習(xí),而kNN推理這類(lèi)沒(méi)有訓(xùn)練的算法是完全做不到的。
參考資料:https://arxiv.org/abs/2212.01349