DocReLM:自建數(shù)據(jù)集訓(xùn)練檢索模型和重排序模型提高 RAG 效果
背景
根據(jù) Crossref 的數(shù)據(jù),目前學(xué)術(shù)界已經(jīng)積累了 1.4 篇文獻(xiàn),每年還以幾百萬的速度增加。這種驚人的增長速度,讓研究人員跟蹤業(yè)內(nèi)動態(tài)變得越來越困難。因此,大家對高效的語義檢索系統(tǒng)需求越來越強(qiáng)烈。
這類系統(tǒng)的開發(fā)面臨非常多的困難:
? 首先,學(xué)術(shù)論文使用高度專業(yè)化的語言,需要深刻理解上下文才能提取關(guān)鍵信息。
? 其次,理解一篇論文不僅要閱讀其內(nèi)容,還要理解引用及其相互關(guān)系,這要求系統(tǒng)能夠把握論文內(nèi)引用間的聯(lián)系。
? 最后,用戶可能無法用精確關(guān)鍵詞描述信息需求,系統(tǒng)需能洞悉用戶意圖,提供最相關(guān)文獻(xiàn)。盡管已有嘗試采用通用嵌入模型構(gòu)建檢索系統(tǒng),但模型訓(xùn)練與實際搜索之間存在差距,導(dǎo)致性能不佳。
基于以上背景,今天這篇論文的作者推出了 DocReLM,一個利用語言模型強(qiáng)化的文檔檢索系統(tǒng)。
在 DocReLM 中,LLM 以兩種獨(dú)特方式發(fā)揮作用:
? 首先,作為自動數(shù)據(jù)標(biāo)注器,生成高質(zhì)量的訓(xùn)練數(shù)據(jù)以提升檢索模型性能。使得密集檢索器和重排模型在性能上超越了競爭對手。其他模型由于訓(xùn)練于通用語義相似性任務(wù),性能不及 DocReLM 的模型。通過 LLM 生成的數(shù)據(jù)訓(xùn)練,DocReLM 更適合文檔檢索任務(wù),同時領(lǐng)域?qū)I(yè)知識也在這一過程中被融入模型。
? 另外,LLM 作為搜索 Agent,根據(jù)檢索文檔的文本信息和引用關(guān)系來優(yōu)化論文選擇。類似于人類通過閱讀論文引用來尋找最相關(guān)文獻(xiàn)的推理過程。LLM 理解上下文和引用關(guān)系的能力使其能夠精準(zhǔn)識別相關(guān)論文,從而提升系統(tǒng)性能。在自然科學(xué)領(lǐng)域,這一功能尤為有用,因為論文間高度互聯(lián),理解引用對于找到相關(guān)文獻(xiàn)至關(guān)重要。這也是一種新穎的在檢索系統(tǒng)中應(yīng)用大型語言模型的方法。
系統(tǒng)架構(gòu)
圖片
DocReLM 系統(tǒng)整體結(jié)構(gòu)如上圖所示,主要分為三個部分:檢索器、重排器和引用提取器。
- ? 用戶提出查詢時,檢索器利用嵌入技術(shù)迅速從文檔庫中篩選出候選段落。
- ? 接著,重排器進(jìn)一步精準(zhǔn)排序這些段落。
- ? 最后,引用提取器分析重排器提供的前 k 個結(jié)果,根據(jù)文檔內(nèi)容生成恰當(dāng)?shù)囊谩?/li>
檢索器
檢索器的作用是高效地從龐大的文檔庫中提取精選文檔集。
一般來說,檢索器會用到兩種模型:稀疏檢索器和密集檢索器。
例如,著名的 BM25 稀疏檢索器利用詞袋模型向量匹配候選項。而密集嵌入模型則將句子明確編碼為密集向量,并通過余弦相似度來評估查詢與段落嵌入之間的匹配可能性。
在 DocReLM 中,作者采用了密集檢索器,并基于開源的 jina-embedding-v2-base 模型進(jìn)行定制訓(xùn)練。這個檢索器充當(dāng)編碼器角色,已在科學(xué)領(lǐng)域多種任務(wù)中得到應(yīng)用。
通過對比學(xué)習(xí),密集檢索器生成的嵌入能夠突出關(guān)鍵段落的細(xì)節(jié),即便術(shù)語不同,也能連接語義相似的句子。然而,預(yù)訓(xùn)練的嵌入模型在文檔檢索任務(wù)中常常缺乏特異性,與特定領(lǐng)域的論文存在知識鴻溝。為此,作者引入大型語言模型自動用學(xué)術(shù)論文庫標(biāo)注偽查詢,以此優(yōu)化嵌入模型,使其更貼合學(xué)術(shù)領(lǐng)域的任務(wù)需求。
構(gòu)建這一檢索系統(tǒng)時,將長文檔切分為段落,并將它們轉(zhuǎn)換為嵌入向量,存儲于 Faiss 向量數(shù)據(jù)庫中。用戶輸入查詢后,DocReLM 利用檢索模型提取查詢的語義嵌入,并基于文檔和查詢嵌入之間的余弦距離挑選候選段落。
重排器
快速檢索之后,重排器被用來提升結(jié)果的準(zhǔn)確性。雖然它通常更精確,但與檢索器相比,重排器的處理速度較慢。這決定了它通常在檢索后使用,檢索器首先通過排除大部分不相關(guān)段落來縮小選擇范圍。
在此任務(wù)中,作者采用了交叉編碼器,它處理由查詢字符串和檢索子系統(tǒng)提供的候選段落組成的串聯(lián)序列,以[SEP]標(biāo)記分隔。
通過在輸入中整合查詢和段落,重排器增強(qiáng)了兩者的交互,從而提高了其表達(dá)力,并在效果上超越了檢索器。交叉編碼器的一個局限是它無法預(yù)處理文檔庫,需要對每個新查詢進(jìn)行實時推理,因此不能單獨(dú)作為系統(tǒng)使用,它需要檢索器提供一小批相關(guān)候選。
在 DocReLM 中,使用了開源的 XLM-RoBERTa-large 模型作為基礎(chǔ),并用作者的自定義數(shù)據(jù)進(jìn)一步訓(xùn)練,采用 LCE 方法。檢索器確定的前 200 個段落隨后輸入到重排器中,為每個串聯(lián)對輸出一個分?jǐn)?shù),然后根據(jù)這些分?jǐn)?shù)對候選段落進(jìn)行重新排序。
引用提取器
經(jīng)過精確的段落檢索和交叉編碼器的重排,相關(guān)論文根據(jù)與查詢的相關(guān)性被依次展示。
但是,通過一個額外步驟可以顯著提升搜索結(jié)果的質(zhì)量:DocReLM 系統(tǒng)中的引用提取器,它負(fù)責(zé)閱讀段落內(nèi)容并從中抽取最佳引用文獻(xiàn)。
這種做法更貼近實際的搜索習(xí)慣。雖然檢索器和重排器挑選出的論文可能并非最佳答案,但其引用列表中很可能包含了正確答案。為了提高搜索的準(zhǔn)確性,引導(dǎo)大語言模型來處理檢索結(jié)果,并從引用文獻(xiàn)中識別出更加合適的論文。
具體操作中,通過在論文段落中嵌入?yún)⒖嘉墨I(xiàn)的標(biāo)識符來調(diào)整文本。當(dāng)這段經(jīng)過修改的文本被大型語言模型處理時,它會根據(jù)上下文信息抽取出這些標(biāo)識符。如果模型認(rèn)定段落本身足以回答問題,它將輸出引用文獻(xiàn)的標(biāo)識符。系統(tǒng)將根據(jù)提供的標(biāo)識符搜索相應(yīng)的論文。
圖片
如上圖展示的,檢索器迅速從完整文獻(xiàn)庫中篩選出 n 個候選文段。緊接著,重排器對這些文段進(jìn)行排序。繼而,引用提取器細(xì)讀排名最前的 10 篇論文,并為每篇提取三條引用,這些引用被巧妙地嵌入到對應(yīng)原文之后。
模型訓(xùn)練
作者分別對檢索器和重排序模型進(jìn)行了訓(xùn)練。
先利用對比學(xué)習(xí)在生成的訓(xùn)練集上訓(xùn)練檢索器。隨后利用這個檢索器篩選出難度較高的負(fù)樣本,用于對重排器進(jìn)行更加精細(xì)的對比學(xué)習(xí)微調(diào)。
利用 LLM 生成訓(xùn)練數(shù)據(jù)
為了通過對比學(xué)習(xí)訓(xùn)練檢索器和重排器,首先需要搜集一系列的用戶查詢和文檔段落。盡管市面上有 MS MARCO 這類帶有人工標(biāo)注的數(shù)據(jù)集,但人工標(biāo)注的成本非常高,使得獲取領(lǐng)域特定的檢索數(shù)據(jù)集不是很容易。
在本項研究中,運(yùn)用 LLM 來從文檔中生成偽查詢。選用了 unarXive 上的論文來構(gòu)建數(shù)據(jù)集,對他們的原始數(shù)據(jù)進(jìn)行處理,剔除了語義上不相關(guān)的文本,并加入了數(shù)學(xué) LaTeX 格式和引用標(biāo)識符。這些引用標(biāo)識符按照 Ref.X of IDFp 的格式進(jìn)行編排,其中 IDFp 代表的是原論文的標(biāo)識符。將整篇論文切分成多個段落,并動用 vicuna-7b-v1.5-16k 根據(jù)段落、標(biāo)題和摘要為每個句子生成查詢。借鑒思維鏈方法,首先采用零樣本方法引導(dǎo)大語言模型 Agent 應(yīng)用基于標(biāo)題、摘要和內(nèi)容草擬大綱,繼而生成查詢。
作者為實驗建立了兩個子集。其一是量子物理領(lǐng)域,包含 56927 篇論文,搜集了 2.8??? 的訓(xùn)練數(shù)據(jù)。其二是計算機(jī)視覺領(lǐng)域,包含 37390 篇論文,搜集了 1.1??? 的訓(xùn)練數(shù)據(jù)。這些數(shù)據(jù)被用于訓(xùn)練密集型段落檢索器與重排器。
在對比訓(xùn)練過程中,檢索器和重排器的負(fù)樣本生成策略各有不同。檢索器的負(fù)樣本是通過隨機(jī)抽樣來獲得的。在每次訓(xùn)練批次中,我們會抽取 N+1 組正樣本對,每組正樣本對將伴隨 N 組負(fù)樣本對。增加批次大小可以提升檢索器的性能,因為它增加了引入困難負(fù)樣本的可能性。為了在對比學(xué)習(xí)中獲得更佳表現(xiàn),采用了梯度緩存技術(shù)來擴(kuò)大訓(xùn)練批次的規(guī)模。
至于重排器的訓(xùn)練,我們采用已訓(xùn)練好的檢索器,按照文獻(xiàn)[8]中提出的 LCE 方法來挑選負(fù)樣本。對于每一個查詢檢索器會返回與之相關(guān)性最高的 N 個段落。這些段落與查詢緊密相連,表明挑選出了除了正確答案之外最具迷惑性的錯誤選項。因此,這些誤導(dǎo)性強(qiáng)的段落成為了訓(xùn)練重排器時使用的高質(zhì)量困難負(fù)樣本。
效果如何
為了檢驗 DocReLM 的效果,作者根據(jù)真實的研究場景構(gòu)建了一個基準(zhǔn)測試,邀請各領(lǐng)域的研究人員根據(jù)他們的研究方向提出查詢,并附上論文作為標(biāo)注的參考。為確保這些標(biāo)注的準(zhǔn)確性,研究人員必須提供調(diào)查研究中的論斷作為依據(jù)。接著,選用 unarXive 的一個子集作為檢索的文檔庫。最終的基準(zhǔn)測試涵蓋兩個領(lǐng)域:量子物理領(lǐng)域包含 301 個查詢和 56927 篇論文,計算機(jī)視覺領(lǐng)域則包含 204 個查詢和 37390 篇論文。將 DocReLM 與 Google Scholar 進(jìn)行了對比。此外,還進(jìn)行了消融分析,以評估系統(tǒng)中三個獨(dú)立組件的有效性。
圖片
作者對比了三種基礎(chǔ)檢索模型:BM25、OpenAI 的 ada-002 以及 jina-base-v2。它們的準(zhǔn)確度展示在商標(biāo)中。稀疏型檢索器 BM25 相較其他模型表現(xiàn)欠佳,其基于詞頻的方法不足以捕捉任務(wù)中的語義關(guān)聯(lián)。DocReLM-retriever 在兩個領(lǐng)域中均超越了這些模型。特別是在計算機(jī)視覺領(lǐng)域,DocReLM-retriever 的表現(xiàn)顯著超越其他模型,其 top-1 準(zhǔn)確度比其他最佳嵌入模型高出 5.89%,而 top-5 和 top-10 的準(zhǔn)確度分別提高了 13.72%和 19.13%。值得一提的是,在計算機(jī)視覺領(lǐng)域,所有三種模型都展現(xiàn)出了較高的平均準(zhǔn)確度。而在量子物理領(lǐng)域,嵌入模型的表現(xiàn)相近,top-1 結(jié)果并無太大差異;但在 top-5 結(jié)果上,作者的模型將準(zhǔn)確度從 9.97%提升至 11.96%,超越了其他模型。
圖片
為測試重排器的性能,挑選了三種不同的重排器進(jìn)行比較:bge-reranker-large、Cohere 以及 DocReLM-reranker。這些重排器以 DocReLM-retriever 篩選出的前 200 個段落作為輸入(如上表)。在計算機(jī)視覺領(lǐng)域,DocReLM-reranker 超越了其他模型,其 top-1 準(zhǔn)確度比其他最佳模型高出 0.49%,而 top-5 和 top-10 的準(zhǔn)確度分別提升了 1.97%和 2.94%。在量子物理領(lǐng)域,DocReLM-reranker 與 Cohere 表現(xiàn)相當(dāng),DocReLM-reranker 的模型在 top-20 的表現(xiàn)更佳,而 Cohere 在 top-1 和 top-10 的得分上更為突出。這些結(jié)果證明 DocReLM-reranker 在兩個領(lǐng)域的效率均高于其他模型,凸顯了重排器在提升檢索系統(tǒng)準(zhǔn)確度中的關(guān)鍵作用。
最后一項實驗評估了引用提取模型的有效性。對比了開啟和未開啟引用提取功能的 DocReLM-reranker 的性能,結(jié)果列在上表中。在計算機(jī)視覺領(lǐng)域,引入了引用提取功能的模型 internLM 將 top-5 和 top-20 的準(zhǔn)確度分別提升了 0.98%和 2.94%,證實了引用提取功能在提升檢索系統(tǒng)準(zhǔn)確度方面的有效性。在量子物理領(lǐng)域,同樣的模型將 top-5 和 top-10 的準(zhǔn)確度分別提升了 9.63%和 16.28%。
討論
LLM 的精華提煉
神經(jīng)密集型檢索器和交叉編碼重排器能夠精準(zhǔn)捕捉查詢與文檔間的語義聯(lián)系,使得相關(guān)文檔的檢索更為精確。使用 LLM 生成的數(shù)據(jù)訓(xùn)練模型后,與基礎(chǔ)模型相比,性能有了顯著飛躍。這些數(shù)據(jù)由 LLM 生成,使得 LLM 的理解力得以凝練并注入到較小型的模型中,讓通用模型能夠適應(yīng)特定任務(wù)。
LLM 與檢索系統(tǒng)的融合創(chuàng)新
作者提出了一種新穎的大語言模型與檢索系統(tǒng)集成方法。隨著 LLM 的流行,人們一直在嘗試將其與搜索引擎結(jié)合。這些嘗試主要有兩種方向:一是利用 LLM 擴(kuò)展搜索查詢,二是用 LLM 總結(jié)搜索結(jié)果。
而 DocReLM 則開辟了新徑,讓 LLM 理解搜索結(jié)果并繼續(xù)搜索過程,推薦更佳的候選文檔。此概念有進(jìn)一步擴(kuò)展的空間。該過程可以迭代執(zhí)行,讓 LLM 在引用網(wǎng)絡(luò)中穿梭多個節(jié)點(diǎn),直至鎖定最相關(guān)的結(jié)果。這一任務(wù)要求 LLM 不僅要理解引用文獻(xiàn)間的邏輯聯(lián)系,還需具備足夠的領(lǐng)域知識以精確提取引用。通過整合能夠進(jìn)行多次搜索并分析結(jié)果以優(yōu)化搜索的 LLM,可以顯著提升通用檢索系統(tǒng)的性能。這種方法預(yù)示著檢索系統(tǒng)未來發(fā)展方向的希望之光。
圖片
圖片
? 論文原文: https://arxiv.org/abs/2405.11461
