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




































