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