?GPT-3好“搭檔”:這種方法緩解模型退化,讓輸出更自然
文本生成對于許多自然語言處理應(yīng)用來說都是非常重要的。
但神經(jīng)語言模型的基于最大化的解碼方法(如 beam search)往往導(dǎo)致退化解,即生成的文本是不自然的,并且常常包含不必要的重復(fù)?,F(xiàn)有的方法通過采樣或修改訓(xùn)練目標(biāo)來引入隨機(jī)性,以降低某些 token 的概率(例如,非似然訓(xùn)練)。然而,它們往往導(dǎo)致解決方案缺乏連貫性。
近日,來自劍橋大學(xué)、香港中文大學(xué)、騰訊 AI 實(shí)驗(yàn)室和 DeepMind 的科學(xué)家們證明,自然語言生成模型出現(xiàn)退化現(xiàn)象的一個(gè)潛在原因是 token 的分布式表示向量存在各向異性。
他們進(jìn)一步提出了一個(gè)基于對比學(xué)習(xí)的自然語言生成框架。在兩種語言的三個(gè)基準(zhǔn)測試上進(jìn)行的大量實(shí)驗(yàn)和分析表明,該方法在人工評估和自動(dòng)評估兩個(gè)方面上優(yōu)于目前最先進(jìn)的文本生成方法。
研究動(dòng)機(jī)與主要研究內(nèi)容

圖1. Token 表示向量的 cosine 相似度矩陣
這項(xiàng)研究中,研究團(tuán)隊(duì)發(fā)現(xiàn),神經(jīng)語言模型的退化源于 token 表示向量的各向異性分布,即它們的表示向量駐留在整個(gè)空間的一個(gè)狹窄子集中。
圖1(a)展示了 token 表示向量的 cosine 相似度矩陣,其中表示向量來源于 GPT-2 的最后一個(gè)隱層的輸出。研究團(tuán)隊(duì)看到句子中 token 之間的余弦相似度超過 0.95,這意味著這些表征彼此十分接近。
在理想情況下,模型的 token 表示應(yīng)遵循各向同性分布,即 token 相似度矩陣應(yīng)是稀疏的,不同 token 的表示應(yīng)是有區(qū)別的,如圖2(b)所示。在解碼過程中,為了避免模型退化,需要保留生成文本的 token 相似矩陣的稀疏性。
基于上述動(dòng)機(jī),研究團(tuán)隊(duì)提出了 SimCTG(一個(gè)簡單的神經(jīng)文本生成對比框架),該框架鼓勵(lì)模型學(xué)習(xí)有區(qū)分度的、各向同性的 token 表示。
對比搜索背后的關(guān)鍵直覺是:
(1)在每個(gè)解碼步驟,輸出應(yīng)該從組中選擇最有可能的候選詞的預(yù)測模型,以更好地維護(hù)生成的文本之間的語義一致性;
(2)token 相似矩陣的稀疏性應(yīng)該保持以避免退化。
主要方法
- 對比訓(xùn)練
 
研究團(tuán)隊(duì)的目標(biāo)是鼓勵(lì)語言模型學(xué)習(xí)有區(qū)別且各向同性的 token 表示。為此,在語言模型的訓(xùn)練中引入了一個(gè)對比損失函數(shù) LCL。給定任意一個(gè)變長序列 x,該對比損失函數(shù)定義為:

其中,ρ 是預(yù)先設(shè)定的 margin,hxi 是模型輸出的 xi 的表示向量。相似度函數(shù) s 計(jì)算任意兩個(gè)表示向量之間的余弦相似度:

可以想象,通過訓(xùn)練上述對比損失函數(shù),不同 token 的表示間的距離將被拉開。因此,可以得到一個(gè)可分的、各向同性的模型表示空間。最終的總損失函數(shù)為:

- 對比搜索
 
研究團(tuán)隊(duì)提出一種新的解碼方法:對比搜索(contrastive search)。每一步解碼時(shí),(1)模型從最可能的候選集合中選出一個(gè)作為輸出,(2)產(chǎn)生的輸出應(yīng)當(dāng)與前面已經(jīng)生成的內(nèi)容足夠不同。這種方式下生成的文本在保持與前文的語義一致性的同時(shí)還能避免模型退化。具體來說,輸出 xt 的生成滿足:

其中 V(k) 是候選詞集合,k 通常取 3 到 10。上式的第一項(xiàng)代表模型對 v 的支持度 v(model confidence),是模型估計(jì)的候選詞 v 為下一個(gè)詞的概率。第二項(xiàng)是對模型退化的懲罰項(xiàng)(degeneration penalty)是下一個(gè)詞 v 與前面已生成的詞的相似度最大值。α 是超參數(shù),負(fù)責(zé)調(diào)節(jié)兩項(xiàng)損失之間的平衡。當(dāng) α=0 時(shí),解碼方法退化到貪婪搜索。
效率分析:該方法可以有效地實(shí)現(xiàn)對比搜索。所需的額外計(jì)算是退化罰的計(jì)算,該計(jì)算可以通過簡單的矩陣乘法來實(shí)現(xiàn)。后文將證明,對比搜索的譯碼速度優(yōu)于或可與其他廣泛應(yīng)用的譯碼方法相媲美。
文本生成
首先在開放式文本生成任務(wù)(open-ended document generation)上評價(jià)研究團(tuán)隊(duì)所提出的新方法。
模型和基線 本文提出的方法與模型結(jié)構(gòu)無關(guān),因此可以應(yīng)用于任何生成模型。在這項(xiàng)實(shí)驗(yàn)中,他們在具有代表性的 GPT-2 模型上評估了所提出的方法。
具體來說,研究團(tuán)隊(duì)在評估基準(zhǔn)(詳細(xì)如下)上使用提出的目標(biāo) LSimCTG 對 GPT-2 進(jìn)行了調(diào)優(yōu),并使用不同的解碼方法生成連續(xù)文本。使用基礎(chǔ)模型(117 M 參數(shù))進(jìn)行實(shí)驗(yàn),該模型由 12 個(gè) Transformer 層和 12 個(gè) attention head 組成,將本方法與兩個(gè)強(qiáng)基線方法進(jìn)行比較:
(1)GPT-2 在標(biāo)準(zhǔn) MLE 損失函數(shù)上微調(diào);(2)利用非似然目標(biāo)函數(shù)微調(diào)。研究團(tuán)隊(duì)的實(shí)現(xiàn)基于 Huggingface 庫(Wolf 等人,2019)。
基準(zhǔn)數(shù)據(jù)集 研究團(tuán)隊(duì)在 Wikitext-103 數(shù)據(jù)集(Merity 等人, 2017)上進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集包含了一個(gè)包含超過 1 億單詞。Wikitext-103 是一個(gè)文檔級數(shù)據(jù)集,已被廣泛用于大規(guī)模語言建模的評估。
評價(jià)指標(biāo)
研究團(tuán)隊(duì)從兩個(gè)方面進(jìn)行評價(jià):
(1)語言建模質(zhì)量,衡量模型的內(nèi)在質(zhì)量;
(2)生成質(zhì)量,用來衡量生成文本的質(zhì)量。
l 語言建模質(zhì)量
n 困惑度
n 預(yù)測準(zhǔn)確率
n 預(yù)測重復(fù)率
l 文本生成質(zhì)量
n 生成重復(fù)度
n 多樣性
nMAUVE(一種度量機(jī)器生成文本與人類生成文本間相近程度的指標(biāo);MAUVE 越高,機(jī)器文本越像人類文本)
n 語義連貫性
n 生成文本的困惑度
實(shí)驗(yàn)結(jié)果

表1. 多種方法在 Wikitext-103 數(shù)據(jù)集上的測試結(jié)果
表1 展示了 Wikitext-103 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。
語言建模質(zhì)量 從結(jié)果來看,SimCTG 獲得了最好的困惑度和下一個(gè) token 預(yù)測準(zhǔn)確率。因?yàn)槠涫褂昧烁袇^(qū)分度的分布式表示,SimCTG 在進(jìn)行下一個(gè) token 預(yù)測時(shí)更不容易混淆,從而提高了模型性能。在 rep 和 wrep 度量上,非似然模型產(chǎn)生了最好的結(jié)果,但代價(jià)是復(fù)雜性和下一個(gè) token 預(yù)測準(zhǔn)確性方面的性能下降。
文本生成質(zhì)量
首先,在 rep-n 和多樣性指標(biāo)上,SimCTG+對比搜索獲得了最好的性能,表明它最好地解決了模型退化問題。其次,MAUVE 分?jǐn)?shù)表明 SimCTG+對比搜索生成的文本在令牌分布方面與人類編寫的文本最接近。第三,在所有方法中,SimCTG+對比搜索是唯一一種一致性得分在 0.6 以上的方法,表明該方法生成的文本質(zhì)量高,且相對于前綴而言語義一致。最后,gen-ppl 度量也驗(yàn)證了 SimCTG+對比搜索的優(yōu)越性,因?yàn)榕c其他方法相比,它獲得了明顯更好的生成困惑度。
此外,從 MLE 和 Unlikelihood 基線的結(jié)果來看,對比搜索仍然比貪婪搜索和 beam 搜索帶來了額外的性能提升。然而,對比訓(xùn)練的性能提高仍然滯后于 SimCTG,這說明了對比訓(xùn)練的必要性。一個(gè)可能的原因是,沒有對比損失 LCL,MLE 或 unlikelihood 訓(xùn)練出來的 token 表示不具備充分的可區(qū)分性。因此,不同候選對象的退化懲罰不易區(qū)分,輸出的選擇受模型置信度的影響,使得對比搜索的有效性降低。
人工評價(jià)
研究團(tuán)隊(duì)還通過內(nèi)部評分平臺(tái),在高英語水平學(xué)生的幫助下進(jìn)行了人工評價(jià)。所有生成文本和真實(shí)的后文放在一起隨機(jī)打亂,然后由 5 個(gè)人類評分者評估,最終產(chǎn)生總共 9000 個(gè)標(biāo)注樣本。評估遵循李克特 5 點(diǎn)量表(1、2、3、4 或 5),從以下三個(gè)方面進(jìn)行打分:
- 連貫性:生成的文本是否與前文在語義上保持一致
 - 流暢性:生成的文本是否易讀
 - 信息量:生成的文本是否多樣,是否包含有趣的內(nèi)容
 

表2. 文本生成的人工評價(jià)
表2 給出了人工評價(jià)結(jié)果,其中第一行顯說明了人類評價(jià)能夠很好的發(fā)現(xiàn)參考文本。首先,研究團(tuán)隊(duì)發(fā)現(xiàn)直接使用 MLE 或 Unlikelihood 模型進(jìn)行對比搜索并不能得到滿意的結(jié)果。這是由于它們表示空間的各向異性。第二,Unlikelihood 模型的一致性得分明顯低于 MLE 和 SimCTG,表明其產(chǎn)生的結(jié)果最不可能,這從表1 的 generation perplexity(gen-ppl)中也可以看出。此外,SimCTG +對比搜索結(jié)果在一致性和流暢性方面明顯優(yōu)于不同模型的核抽樣。
最后,SimCTG-large +對比搜索獲得了全面的最佳性能,甚至在流暢度指標(biāo)上與人類書寫的文本表現(xiàn)相當(dāng)。這揭示了該方法對于大型模型的通用性,未來的工作可以集中于將其擴(kuò)展到包含超過數(shù)十億參數(shù)的模型,如 GPT-3。
開放式對話系統(tǒng)
為了測試這個(gè)方法在不同任務(wù)和語言中的通用性,本文還在開放域?qū)υ捝扇蝿?wù)中評估了研方法。在這個(gè)任務(wù)中,給定一個(gè)多回合對話上下文(每個(gè)回合都是一個(gè)用戶的話語),要求模型生成一個(gè)語義上與上下文一致的適當(dāng)?shù)捻憫?yīng)。在這里,對話語境被視為前文。
基線模型和基準(zhǔn)測試集 研究在中文和英文兩種語言的兩個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。中國數(shù)據(jù)集方面,使用 LCCC 數(shù)據(jù)集(Wang 等人,2020)。英語數(shù)據(jù)集方面,則使用 DailyDialog 數(shù)據(jù)集。
研究團(tuán)隊(duì)比較了通過 SimCTG 和 MLE 微調(diào)的 GPT-2 模型。具體來說,對于中文基準(zhǔn)數(shù)據(jù)集,使用了一個(gè)公開可用的中文 GPT-2(Zhao 等人,2019)。在訓(xùn)練期間,使用 128 作為 batch size,并將訓(xùn)練樣本截?cái)酁樽畲箝L度 256 個(gè) token。在 LCCC 數(shù)據(jù)集上,對模型進(jìn)行 40k 步的訓(xùn)練(即微調(diào))。對于 DailyDialog 數(shù)據(jù)集,由于其數(shù)據(jù)集較小,將模型訓(xùn)練 5k 步。優(yōu)化方面,使用 Adam 優(yōu)化器和 2e-5 的學(xué)習(xí)率。
模型評價(jià) 研究團(tuán)隊(duì)依靠人工評價(jià)來衡量模型的性能,從測試集中隨機(jī)選取了 200 個(gè)對話上下文,請 5 位標(biāo)注者從三個(gè)維度:連貫性、流暢性和(3)信息量,分別進(jìn)行打分。分?jǐn)?shù)遵循李克特 5 分量表(1、2、3、4 或 5)。

表3. 開放式對話的人工評價(jià)
表3 展示了開放式對話的人工評價(jià)結(jié)果。在這兩個(gè)數(shù)據(jù)集上, SimCTG +對比搜索在各種指標(biāo)上顯著優(yōu)于其他方法,這表明該方法可推廣到不同的語言和任務(wù)上。值得強(qiáng)調(diào)的是,在 LCCC 基準(zhǔn)測試中,SimCTG +對比搜索在流暢度指標(biāo)上的表現(xiàn)出人意料地優(yōu)于人類,而在連貫性和信息量指標(biāo)上的表現(xiàn)也相當(dāng)不錯(cuò)。
并且,即使不進(jìn)行對比訓(xùn)練,MLE 模型在使用對比搜索時(shí)的性能也顯著提高。這是由于漢語語言模型的固有屬性,MLE 目標(biāo)已經(jīng)可以產(chǎn)生一個(gè)表現(xiàn)出高度各向同性的表示空間,使得對比搜索可以直接應(yīng)用。這一發(fā)現(xiàn)尤其具有吸引力,因?yàn)樗沂玖藢Ρ人阉髟诂F(xiàn)成語言模型(即不進(jìn)行對比訓(xùn)練)上的潛在適用性,適用于某些語言,如漢語。
總結(jié)
這項(xiàng)研究中,作者們證明了神經(jīng)語言模型的退化源于它們的 token 表示的各向異性性質(zhì),并提出了一種新的方法——SimCTG,用于訓(xùn)練語言模型,使其獲得一個(gè)各向同性且有區(qū)分度的表示空間。此外,研究還介紹了一種新的解碼方法——對比搜索,該方法與本文所提出的 SimCTG 目標(biāo)一致。基于在兩種語言的三個(gè)基準(zhǔn)測試集上進(jìn)行的廣泛實(shí)驗(yàn)和分析,自動(dòng)和人工評價(jià)都表明了,本文所提的方法大大削弱了模型退化程度,顯著優(yōu)于當(dāng)前最先進(jìn)的文本生成方法。















 
 
 












 
 
 
 