最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

NLP論文領(lǐng)讀|缺少有標(biāo)注的數(shù)據(jù)集怎么訓(xùn)練文本檢索模型?來(lái)看看 LaPraDoR怎么做的吧

2022-06-10 14:40 作者:瀾舟孟子開源社區(qū)  | 我要投稿

歡迎來(lái)到「瀾舟 NLP 論文領(lǐng)讀」專欄!快樂(lè)研究,當(dāng)然從研讀 paper 開始——瀾舟科技團(tuán)隊(duì)注重歡樂(lè)的前沿技術(shù)探索,希望通過(guò)全新專欄和大家共同探索人工智能奧秘、交流 NLP「黑科技」,踩在「巨人」肩上觸碰星辰!

關(guān)注公眾號(hào)「瀾舟科技」加入交流群,和大家一起探索前沿技術(shù)!官方網(wǎng)站:langboat.com

本期分享者:瀾舟科技研究實(shí)習(xí)生韋松偉,首都師范大學(xué)信息工程學(xué)院二年級(jí)研究生。三人行,必有我?guī)熝?。興趣廣泛,愛(ài)好學(xué)習(xí),歡迎大家一起探討交流~

email:?weisongwei@interns.chuangxin.com??


寫在前面

如果你想訓(xùn)練一個(gè)文本檢索模型,但是缺少有標(biāo)注的數(shù)據(jù)集,那不妨來(lái)看看這篇論文《LaPraDoR: Unsupervised Pretrained Dense Retriever for Zero-Shot Text Retrieval 》,LaPraDoR 是一個(gè)無(wú)監(jiān)督的文本檢索模型,不依賴人工標(biāo)注的數(shù)據(jù)集,可以在通用領(lǐng)域的大型數(shù)據(jù)集上進(jìn)行訓(xùn)練,語(yǔ)義模型的基礎(chǔ)上又用傳統(tǒng)的 BM25 算法做了增強(qiáng),在 BEIR 評(píng)測(cè)集上達(dá)到了 SOTA 水平,該論文發(fā)表在 ACL 2022 上。

論文鏈接:https://arxiv.org/abs/2203.06169


Text Retrieval 簡(jiǎn)單介紹

在介紹 LaPraDoR 之前,我們先來(lái)回顧一下文本檢索的兩個(gè)主流模型。目前文本檢索(Text Retrieval)主要有兩種模型,一種是雙塔模型也叫 Dense Retrieval。稠密檢索 (Dense Retrieval) 任務(wù)旨在通過(guò)給定的 query,在一個(gè)龐大的 document 語(yǔ)料庫(kù)中召回與 query 高度相關(guān)的 document(document 泛指語(yǔ)料庫(kù)中的文本內(nèi)容,可以是句子,段落,文章等),其中 query 和 document 的語(yǔ)義相關(guān)性通常建模為 query 和 document 表示向量的點(diǎn)積或余弦相似度。其結(jié)構(gòu)如下圖所示:

還有一種是 對(duì)每一個(gè) query-document 對(duì)計(jì)算匹配得分,這種方法一般在準(zhǔn)確率上有優(yōu)勢(shì)但是需要耗費(fèi)大量的計(jì)算時(shí)間,一般多用于重排階段。而雙塔模型在 ANN(an approximate nearest neighbor retrieval library,近鄰搜索)等這種技術(shù)的幫助下速度非常快,如 faiss。

當(dāng)前訓(xùn)練檢索模型都有哪些問(wèn)題呢?

Dense Retrieval 往往需要大量的人工標(biāo)注的數(shù)據(jù)集,而且還有個(gè)大問(wèn)題,模型有 out-of-domain 問(wèn)題,就是你在這個(gè)領(lǐng)域訓(xùn)練的模型換到另一個(gè)領(lǐng)域效果會(huì)大大降低。人工標(biāo)注本來(lái)就是件耗時(shí)耗力的工作,更別提一些領(lǐng)域內(nèi)數(shù)據(jù)集的資源都很少的情況。訓(xùn)練文本檢索模型基本都是基于對(duì)比學(xué)習(xí)來(lái)訓(xùn)練,一般來(lái)說(shuō)增大負(fù)樣本的數(shù)量對(duì)比學(xué)習(xí)的效果就會(huì)越好,但同時(shí)會(huì)導(dǎo)致占用的 GPU 內(nèi)存增加,GPU 的內(nèi)存會(huì)限制負(fù)例的數(shù)量,這也是一個(gè)比較普遍的問(wèn)題。當(dāng)前的 Dense Retrievers 模型總體優(yōu)于傳統(tǒng)的詞典匹配算法 如 BM25,但 BM25 算法仍有一定的優(yōu)點(diǎn),在某些數(shù)據(jù)集上效果不亞于 Dense Retrievers 模型。


LaPraDoR 介紹

針對(duì)上面的問(wèn)題,論文提出了 LaPraDoR(Large-scale Pretrained Dense Zero-shot Retriever)。LaPraDoR 是一種無(wú)監(jiān)督預(yù)訓(xùn)練模型,用于文本的召回、匹配。不需要任何標(biāo)注數(shù)據(jù)就可以進(jìn)行訓(xùn)練。由于是在大型的通用領(lǐng)域數(shù)據(jù)集上進(jìn)行訓(xùn)練,因此基本沒(méi)有 out-of-domain 問(wèn)題。

論文主要提出了兩點(diǎn)創(chuàng)新 Iterative Contrastive Learning (ICoL) 和 Lexicon- Enhanced Dense Retrieval (LEDR)。ICoL 中引入緩存隊(duì)列機(jī)制可以在 GPU 內(nèi)存不變的情況下加入更多的負(fù)例。LEDR 在語(yǔ)義匹配模型的基礎(chǔ)上又用傳統(tǒng)的 BM25 算法做了增強(qiáng),其做法是語(yǔ)義的得分乘以 BM25 的得分。在只進(jìn)行無(wú)監(jiān)督訓(xùn)練的情況下,不僅優(yōu)于其他無(wú)監(jiān)督模型,速度還快了很多。如果進(jìn)一步 fintune 的話,在 re-rank 方面也表現(xiàn)十分優(yōu)秀。

訓(xùn)練 LaPraDoR 有兩個(gè)挑戰(zhàn):

1. Training Efficiency,如何更有效的訓(xùn)練。在對(duì)比學(xué)習(xí)中,往往更多的負(fù)樣本會(huì)有更好的效果。但是增大 batch 會(huì)導(dǎo)致 GPU 的內(nèi)存吃不消。論文提出的 Iterative Contrastive Learning (ICoL) 就能很好地解決該問(wèn)題,其做法是構(gòu)建一個(gè)緩存隊(duì)列,訓(xùn)練過(guò)的負(fù)樣本會(huì)加入到隊(duì)列中,參與下一輪的損失計(jì)算。

2. Versatility,領(lǐng)域多樣性。采用大語(yǔ)料庫(kù)包含多個(gè)領(lǐng)域的語(yǔ)料庫(kù) c4 來(lái)進(jìn)行訓(xùn)練。同時(shí)訓(xùn)練時(shí)不僅將 query-document 作為訓(xùn)練目標(biāo),還包括 document-query, query-query, 和 document-document。論文中 query 與 document 的 encoder 是共享權(quán)重的,意味著只有一個(gè) encoder,許多論文中 query 與 document 的 encoder 是分開的,也就是兩個(gè) encoder。也有些論文中 query 與 document 的 encoder 共享部分參數(shù)。

接下來(lái)看一下到底是如何訓(xùn)練的吧!

模型結(jié)構(gòu)與表征提取

首先 query 與 document 的 encoder 均是 BERT 形式的結(jié)構(gòu),論文中使用的是 DistilBERT。需要注意的是雖然 query 與 document 的 encoder 在最后是同一個(gè),但訓(xùn)練的時(shí)候是分兩個(gè),每隔一段時(shí)間權(quán)重會(huì)從其中一個(gè)復(fù)制到另一個(gè)。

模型的輸入是 [CLS] t1,t2,t3…[SEP] , 表征采用的是最后一層 layer 的 mean pool。也有些模型是用 [CLS]token 作為表征,論文中說(shuō)有研究指出使用 meanpool 效果會(huì)優(yōu)于 [CLS]token。但是其他一些 SOTA 論文中不少是使用 [CLS] token 的,所以哪種方式更好,并沒(méi)有一個(gè)準(zhǔn)確的答案。當(dāng)?shù)玫?query 與 document 的表征后,以他們的余弦相似度作為匹配得分。

訓(xùn)練樣本的構(gòu)建

結(jié)構(gòu)有了,接下來(lái)是數(shù)據(jù)了,論文有兩種構(gòu)建訓(xùn)練數(shù)據(jù)的方式 Inverse Cloze Task (ICT) 和 Dropout as Positive Instance (DaPI).

Inverse Cloze Task (ICT) :給定一段文本,隨機(jī)挑出其中一個(gè)句子作為 query,剩下的作為文檔也就是正樣本,主要是用來(lái)做短文本去召回長(zhǎng)文本。其優(yōu)點(diǎn)是不需要一定格式的數(shù)據(jù)集,有大量的數(shù)據(jù)可以訓(xùn)練。

Dropout as Positive Instance (DaPI):其思想來(lái)源于 simcse 這篇論文,就是使用不同的 dropout 來(lái)得到正樣本。與 simcse 不同點(diǎn)在于,計(jì)算梯度時(shí)只對(duì)其中的一個(gè)樣本進(jìn)行計(jì)算,這樣占用的 GPU 的內(nèi)存幾乎不會(huì)增加。

訓(xùn)練過(guò)程

有了樣本如何進(jìn)行訓(xùn)練呢?Iterative Contrastive Learning,大體過(guò)程如圖所示:

先說(shuō)一下這個(gè)緩存隊(duì)列,為什么要有這個(gè)設(shè)置呢?其目的是增加負(fù)樣本的數(shù)量。首先設(shè)置一個(gè)固定的最大容量 m,每次訓(xùn)練過(guò)后,當(dāng)前樣本的 embedding 就會(huì)加入到隊(duì)列中作為下一輪的負(fù)樣本參與損失計(jì)算,當(dāng)容量到達(dá) m 時(shí),最先加入的會(huì)被移除。其訓(xùn)練方式是一種迭代的方式,當(dāng)訓(xùn)練 query encoder 時(shí),凍住 document encoder,就是保持 documentencoder 參數(shù)不變,為的是使其表征在同一個(gè)語(yǔ)義空間。此時(shí)訓(xùn)練包括兩個(gè)部分,第一部分是 query-query,同一個(gè) query 通過(guò)不同的 dropout 得到正樣本,負(fù)樣本是隨機(jī)的其他 query。訓(xùn)練時(shí)的損失函數(shù)就是經(jīng)典的對(duì)比學(xué)習(xí)損失函數(shù),如下:

第二部分就是 query-document,其構(gòu)建方式為上面說(shuō)的 ICT。首先會(huì)隨機(jī)選取一些 document 作為負(fù)樣本,為了加速訓(xùn)練,這些負(fù)樣本是 batch 內(nèi)的其他樣本。隨后這些樣本的 embedding 會(huì)加入到緩存隊(duì)列中,參與下一輪的損失計(jì)算。于是,損失函數(shù)中就帶上了隊(duì)列里的 embedding。其損失函數(shù)如下:

可以看到與 query-query 相比,多了一項(xiàng),該項(xiàng)就是計(jì)算隊(duì)列里的負(fù)樣本的損失。其最后的損失就是兩者之和,注意的是 query 只需 encoder 一次就可以參與這兩個(gè)的損失計(jì)算。

在經(jīng)過(guò)一定的 steps 后,將 query encoder 凍住,并將其權(quán)重復(fù)制到 document encoder 中。將緩存隊(duì)列清空開始訓(xùn)練 document encoder。訓(xùn)練的方法與訓(xùn)練 query encoder 類似,包括 document-document 和 document-query,其損失與上面的類似。

為了加速訓(xùn)練,隨機(jī)的負(fù)樣本是采用的 in-batch negatives,就是訓(xùn)練 batch 內(nèi)的其他樣本作為負(fù)樣本。

得到語(yǔ)義模型后,作者又用詞典匹配技術(shù)對(duì)其進(jìn)行增強(qiáng),也就是 Lexicon-Enhanced Dense Retrieval (LEDR)。具體是使用 BM25 算法增強(qiáng),其 BM25 算法的實(shí)現(xiàn)是用 Elastic Search,為了節(jié)約計(jì)算成本,只計(jì)算 BM25 算法的 top1000,剩下的得分全為 0。

當(dāng)?shù)玫絻烧叩牡梅趾?,最后的得分是兩者的得分的乘積。


訓(xùn)練的細(xì)節(jié)

優(yōu)化器采用 adam 學(xué)習(xí)率為 2e-4,使用了 16 塊 v100 訓(xùn)練,每個(gè) GPU 的訓(xùn)練 batch 為 256,query 與 document 的最大長(zhǎng)度分別為 64 與 350。訓(xùn)練 query 與 document 迭代的步數(shù)為 100 步,緩存隊(duì)列的最大長(zhǎng)度為 100k,損失函數(shù)中的權(quán)重值為 1。大家可以根據(jù)自己的 GPU 情況進(jìn)行調(diào)整。


實(shí)驗(yàn)結(jié)果

LaPraDoR 有兩個(gè)版本,一個(gè)是僅進(jìn)行無(wú)監(jiān)督訓(xùn)練,另一個(gè)是在無(wú)監(jiān)督訓(xùn)練后在 MS-MARCO 上進(jìn)行微調(diào)。下面看其在 BEIR 上評(píng)測(cè)的表現(xiàn),評(píng)測(cè)指標(biāo)用的是 nDCG。

其中 LaPraDoR FT ?是 LaPraDoR 用 BEIR 官方訓(xùn)練腳本在 MS-MARCO 上微調(diào)的模型。可以看到 LaPraDoR 不僅效果好,檢索速度還快。

接下來(lái)作者還對(duì)幾種不同的對(duì)比學(xué)習(xí)的方法做了評(píng)測(cè),其中包括 In-Batch(shared 表示 query 與 document 共用 一個(gè) encoder),In-Batch 就是負(fù)樣本就是 batch 內(nèi)其他樣本作為負(fù)樣本。還有 MoCo 與 xMoCo 為動(dòng)量對(duì)比學(xué)習(xí),其思想也是增大負(fù)例數(shù)量,將對(duì)比學(xué)習(xí)作為字典查詢過(guò)程的角度來(lái)看,構(gòu)建了一個(gè)由隊(duì)列和移動(dòng)平均編碼器組成的動(dòng)態(tài)字典。結(jié)果如下圖所示:

作者使用這幾種不同的訓(xùn)練方式訓(xùn)練 LaPraDoR, ?ICoL 總體性能最優(yōu),可以發(fā)現(xiàn) shared ICoL 與 ICoL 性能基本差不多,說(shuō)明共用一個(gè) encoder 并未導(dǎo)致性能下降。

作者還實(shí)驗(yàn)驗(yàn)證了詞典增強(qiáng)以及無(wú)監(jiān)督訓(xùn)練的重要性,如下圖所示:

本文這里不再做贅述,感興趣的可以去讀論文看一下細(xì)節(jié)。


總結(jié)

本文帶領(lǐng)大家閱讀了 ACL 2022 的一篇論文,論文提出了 LaPraDoR——一種無(wú)監(jiān)督預(yù)訓(xùn)練模型,在 BEIR 評(píng)測(cè)集上達(dá)到了 SOTA 水平。論文提出了 Iterative Contrastive Learning (ICoL) 和 Lexicon-Enhanced Dense Retrieval (LEDR) 兩種方法,實(shí)驗(yàn)分別驗(yàn)證了其有效性。通過(guò)無(wú)監(jiān)督訓(xùn)練,可以減緩標(biāo)注數(shù)據(jù)不足導(dǎo)致模型性能較低的問(wèn)題,有大量通用領(lǐng)域的數(shù)據(jù)可以用于模型訓(xùn)練,可以避免出現(xiàn)領(lǐng)域遷移效果大幅度降低的情況,并且其緩存隊(duì)列的機(jī)制可以緩解 GPU 內(nèi)存不足導(dǎo)致負(fù)例少的問(wèn)題??傊芡扑]大家去讀一讀。


關(guān)注瀾舟科技公眾號(hào):langboat,加入交流群!

官方網(wǎng)站:https://langboat.com

我們長(zhǎng)期招募優(yōu)秀人才,招聘郵箱:hr@langboat.com

商務(wù)&媒體合作:bd@langboat.com



NLP論文領(lǐng)讀|缺少有標(biāo)注的數(shù)據(jù)集怎么訓(xùn)練文本檢索模型?來(lái)看看 LaPraDoR怎么做的吧的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
新巴尔虎左旗| 增城市| 苏尼特左旗| 万山特区| 祁阳县| 太湖县| 金山区| 巴楚县| 原阳县| 黑龙江省| 和田市| 平果县| 扶余县| 郴州市| 绿春县| 林口县| 无极县| 瑞安市| 边坝县| 漳州市| 浦东新区| 岳西县| 霍城县| 若羌县| 全南县| 晴隆县| 西乌珠穆沁旗| 万山特区| 阜城县| 宜良县| 中西区| 互助| 永泰县| 麻阳| 新晃| 大港区| 大新县| 思南县| 通江县| 龙江县| 高平市|