首頁 >科技週邊 >人工智慧 >Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

WBOY
WBOY轉載
2023-04-12 10:13:061100瀏覽

雖然大型語言模型在NLP領域展現出的強大表現十分驚人,但其帶來的負面代價也很嚴重,例如訓練過於昂貴,難以更新等。 ,而且很難處理長尾知識。 

且語言模型通常採用在預測層採用一個包含有限詞彙量的softmax層,基本上不會輸出少見的單字或片語,極大地限制了模型的表達能力。

為了解決模型的長尾問題,最近來自華盛頓大學、Meta AI和艾倫人工智慧研究所的學者聯合提出了首個「非參數化掩碼語言模型」(NonParametric Masked language model, NPM),透過參考語料庫中每個片語的非參數化分佈來取代softmax輸出。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

論文連結:https://arxiv.org/abs/2212.01349

程式碼連結:https://github.com/facebookresearch/NPM

NPM可以透過比較目標(contrastive objective)和批內近似於檢索完整語料庫的方式進行有效訓練。

研究人員對9個封閉式任務和7個開放式任務進行了zero-shot評估,包括強調需要預測新事實或罕見短語的時空轉換和詞級翻譯任務。

結果發現,無論是否採用檢索產生的方法,NPM都明顯優於較大的參數模型,例如參數量高500倍的GPT-3和37倍的OPT 13B性能還強不少,並且NPM在處理罕見模式(詞義或事實)和預測罕見或幾乎未見過的詞(如非拉丁文字)方面尤其出色。

首個非參數化語言模型

雖然結合現有的一些檢索和產生(retrieve-and-generate)的相關工作可以緩解該問題,但這些模型的最終預測部分仍然需要一個softmax層來預測token,沒有從根本解決長尾問題。

NPM由一個編碼器和一個參考語料庫組成,編碼器將文字映射成一個固定大小的向量,然後NPM從中檢索出一個短語並填入[MASK]。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

可以看到,NPM選擇在片語上得到的非參數化分佈,而沒有使用一個固定的輸出詞彙softmax作為輸出。

但訓練非參數化模型也帶來了兩個關鍵的問題:

1. 在訓練過程中檢索完整的語料庫是非常耗時耗力的,研究人員透過使用完整語料庫檢索的批內近似值來解決;

2. 在沒有解碼器的情況下學習預測任意長度的短語是很困難的,研究人員通過擴展span masking和短語級別的對比目標來解決。

總之,NPM完全刪除了輸出詞彙的softmax,透過預測任意數量的n-gram,實現了有效的無界輸出空間。

由此產生的模型可以預測“極其罕見”甚至是“完全未見過”的單字(如韓語單字),並且可以有效地支撐無限的詞彙量,而現有的模型都無法做到這一點。

NPM方法

NPM的關鍵思想是使用編碼器將語料庫中的所有短語映射到一個密集的向量空間。在推理時,當給定一個帶有[MASK]的查詢後,使用編碼器從語料庫中找到最近的短語並填入[MASK]。

純編碼器(Encoder-only)模型是一個很有競爭力的表示模型,但現有的純編碼模型無法進行token數量未知的預測,使得它們的使用情況在沒有微調的情況下受到限制。

NPM透過檢索一個短語來填補[MASK]中的任意數量的token,從而解決了這個問題。

推理

編碼器將參考語料庫C中的每個不同的短語都映射到一個密集的向量空間。

在測試時,編碼器將被masked的查詢映射到相同的向量空間中,並從C中檢索出短語來填充[MASK]。

在這裡,C不一定要和訓練語料庫一樣,在測試時可以被替換或擴展,而不需要重新訓練編碼器。

在實踐中,語料庫中存在大量的短語,並且對所有的短語進行索引是很昂貴的。

例如我們考慮最多有 l 個token的片語(l≈20),就需要索引 l×|C| 數量的向量,這可能會很耗時。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

研究人員對C中每個不同的token進行索引,從而將索引的大小從l×|C|減少到|C|,然後在測試時,透過對開頭和結尾分別進行k近鄰搜索,對所有短語的非參數分佈進行近似。

例如由4個BPE token組成的短語Thessaloniki以c1和c4的連接來表示,分別對應於該短語的開始(The)和結束(iki)。

然後用同一向量空間中的兩個向量q_start和q_end來表示一個查詢,然後用每個向量來檢索似是而非的短語的開始和結束,然後再進行聚合。

這樣做的前提是開始和結尾的表示足夠好,即q起點足夠接近c1,q終點足夠接近c4,而這一點在訓練過程中已經得到確保了。

訓練

NPM是在無標籤的文字資料上訓練的,以確保編碼器將文字對應到一個良好的密集向量空間。

訓練NPM主要有兩個難題:1)完整的語料庫檢索會使訓練非常耗時;2)用任意長度的短語而不非token來填充[MASK]。

1. 遮罩Masking

片段遮罩(span masking)就是長度從幾何分佈取樣的連續token進行mask。

研究人員對此進行擴展:

1)如果某些片段在batch中的其他序列中共同出現,再對其進行屏蔽,以保證在訓練期間該批次內的正例(in-batch positives)。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

例如,屏蔽的片段2010、the Seattle Seahawks和to the都在另一個序列中共同出現。

但對於「game ,」這個bigram來說就無法一起被mask,雖然它們也都出現在兩個序列中,但它們並沒有在一起共現。

2)不是用[MASK]來取代片段中的每個token,而是用兩個特殊的token [MASKs][MASKe]來取代整個片段。

例如上面的例子中,不論被mask的片段長度如何,都被替換成[MASKs][MASKe],從而可以獲得每個片段的起點和終點向量,更方便推理。

2. 訓練目標

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

#假設被mask的片段是the Seattle Seahawks,在測試時,模型應該從參考語料庫的其他序列中檢索出the Seattle Seahawks這一短語。

而在推理階段,模型從[MASKs]和[MASKe]中獲得向量,並利用它們分別從語料庫中檢索出短語的開始和結束。

因此,訓練的目標應該鼓勵[MASKs]的向量更接近於the Seattle Seahawks中的the,而與其他token相距較遠,並且不應該是任意一個短語中的the,比如become the first中。

透過將完整的語料庫近似為batch中的其他序列來訓練模型來做到這一點,具體來說,訓練模型從同一batch的其他序列中檢索出the Seattle Seahawks這一片段的起點和終點。

要注意的是,該mask策略確保每個被遮蔽的跨度在一個batch中都有一個共同出現的片段。

實驗部分

從結果來看,NPM在zero-shot設定下比其他基準模型的表現都要強。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

在參數化模型中,RoBERTa取得了最佳的效能,出乎意料地超過了包含GPT-3等的模型,可能是因為純編碼器模型的雙向性起到了至關重要的作用,這也表明,因果語言模型可能不是一個合適的分類選擇。

kNN-LM方法在參數模型中加入了非參數成分,其性能優於其他所有基線。儘管如此,僅依靠檢索(kNN)在GPT-2中的表現很差,這表明僅在推理時使用kNN是有限的。

NPM SINGLE和NPM的表現都明顯優於所有基線,在所有資料集上都取得了一致的優越性能。這表明,即使對於不明確需要外部知識的任務,非參數模型也非常有競爭力。

定性分析時採用RoBERTa和NPM在情緒分析任務時的預測結果。第一個例子用便宜表示不貴,第二個例子用便宜表示品質很差。

Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3

RoBERTa對這兩個例子的預測都是正向的,而NPM透過檢索在與輸入相同的語境中使用cheap的語境,做出了正確的預測。

也可以發現,NPM輸出的表徵能帶來更好的字義消歧。例如,RoBERTa在cheap(便宜)和cheap(品質很差)之間分配了一個很高的相似性分數。

另一方面,NPM成功地在cheap和cheap之間分配了一個低的相似性分數,也表明該非參數訓練與對比性目標是有效的,可以更好地提高表徵學習,而kNN推理這類沒有訓練的演算法是完全做不到的。

參考資料:https://arxiv.org/abs/2212.01349

以上是Meta發布首個「非參數化」遮罩語言模型NPM:吊打500倍參數量的GPT-3的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除