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