NLP 論文領(lǐng)讀|無(wú)參數(shù)機(jī)器翻譯遇上對(duì)比學(xué)習(xí):效率和性能我全都要!

歡迎關(guān)注「瀾舟論文領(lǐng)讀」專欄!關(guān)注“瀾舟科技”公眾號(hào)探索更多 NLP 前沿論文!
本期分享者:付宇
瀾舟科技算法研究實(shí)習(xí)生,天津大學(xué)碩士二年級(jí),研究方向?yàn)闄z索增強(qiáng)機(jī)器翻譯、文本摘要。郵箱:fuyu_1998@tju.edu.cn
寫在前面
檢索式增強(qiáng)在各種自然語(yǔ)言處理任務(wù)中被廣泛應(yīng)用,其主要目的是基于一定的檢索范式來(lái)利用現(xiàn)存數(shù)據(jù),影響模型最終得到的結(jié)果,從而降低模型參數(shù)的負(fù)擔(dān)。之前瀾舟公眾號(hào)已經(jīng)發(fā)布了一篇相關(guān)的論文領(lǐng)讀《別再第四范式:看看新熱點(diǎn)檢索增強(qiáng)怎么做文本生成!》對(duì)檢索增強(qiáng)的任務(wù)進(jìn)行了概述。本文我們聚焦在機(jī)器翻譯領(lǐng)域,介紹在機(jī)器翻譯中最新的利用檢索來(lái)進(jìn)行增強(qiáng)的范式!
論文標(biāo)題
Efficient Cluster-Based k-Nearset-Neighbor Machine Translation
論文作者
Dexin Wang, Kai Fan, Boxing Chen, Deyi Xiong
論文單位
天津大學(xué),阿里巴巴達(dá)摩院
論文鏈接:
https://aclanthology.org/2022.acl-long.154/
KNN 背景介紹
?

基于 KNN 的檢索式增強(qiáng)首先在 Language Model 上被提出 [1],在 2021 的 ICLR 文章 [2] 中,首先將 KNN 增強(qiáng)的方法應(yīng)用到了機(jī)器翻譯上,?通過 KNN 的詞級(jí)別的檢索和融合,能夠在不進(jìn)行特定領(lǐng)域訓(xùn)練的前提下,有效提高模型在領(lǐng)域數(shù)據(jù)集上的效果。
其包含兩個(gè)主要的步驟:首先是創(chuàng)建數(shù)據(jù)庫(kù)(Datastore),也就是使用基礎(chǔ)模型來(lái)進(jìn)行正向傳播,利用在解碼時(shí)候映射到詞表前的特征和對(duì)應(yīng)的目標(biāo)詞作為鍵值對(duì)存儲(chǔ)在 Datastore 中,對(duì)應(yīng)圖 1 中 Datastore 的 Representation 和 Target。正式翻譯時(shí),在每個(gè)具體的解碼步驟中,使用相同位置的特征,從 Datastore 中進(jìn)行向量檢索,使用檢索的結(jié)果以及對(duì)應(yīng)的距離(Distances),結(jié)合溫度超參數(shù)來(lái)計(jì)算得到最終的概率(對(duì)應(yīng)公式 1),將得到的概率作為目標(biāo)詞概率按照一定比例融合到原始模型輸出詞表的概率分布上(對(duì)應(yīng)公式 2)。

其中?N?表示在 Datastore 中進(jìn)行向量檢索得到的 N 個(gè)鍵值對(duì),?T?表示溫度超參數(shù),代表指示函數(shù),表示只在對(duì)應(yīng)滿足條件的位置添加概率。

其中?λ?是比例超參數(shù),是上面介紹的 kNN 檢索過程計(jì)算得到的對(duì)應(yīng)概率,也就是對(duì)應(yīng)公式 1,
表示基礎(chǔ)模型得到的詞表上的概率分布。
研究動(dòng)機(jī)
雖然 2021 的 ICLR 文章 [2] 在實(shí)驗(yàn)部分進(jìn)行了不同領(lǐng)域的實(shí)驗(yàn),并且得到了良好的效果,展現(xiàn)出來(lái)了 KNN 無(wú)參數(shù)機(jī)器翻譯在實(shí)際應(yīng)用上的前景,但是在實(shí)際應(yīng)用中存在兩個(gè)主要的問題:
1. 存儲(chǔ)大小。?對(duì)于 KNN 無(wú)參數(shù)機(jī)器翻譯而言,在創(chuàng)建 Datastore 的時(shí)候,使用詞以及對(duì)應(yīng)的特征來(lái)作為存儲(chǔ)的鍵值對(duì),最終的 Datastore 的大小跟詞的數(shù)量以及特征的維度是正相關(guān)的。
2. 時(shí)間延遲?。?因?yàn)?KNN 的向量檢索是在每個(gè)解碼步驟中進(jìn)行的,隨著 Datastore 的增大,向量檢索的延遲會(huì)嚴(yán)重影響最終整體翻譯的速度。
因此,在《Efficient Cluster-Based k-Nearset-Neighbor Machine Translation》這篇論文中,作者首先給出了一個(gè)在領(lǐng)域數(shù)據(jù)集上原始的機(jī)器翻譯和 KNN 機(jī)器翻譯的速度對(duì)比,其中 MT 表示的是原始機(jī)器翻譯模型,AK-MT [3] 是 KNN-MT 的一個(gè)變種,也是該論文的 Base 模型。上述的兩個(gè)主要的問題都與 Datastore 的大小有著密切的關(guān)系,作者基于對(duì)特征的可視化分析,提出了兩個(gè)不同方向改進(jìn):
1. 特征維度。?使用一個(gè)額外的網(wǎng)絡(luò)(Compact Network)來(lái)對(duì)模型的特征進(jìn)行降維。并且基于不同的語(yǔ)義單元應(yīng)該互相不重合的假設(shè)下,使用對(duì)比學(xué)習(xí)的方法來(lái)在降維的同時(shí)對(duì)不同的語(yǔ)義單元進(jìn)行分割,增強(qiáng)向量檢索的準(zhǔn)確度。
2. 詞數(shù)量。?使用一個(gè)剪枝策略來(lái)對(duì) Datastore 中冗余的部分進(jìn)行修剪從而降低 Datastore 的大小,進(jìn)一步提升翻譯的速度。

下面詳細(xì)介紹該論文提出的兩個(gè)方法。
基于聚類的特征維度壓縮
在 KNN 機(jī)器翻譯研究中使用的原始模型的特征維度通常是 1024 維,并且是在通用的數(shù)據(jù)上訓(xùn)練得到的模型。因此模型是缺少領(lǐng)域相關(guān)的知識(shí)的,并且高維語(yǔ)義空間下,向量是稀疏的并且?guī)в性肼暋J褂脗鹘y(tǒng)的降維方法(比如 PCA),在相關(guān)的研究中 [4] 中被證明效果比較差,對(duì)于 1024 維而言,在保證性能的前提下,最多只能夠降低到 512 維。
?在這個(gè)部分,基于不同的語(yǔ)義單元以及對(duì)比學(xué)習(xí)的方法,作者不僅對(duì)特征維度進(jìn)行進(jìn)一步的壓縮(1024 維 -- 64 維),而且進(jìn)一步提升了領(lǐng)域數(shù)據(jù)集上的性能。具體主要分為兩個(gè)步驟:

1. 形成基礎(chǔ)的語(yǔ)義單元。?在這里引入了一個(gè)概念——Cluster Family。其表示的就是在 Datastore 中所有相同的目標(biāo)詞的鍵值對(duì)集合。對(duì)于一個(gè) Cluster Family,使用傳統(tǒng)的聚類方法來(lái)形成若干個(gè)簇(Cluster),使用得到的簇來(lái)作為最終的語(yǔ)義單元,體現(xiàn)在圖 3 中的就是 Token A 和 Token B 分別形成了兩個(gè)不同的簇,也就是得到四個(gè)基礎(chǔ)語(yǔ)義單元。從圖 3 中也可以看到,不同的簇之間可能是會(huì)存在重疊的部分,因此就需要下面的第二個(gè)步驟。
2. 對(duì)比訓(xùn)練。?不同的語(yǔ)義單元應(yīng)該是互相不重合,因?yàn)橹睾蠒?huì)導(dǎo)致在檢索時(shí)候的不準(zhǔn)確問題,從而影響最終的翻譯性能。具體的,在這里使用了兩種不同模式的對(duì)比學(xué)習(xí) loss,來(lái)對(duì)壓縮后的特征進(jìn)行訓(xùn)練。分別為:Triplet Noise-Contrastive Estimation (NCE) 和 Trplet Distance Ranking(DR),其中前者是使用一個(gè)額外的線性層來(lái)轉(zhuǎn)成了一個(gè)分類任務(wù),而后者是直接使用壓縮后的特征來(lái)計(jì)算 L2 距離進(jìn)行排序。
在對(duì)比學(xué)習(xí)的訓(xùn)練中,錨點(diǎn)和正例是從同一個(gè)簇中獲得,而負(fù)例是從不同目標(biāo)詞的簇中獲得。另外還有一個(gè)額外的 Word Prediction Loss(WP),是為了將語(yǔ)言學(xué)的信息融入到訓(xùn)練壓縮特征的網(wǎng)絡(luò)中。
從圖 3?中可以看到,Compact Network 主要分為兩個(gè)部分,也分別對(duì)應(yīng)兩個(gè)不同的作用,其中是特征壓縮層,用來(lái)對(duì)特征的維度進(jìn)行壓縮。
是對(duì)比學(xué)習(xí)層,用來(lái)適應(yīng) NCE 的訓(xùn)練需要。特別的,訓(xùn)練 NCE 的?
?的輸出維度是 1,訓(xùn)練 WP 的
??的輸出維度是目標(biāo)語(yǔ)言的詞表大小,訓(xùn)練 DR 的時(shí)候不需要
???,因?yàn)樗侵苯訉?duì)壓縮后的特征進(jìn)行操作。
基于聚類的數(shù)據(jù)庫(kù)剪枝
除了特征以外,詞的數(shù)量是另一個(gè)影響 Datastore 大小,進(jìn)而影響最終翻譯速度的重要因素。針對(duì) KNN 的具體過程,一個(gè)直觀的動(dòng)機(jī)就是:在具有相同目標(biāo)詞的情況下,如果對(duì)應(yīng)特征之間的區(qū)分度足夠小,那么是可以視為冗余部分并且進(jìn)行刪除的。作者從統(tǒng)計(jì)機(jī)器翻譯中短語(yǔ)級(jí)別的剪枝策略更有效這一結(jié)果得到啟發(fā),設(shè)計(jì)了一種基于 N-Gram 的剪枝策略。
首先定義了一個(gè)具體的衡量標(biāo)準(zhǔn)——翻譯代價(jià)(Translation Cost)?。具體的,針對(duì)某一個(gè)目標(biāo)詞,其翻譯代價(jià)就是在這個(gè)目標(biāo)詞的來(lái)源語(yǔ)料中,以這個(gè)目標(biāo)詞作為結(jié)束詞的 N-Gram 的困惑度,為了更好衡量翻譯代價(jià),使用 1 到 N 的 N-Gram 中的最低困惑度作為最終的翻譯代價(jià)。

如圖 4 中,對(duì)于 Datastore 中的目標(biāo)詞 “man”來(lái)說(shuō),第一句和第二句得到的鍵值對(duì)相對(duì)而言就是冗余。在得到 Datastore 中所有目標(biāo)詞的翻譯代價(jià)以后,在目標(biāo)詞的內(nèi)部根據(jù)翻譯代價(jià)來(lái)進(jìn)行聚類,并且在剪枝的時(shí)候?qū)λ械玫降拇馗鶕?jù)預(yù)設(shè)的比例進(jìn)行隨機(jī)采樣,最終得到剪枝以后的 Datastore。
實(shí)驗(yàn)設(shè)置
論文中使用了 5 個(gè)不同的領(lǐng)域數(shù)據(jù)集分別為 IT、Koran、Medical、Law 和 Subtitles。其中前四個(gè)數(shù)據(jù)集是 Baseline 論文中使用的數(shù)據(jù)集,后者是包含了更多的數(shù)據(jù)用以表現(xiàn)剪枝的性能。對(duì)于特征維度也就是的輸出大小,實(shí)驗(yàn)中使用 IT 數(shù)據(jù)集在 [16, 32, 64, 128] 中進(jìn)行搜索,并且最終確定為 64。剪枝策略中的 N-Gram 中的 1-N 設(shè)置為 1-2。
特征維度壓縮性能
首先對(duì)論文中提出的不同損失和錨點(diǎn)選擇方法進(jìn)行了組合,在 IT 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。其中 DY 代表隨機(jī)選擇簇中一個(gè)點(diǎn),ST 表示選擇簇中心作為固定的錨點(diǎn)。CL 代表在不同的 Cluster 間選擇負(fù)例進(jìn)行對(duì)比學(xué)習(xí)的訓(xùn)練,而不是把負(fù)例的選擇約束在不同 Cluster Family 上的簇中。
值得注意的是,傳統(tǒng)的降維方法(PCA & SVD)在性能上都有所降低。在三個(gè) Loss 中,NCE 的效果表現(xiàn)最好,可能的原因是 NCE 的參數(shù)相較于 WP 來(lái)說(shuō)更少,在使用少量驗(yàn)證集訓(xùn)練的情況下,能夠得到更好的結(jié)果。而 DR 性能差在于本身得到的特征已經(jīng)是訓(xùn)練好模型上的結(jié)果,最小化距離的約束可能過于強(qiáng)硬。

在不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖 6 所示,基本的設(shè)置跟圖 5 中最優(yōu)設(shè)置一致。在不同數(shù)據(jù)集上均能夠得到更好效果。并且為了測(cè)試訓(xùn)練的 Compact Network 的泛化能力,作者使用了一個(gè)大規(guī)模的通用語(yǔ)料庫(kù) Wikimatrix Corpus 來(lái)訓(xùn)練 Compact Network,然后直接在四個(gè)數(shù)據(jù)集上進(jìn)行測(cè)試,可以看到在整體上得到的結(jié)果依舊是較好的。

對(duì)于 Compact Network 降維后的特征進(jìn)行可視化,結(jié)果如圖 7 所示,隨機(jī)選擇 10 個(gè)目標(biāo)詞來(lái)可視化,左邊是原始的特征,右邊是降維以后的特征??梢钥吹接疫叢煌c(diǎn)之間的聚類效應(yīng)更加的明顯,證明了對(duì)比學(xué)習(xí)在降維的時(shí)候確實(shí)起到了將不同簇分割的效果,驗(yàn)證了所提方法的有效性。

剪枝策略性能

在這個(gè)部分進(jìn)行的是剪枝方法的實(shí)驗(yàn),圖 8 中給出了其他四種不同的簡(jiǎn)單剪枝方法和本文提出的方法在四個(gè)領(lǐng)域數(shù)據(jù)集上的效果。其中 SP 表示根據(jù)與聚類中心的距離來(lái)進(jìn)行剪枝,LTP 和 HTP 分別代表對(duì)翻譯中生成概率低和高的部分進(jìn)行剪枝,RP 表示使用隨機(jī)均勻采樣的方法來(lái)進(jìn)行剪枝。
從結(jié)果上看,本文提出的方法在總體上是優(yōu)于其他方法的,但是效果的提升比較有限,反而是隨機(jī)的方法依舊保持可比性。根據(jù)統(tǒng)計(jì)的 N-Gram 可以看到,出現(xiàn)這種情況的原因可能在于構(gòu)成 Datastore 的數(shù)據(jù)集中的 N-Gram 的冗余度是很低的,大部分 N-Gram 都是獨(dú)一無(wú)二的。
所以要體現(xiàn)剪枝算法的性能,需要一個(gè)更大的數(shù)據(jù)集來(lái)實(shí)驗(yàn)。在這里作者使用了 Subtitles 數(shù)據(jù)集來(lái)進(jìn)行實(shí)驗(yàn), 并且跟 RP 來(lái)進(jìn)行對(duì)比,在 Subtitle 這個(gè)比較大的數(shù)據(jù)集上結(jié)果如圖 9,剪枝能夠起到更好的效果,并且相較于 RP 而言,本文提出的方法隨著剪枝比例提高,效果更加穩(wěn)定。

最后就是剪枝以后的速度和效果對(duì)比(圖 10),在 Subtitles 數(shù)據(jù)集上能夠進(jìn)行更大比例的剪枝,并且模型性能得到了一定提升,證明了剪枝方法的有效性。從最終結(jié)果上,我們也可以看到,特征維度壓縮和剪枝都能夠起到提升翻譯速度的作用。

(CKMT 表示添加了對(duì)比學(xué)習(xí),PCKMT 表示在 CKMT 的基礎(chǔ)上添加剪枝策略)
總結(jié)
該論文針對(duì) KNN 無(wú)參數(shù)機(jī)器翻譯中需要較大的存儲(chǔ)空間和速度慢的兩個(gè)主要問題,在創(chuàng)建的 Datastore 中引入語(yǔ)義單元的概念,并且基于不同語(yǔ)義單元不重合的假設(shè),在特征維度進(jìn)行壓縮的時(shí)候使用對(duì)比學(xué)習(xí)來(lái)進(jìn)行訓(xùn)練,在保證性能的前提下將特征維度從 1024 維降低到了 64 維,緩解了要求較大存儲(chǔ)空間的問題。并且提出了基于 N-Gram 的剪枝策略,在大規(guī)模數(shù)據(jù)集上體現(xiàn)出來(lái)了較好的效果。兩個(gè)方法都能夠降低 KNN 所帶來(lái)的額外時(shí)間損耗。實(shí)驗(yàn)表明,降維以后的特征中不同語(yǔ)義單元的聚集現(xiàn)象更加明顯,并且在所有數(shù)據(jù)集上都能夠取得 SOTA 的效果。
參考文獻(xiàn)
[1]Khandelwal U, Levy O, Jurafsky D, et al. Generalization through memorization: Nearest neighbor language models[J]. arXiv preprint arXiv:1911.00172, 2019.
[2] Urvashi Khandelwal, Angela Fan, Dan Jurafsky, Luke Zettlemoyer, and Mike Lewis. 2021. Nearest neighbor machine translation. In 9th International Conference on Learning Representations, ICLR 2021, Virtual Event, Austria, May 3-7, 2021. OpenRe- view.net.
[3] Xin Zheng, Zhirui Zhang, Junliang Guo, Shujian Huang, Boxing Chen, Weihua Luo, and Jiajun Chen. 2021a. Adaptive nearest neighbor machine translation. In Proceedings of the 59th Annual Meet- ing of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 2: Short Papers), pages 368–374, Online. Association for Computa- tional Linguistics.
[4] Junxian He, Graham Neubig, and Taylor Berg- Kirkpatrick. 2021. Efficient nearest neighbor language models. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pages 5703–5714, Online and Punta Cana, Dominican Republic. Association for Compu- tational Linguistics.