在長上下文LLM的時代,RAG是否仍然必要?
一、結(jié)論寫在前面
論文標(biāo)題:In Defense of RAG in the Era of Long-Context Language Models
論文鏈接:??https://arxiv.org/pdf/2409.01666??
克服早期生成式大型語言模型(LLMs)的有限上下文限制,檢索增強(qiáng)生成(RAG)在過去一直是基于上下文的答案生成的可靠解決方案。最近,長上下文LLMs的出現(xiàn)使得模型能夠整合更長的文本序列,使得RAG變得不那么吸引人。最近的研究表明,長上下文LLMs在長上下文應(yīng)用中顯著優(yōu)于RAG。與現(xiàn)有傾向于長上下文LLM而非RAG的工作不同,論文認(rèn)為LLMs中的極長上下文會導(dǎo)致對相關(guān)信息的注意力減弱,并可能導(dǎo)致答案質(zhì)量的潛在下降。
論文重新審視了RAG在長上下文回答生成中的有效性。論文觀察到,在LLM的上下文中,檢索到的塊的順序?qū)卮鹳|(zhì)量至關(guān)重要。與傳統(tǒng)RAG將檢索到的塊按相關(guān)性降序排列不同,論文提出在原始文本中保留檢索到的塊的順序。論文的實(shí)驗(yàn)表明,所提出的順序保留機(jī)制顯著提高了RAG的回答質(zhì)量。
與此同時,使用提出的保序RAG,隨著檢索塊數(shù)量的增加,答案質(zhì)量起初上升然后下降。這是因?yàn)椋S著檢索塊的增多,模型能夠訪問到更多潛在相關(guān)的信息,從而提高了檢索到生成高質(zhì)量答案所需正確上下文的機(jī)會。然而,隨著檢索塊的增多,引入不相關(guān)或干擾信息的可能性也增加。這些多余的信息可能會迷惑模型,導(dǎo)致答案質(zhì)量下降。因此,權(quán)衡在于通過檢索更多上下文來提高召回率與通過限制干擾來保持精確度之間。最佳點(diǎn)在于相關(guān)與不相關(guān)信息的平衡最大化答案質(zhì)量。超過這一點(diǎn),引入過多不相關(guān)信息會降低模型性能。這解釋了將整個長上下文作為LLM輸入的方法性能較差的原因。
與Li等人(2024)的結(jié)論不同,通過提出的保序機(jī)制,RAG相比僅依賴長上下文LLM的同類方法,實(shí)現(xiàn)了更高的答案質(zhì)量。如圖4a所示,在∞Bench的En.QA數(shù)據(jù)集上,僅使用16K檢索token,論文使用Llama3.1-70B達(dá)到了44.43 F1分?jǐn)?shù)。相比之下,不使用RAG,Llama3.1-70B充分利用128K上下文僅達(dá)到34.32 F1分?jǐn)?shù),GPT-40僅達(dá)到32.36 F1分?jǐn)?shù),Gemini-1.5-Pro在Li等人(2024)的評估下僅獲得43.08 F1分?jǐn)?shù)。也就是說,RAG即使在輸入長度顯著減少的情況下,也能實(shí)現(xiàn)更高的 F1分?jǐn)?shù)。
二、論文的簡單介紹
2.1 論文的背景
由于早期LLM的上下文窗口長度有限(例如,4096),檢索增強(qiáng)生成(RAG)是處理大規(guī)模上下文語料庫不可或缺的選擇。由于答案質(zhì)量在很大程度上依賴于檢索模型的性能,因此在設(shè)計RAG系統(tǒng)時,大量的努力都投入到提高檢索的召回率/精確度上。
最近,最先進(jìn)的LLMs支持更長的上下文窗口。例如,GPT-40,Claudi-3.5,Llama3.1、Phi-3和Mistral-Large2都支持128K上下文。Gemini-1.5-pro甚至支持1M上下文窗口。長上下文LLM的近期涌現(xiàn)自然引發(fā)了一個問題:在長上下文LLM的時代,RAG是否仍然必要?Li et al.(2024)最近系統(tǒng)地比較了RAG與長上下文(LC)LLM(不使用RAG),并證明LC(long-context) LLM在回答質(zhì)量方面始終優(yōu)于RAG。
圖1:提出的順序保留檢索增強(qiáng)生成(OP-RAG)與使用長上下文LLM但不使用RAG的方法在coBench的En.QA數(shù)據(jù)集上的比較。論文的OP-RAG使用Llama3.1-70B作為生成器,顯著優(yōu)于不使用RAG的Llama3.1-70B。
圖 2 :普通RAG與提出的順序保留RAG的對比。如圖所示,文檔被分割成13個片段 。每個片段附有一個相似度分?jǐn)?shù)。論文檢索相似度分?jǐn)?shù)最高的4個片段。普通RAG按分?jǐn)?shù)降序排列片段,而提出的順序保留RAG則根據(jù)片段在原始文檔中的順序排列。
2.2 順序保留RAG
論文用 d 表示長文本上下文,例如一個長文檔。論文將 d 順序且均勻地分割成 N個片段 c_i。索引 i 表示片段 c_i在 d 中的順序。即, c_i-1表示 c_i之前的片段,而 c_i+1表示 c_i之后的片段。給定一個查詢 q ,論文通過計算 q 的嵌入與 c_i的嵌入之間的余弦相似度來獲得片段 c_i的相關(guān)性分?jǐn)?shù):
其中 cos(., .) 表示余弦相似度函數(shù),emb(.) 表示嵌入函數(shù)。
圖3:上下文長度對RAG性能的影響。評估在coBench的En.QA和EN.MC數(shù)據(jù)集上進(jìn)行。
論文檢索與最高余弦相似度 d 對應(yīng)的top-k個片段J這些片段在原始長上下文中的順序,即論文約束
圖2展示了vanilla RAG與提出的順序保留RAG之間的差異。與vanilla RAG按相似度降序排列片段不同,提出的順序保留RAG保持了片段在原始文檔中的順序。
2.3 實(shí)驗(yàn)
2.3.1 數(shù)據(jù)集
論文在∞Bench基準(zhǔn)測試的En.QA和EN.MC數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),這些數(shù)據(jù)集專門設(shè)計用于長上下文問答評估。具體來說,En.QA包含351個人工標(biāo)注的問答對。平均而言,En.QA中的長上下文包含150,374個單詞。論文使用F1-score作為En.QA的評估指標(biāo)。EN.MC包含224個問答對,其標(biāo)注方式與En.QA類似,但每個問題提供四個答案選項(xiàng)。平均而言,EN.MC中的長上下文包含142,622個單詞。論文使用準(zhǔn)確率作為EN.MC的評估指標(biāo)。論文注意到還有一個名為LongBench的基準(zhǔn)測試。然而,LongBench的平均上下文長度低于20K個單詞,不足以評估支持128K-token窗口大小的最新長上下文LLMs。
2.3.2 實(shí)現(xiàn)細(xì)節(jié)
論文在所有數(shù)據(jù)集上將片段大小設(shè)置為128個token。片段之間不重疊。論文默認(rèn)使用BGE-large-en-v1.5來提取查詢和片段的嵌入。
2.3.3 消融實(shí)驗(yàn)
論文評估了上下文長度對提出的保序RAG性能的影響。由于每個塊包含128個token,上下文長度為128 m,其中m是作為生成答案上下文檢索塊的數(shù)量。如圖3所示,隨著上下文長度的增加,性能最初有所提升。這是因?yàn)楦嗟纳舷挛目赡芨袡C(jī)會覆蓋相關(guān)塊。然而,隨著上下文長度進(jìn)一步增加,答案質(zhì)量下降,因?yàn)槭褂昧烁嗖幌嚓P(guān)的塊作為干擾。
具體來說,Llama3.1-8B模型在EN.QA數(shù)據(jù)集和EN.MC數(shù)據(jù)集上的性能峰值出現(xiàn)在上下文長度為16K時,而Llama3.1-70B模型在EN.QA上的最佳性能出現(xiàn)在48K,在EN.MC上為32K。Llama3.1-70B的峰值點(diǎn)晚于Llama3.1-8B模型,這可能是因?yàn)楦笠?guī)模的模型具有更強(qiáng)的能力來區(qū)分無關(guān)的干擾。
圖 4:提出的順序保留RAG與普通RAG的比較。評估在coBench的En.QA和EN.MC數(shù)據(jù)集上進(jìn)行,使用Llama3.1-70B模型
順序保留RAG與普通RAG的比較。如圖4 所示,當(dāng)檢索的塊數(shù)較少時(例如,8),提出的順序保留RAG相對于普通RAG的優(yōu)勢并不顯著。相反,當(dāng)檢索的塊數(shù)較多時,論文的順序保留RAG顯著優(yōu)于普通RAG。具體來說,在EN.QA數(shù)據(jù)集上,當(dāng)檢索的塊數(shù)為128時,普通RAG僅達(dá)到38.40 F1分?jǐn)?shù),而論文的順序保留RAG達(dá)到44.43 F1分?jǐn)?shù)。在EN.MC數(shù)據(jù)集上,檢索192個塊時,普通RAG僅達(dá)到81.22的準(zhǔn)確率,而論文的順序保留RAG達(dá)到88.65的準(zhǔn)確率。
2.3.4 主要結(jié)果
論文將提出的順序保留RAG與兩類基線進(jìn)行比較。第一類方法使用不帶RAG的長上下文LLM。如表1所示,沒有RAG時,LLM需要輸入大量的token,這既低效又昂貴。
相比之下,提出的順序保留RAG不僅顯著減少了token數(shù)量,還顯著提高了答案質(zhì)量。例如,使用Llama3.1-70B模型,沒有RAG的方法在EN.QA上僅達(dá)到34.26的F1分?jǐn)?shù),平均輸入117K個token。
相比之下,論文的OP-RAG在輸入48K個token時達(dá)到47.25的F1分?jǐn)?shù)。第二類基線采用SELF-ROUTE機(jī)制(Li et al., 2024),該機(jī)制根據(jù)模型自我反思將查詢路由到RAG或長上下文LLM。如表1所示,論文的方法顯著優(yōu)于在LLMs輸入中使用少得多的token。
表1:不帶RAG的長上下文LLM、SELF-ROUTE機(jī)制(Li et al., 2024)與提出的順序保留(OP)RAG的比較。
本文轉(zhuǎn)載自 ??AI帝國??,作者: 無影寺
