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