超長(zhǎng)LLM時(shí)代RAG技術(shù)價(jià)值探索:順序保持檢索增強(qiáng)生成技術(shù)(OP-RAG)顯著提高長(zhǎng)文本問(wèn)答應(yīng)用性能
在早期代語(yǔ)言模型(LLMs)的有限上下文限制中,檢索增強(qiáng)生成(RAG)一直是過(guò)去基于上下文的答案生成的可靠解決方案。最近,長(zhǎng)文本LLMs的出現(xiàn)允許模型整合更長(zhǎng)的文本序列,使RAG變得不那么吸引人。最近的研究表明,長(zhǎng)文本LLMs在長(zhǎng)文本應(yīng)用中顯著優(yōu)于RAG。與現(xiàn)有工作支持長(zhǎng)文本LLMs而不是RAG不同,我們認(rèn)為L(zhǎng)LMs中的極長(zhǎng)文本上下文會(huì)減少對(duì)相關(guān)信息的關(guān)注,導(dǎo)致答案質(zhì)量的潛在下降。本文重新審視了長(zhǎng)文本答案生成中的RAG。我們提出了一種順序保持的檢索增強(qiáng)生成(OP-RAG)機(jī)制,它顯著提高了RAG在長(zhǎng)文本問(wèn)答應(yīng)用中的性能。有了OP-RAG,隨著檢索到的塊數(shù)量的增加,答案質(zhì)量最初上升,然后下降,形成了一個(gè)倒U形曲線。存在一個(gè)甜蜜點(diǎn),OP-RAG可以在比長(zhǎng)文本LLMs少得多的token的情況下實(shí)現(xiàn)更高的答案質(zhì)量。我們?cè)诠不鶞?zhǔn)上的廣泛實(shí)驗(yàn)證明了我們OP-RAG的優(yōu)越性。
1. 引言
由于早期代大型語(yǔ)言模型(LLMs)的上下文窗口長(zhǎng)度有限(例如,4096),檢索增強(qiáng)生成(RAG)(Guu等人,2020;Lewis等人,2020)是處理大規(guī)模上下文語(yǔ)料庫(kù)的不可或缺的選擇。由于答案質(zhì)量嚴(yán)重依賴(lài)于檢索模型的性能,因此在設(shè)計(jì)RAG系統(tǒng)時(shí),大量的努力都投入到提高檢索召回率/精確度上。最近,最先進(jìn)的LLMs支持更長(zhǎng)的上下文窗口。例如,GPT4O(OpenAI,2023)、Claudi-3.5(Anthropic,2024)、Llama3.1(Meta,2024b)、Phi-3(Abdin等人,2024)和Mistral-Large2(AI,2024)都支持128-K上下文。Gemini-1.5-pro甚至支持1M上下文窗口。
圖片
長(zhǎng)文本LLMs的最近出現(xiàn)自然引出了一個(gè)問(wèn)題:在長(zhǎng)文本LLMs的時(shí)代,RAG是否還有必要?Li等人(2024)最近系統(tǒng)地比較了RAG與長(zhǎng)文本(LC)LLMs(無(wú)RAG)并證明,LC LLMs在答案質(zhì)量方面一致優(yōu)于RAG。在這項(xiàng)工作中,我們重新審視了長(zhǎng)文本答案生成中的RAG的有效性。我們觀察到LLMs上下文中檢索到的塊的順序?qū)Υ鸢纲|(zhì)量至關(guān)重要。不同于傳統(tǒng)的RAG將檢索到的塊按相關(guān)性降序排列,我們提出保持檢索到的塊在原始文本中的順序。我們的實(shí)驗(yàn)表明,所提出的順序保持機(jī)制顯著提高了RAG的答案質(zhì)量。同時(shí),使用所提出的順序保持RAG,隨著檢索到的塊數(shù)量的增加,答案質(zhì)量最初上升然后下降。這是因?yàn)?,隨著檢索到的塊數(shù)量的增加,模型可以訪問(wèn)更多潛在相關(guān)的信息,這提高了檢索到生成高質(zhì)量答案所需的正確上下文的機(jī)會(huì)。然而,隨著檢索到的塊數(shù)量的增加,引入不相關(guān)或分散注意力的信息的可能性也在增加。這些多余的信息可能會(huì)混淆模型,導(dǎo)致答案質(zhì)量下降。因此,折衷在于通過(guò)檢索更多上下文來(lái)提高召回率和通過(guò)限制干擾來(lái)保持精確度之間。最優(yōu)點(diǎn)是相關(guān)和不相關(guān)信息之間的平衡最大化了答案的質(zhì)量。超過(guò)這個(gè)點(diǎn),引入太多不相關(guān)信息會(huì)降低模型的性能。這解釋了將整個(gè)長(zhǎng)文本上下文作為L(zhǎng)LM輸入的方法的性能較差。
與Li等人(2024)的結(jié)論不同,通過(guò)所提出的順序保持機(jī)制,RAG實(shí)現(xiàn)了比完全依賴(lài)長(zhǎng)文本LLMs的對(duì)應(yīng)物更高的答案質(zhì)量。如圖4a所示,在∞Bench的En.QA數(shù)據(jù)集上(Zhang等人,2024),僅使用16K檢索到的token,我們使用Llama3.1-70B實(shí)現(xiàn)了44.43 F1分?jǐn)?shù)。相比之下,沒(méi)有RAG,Llama3.1-70B充分利用128K上下文只實(shí)現(xiàn)了34.32 F1分?jǐn)?shù),GPT-4O只實(shí)現(xiàn)了32.36 F1分?jǐn)?shù),Gemini-1.5-Pro只獲得了43.08 F1分?jǐn)?shù),如Li等人(2024)評(píng)估的。也就是說(shuō),即使在顯著減少輸入長(zhǎng)度的情況下,RAG也能實(shí)現(xiàn)更高的F1分?jǐn)?shù)。
2. 相關(guān)工作
檢索增強(qiáng)生成。通過(guò)將外部知識(shí)作為上下文納入,檢索增強(qiáng)生成(RAG)(Guu等人,2020;Lewis等人,2020;Mialon等人,2023)允許語(yǔ)言模型訪問(wèn)最新和特定的信息,減少幻覺(jué)并提高事實(shí)準(zhǔn)確性。在長(zhǎng)文本LLMs時(shí)代之前,RAG是克服短上下文窗口限制的有前途的解決方案。長(zhǎng)文本LLM。為了支持長(zhǎng)序列的語(yǔ)言模型,許多努力都投入到提高自注意力(Choromanski等人,2020;Zaheer等人,2020;Tay等人,2020;Dao等人,2022;Dao,2024)的計(jì)算效率和提升位置編碼的可擴(kuò)展性(Press等人,2021;Sun等人,2022;Chen等人,2023)上。最近,像GPT-4O(OpenAI,2023)、Gemini-1.5-Pro(Reid等人,2024)、Claudi-3.5(Anthropic,2024)、Grok2(xAI,2024)和Llama3.1(Meta,2024a)這樣的旗艦LLMs已經(jīng)支持非常大的上下文。
隨著長(zhǎng)文本LLMs的存在,RAG不再是長(zhǎng)文本問(wèn)答任務(wù)中不可或缺的模塊。最近,Li等人(2024)得出結(jié)論,使用長(zhǎng)文本而不是RAG可以顯著優(yōu)于RAG。與(Li等人,2024)的結(jié)論不同,在這項(xiàng)工作中,我們展示了所提出的順序保持RAG可以擊敗沒(méi)有RAG的長(zhǎng)文本LLMs。
3. 順序保持RAG
讓我們將長(zhǎng)文本上下文,例如一篇長(zhǎng)文檔,表示為d。我們將d順序均勻地分割成N個(gè)塊,{ci}N i=1。索引i意味著塊ci在d中的順序,即ci?1表示ci之前的塊,而ci+1表示ci之后的塊。給定一個(gè)查詢(xún)q,我們通過(guò)計(jì)算q的嵌入和ci的嵌入之間的余弦相似度來(lái)獲得塊ci的相關(guān)性分?jǐn)?shù):
si = cos(emb(q), emb(ci)), (1)
其中cos(·, ·)表示余弦相似度函數(shù),emb(·)表示嵌入函數(shù)。我們檢索與查詢(xún)最相似分?jǐn)?shù)最高的前k個(gè)塊,并將前k個(gè)塊的索引表示為J = {ji}k i=1。我們保持原始長(zhǎng)文本上下文d中塊的順序,即我們限制
jl > jm ?? l > m. (2)
圖2展示了普通RAG和所提出的順序保持RAG之間的差異。與普通RAG按相似度降序排列塊不同,所提出的順序保持RAG保持原始文檔中塊的順序。
圖片
4. 實(shí)驗(yàn)
4.1 數(shù)據(jù)集
我們?cè)贐ench(Zhang等人,2024)基準(zhǔn)的EN.QA和EN.MC數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),這些數(shù)據(jù)集專(zhuān)門(mén)設(shè)計(jì)用于長(zhǎng)文本QA評(píng)估。具體來(lái)說(shuō),En.QA包含351個(gè)人工注釋的問(wèn)題-答案對(duì)。平均來(lái)說(shuō),En.QA中的長(zhǎng)上下文包含150,374個(gè)單詞。我們使用F1分?jǐn)?shù)作為En.QA上的評(píng)估指標(biāo)。EN.MC包含224個(gè)問(wèn)題-答案對(duì),這些對(duì)的注釋方式與En.QA類(lèi)似,但每個(gè)問(wèn)題都提供了四個(gè)答案選擇。平均來(lái)說(shuō),EN.MC中的長(zhǎng)上下文包含142,622個(gè)單詞。我們使用準(zhǔn)確率作為EN.MC上的評(píng)估指標(biāo)。我們注意到還有另一個(gè)稱(chēng)為L(zhǎng)ongBench(Bai等人,2023)的基準(zhǔn)。然而,LongBench的平均上下文長(zhǎng)度低于20K單詞,這不足以評(píng)估最近支持128K-token窗口大小的長(zhǎng)文本LLMs。
4.2 實(shí)現(xiàn)細(xì)節(jié)
我們將所有數(shù)據(jù)集上的塊大小設(shè)置為128個(gè)token。塊不重疊。我們默認(rèn)使用BGE-large-env1.5(Xiao等人,2023)來(lái)提取查詢(xún)和塊的嵌入。
4.3 消融研究
上下文長(zhǎng)度的影響。我們?cè)u(píng)估了上下文長(zhǎng)度對(duì)所提出的順序保持RAG性能的影響。由于每個(gè)塊包含128個(gè)token,上下文長(zhǎng)度為128m,其中m是作為生成答案的上下文檢索的塊的數(shù)量。如圖3所示,隨著上下文長(zhǎng)度的增加,性能最初增加。這是因?yàn)楦嗟纳舷挛目赡芨袡C(jī)會(huì)覆蓋相關(guān)塊。然而,隨著上下文長(zhǎng)度的進(jìn)一步增加,答案質(zhì)量下降,因?yàn)槭褂昧烁嗟牟幌嚓P(guān)塊作為干擾。具體來(lái)說(shuō),Llama3.1-8B模型在EN.QA數(shù)據(jù)集和EN.MC數(shù)據(jù)集上當(dāng)上下文長(zhǎng)度為16K時(shí)達(dá)到性能峰值,而Llama3.1-70B模型在EN.QA上的最佳性能是在48K時(shí)實(shí)現(xiàn)的,在EN.MC上是在32K時(shí)實(shí)現(xiàn)的。Llama3.1-70B模型的峰值點(diǎn)比Llama3.1-8B模型晚可能是因?yàn)楦笠?guī)模的模型具有更強(qiáng)的能力來(lái)從不相關(guān)的干擾中區(qū)分相關(guān)塊。
圖片
順序保持RAG與普通RAG。如圖4所示,當(dāng)檢索到的塊數(shù)量較少時(shí)(例如,8),所提出的順序保持RAG與普通RAG的優(yōu)勢(shì)并不顯著。相反,當(dāng)檢索到的塊數(shù)量較大時(shí),我們的順序保持RAG顯著優(yōu)于普通RAG。具體來(lái)說(shuō),在EN.QA數(shù)據(jù)集上,當(dāng)檢索到的塊數(shù)量為128時(shí),普通RAG僅實(shí)現(xiàn)了38.40 F1分?jǐn)?shù),而我們的順序保持RAG實(shí)現(xiàn)了44.43 F1分?jǐn)?shù)。在EN.MC數(shù)據(jù)集上,檢索192個(gè)塊時(shí),普通RAG僅實(shí)現(xiàn)了81.22準(zhǔn)確率,而我們的順序保持RAG獲得了88.65準(zhǔn)確率。
圖片
4.4 主要結(jié)果
我們將所提出的順序保持RAG與兩種類(lèi)型的基線進(jìn)行了比較。第一類(lèi)方法使用沒(méi)有RAG的長(zhǎng)文本LLM。如表1所示,沒(méi)有RAG,LLM作為輸入采取了大量的token,這是低效和昂貴的。相比之下,所提出的順序保持RAG不僅顯著減少了token的數(shù)量,而且還顯著提高了答案質(zhì)量。例如,使用Llama3.1-70B模型,沒(méi)有RAG的方法在EN.QA上僅實(shí)現(xiàn)了34.26 F1分?jǐn)?shù),平均輸入了117K token。相比之下,我們的OP-RAG以48K token作為輸入達(dá)到了47.25 F1分?jǐn)?shù)。第二類(lèi)基線采用了SELF-ROUTE機(jī)制(Li等人,2024),該機(jī)制根據(jù)模型自我反思將查詢(xún)路由到RAG或長(zhǎng)文本LLM。如表1所示,我們顯著優(yōu)于使用遠(yuǎn)少于LLMs輸入的token。
圖片
表1:長(zhǎng)文本LLM沒(méi)有RAG、SELF-ROUTE機(jī)制(Li等人,2024)和所提出的順序保持(OP)RAG之間的比較。
5. 結(jié)論
在本文中,我們重新審視了檢索增強(qiáng)生成(RAG)在長(zhǎng)文本語(yǔ)言模型(LLMs)時(shí)代的角色。雖然最近的趨向支持長(zhǎng)文本LLMs而不是RAG,因?yàn)樗鼈兡軌蛘蠌V泛的文本序列,但我們的研究挑戰(zhàn)了這種觀點(diǎn)。我們認(rèn)為L(zhǎng)LMs中的極長(zhǎng)文本上下文可能導(dǎo)致對(duì)相關(guān)信息的關(guān)注減少,潛在地降低問(wèn)答任務(wù)中的答案質(zhì)量。為了解決這個(gè)問(wèn)題,我們提出了順序保持的檢索增強(qiáng)生成(OP-RAG)機(jī)制。我們?cè)诠不鶞?zhǔn)上的廣泛實(shí)驗(yàn)已經(jīng)證明,OP-RAG顯著提高了RAG在長(zhǎng)文本問(wèn)答應(yīng)用中的性能。OP-RAG的優(yōu)越性能表明,有效的檢索和集中的上下文利用可以勝過(guò)處理極長(zhǎng)文本的蠻力方法。
參考資料
標(biāo)題:In Defense of RAG in the Era of Long-Context Language Models
作者:Tan Yu, Anbang Xu, Rama Akkiraju
單位:NVIDIA Santa Clara, California United States
標(biāo)簽:人工智能、自然語(yǔ)言處理、檢索增強(qiáng)生成、長(zhǎng)文本處理、機(jī)器學(xué)習(xí)
概述:文章探討了在長(zhǎng)文本語(yǔ)言模型(LLMs)時(shí)代,檢索增強(qiáng)生成(RAG)的有效性,并提出了一種新的順序保持的檢索增強(qiáng)生成(OP-RAG)機(jī)制,以改善長(zhǎng)文本問(wèn)答應(yīng)用的性能。
鏈接:https://arxiv.org/abs/2409.01666