顛覆直覺:Top N 越大,RAG效果可能越差
一、RAG 系統(tǒng)的背景與挑戰(zhàn)
在自然語言處理(NLP)領(lǐng)域,大型語言模型(LLMs)如 GPT、BERT 等已經(jīng)展現(xiàn)出了強(qiáng)大的文本生成、問答和摘要能力。然而,這些模型也存在一些顯著的局限性。
? 首先,LLMs 的知識是靜態(tài)的,這意味著它們無法及時(shí)更新以反映新信息,導(dǎo)致生成的回答可能過時(shí)。
? 其次,LLMs 有時(shí)會生成聽起來合理但事實(shí)上錯誤的回答,這種現(xiàn)象被稱為“幻覺”。
? 最后,LLMs 在涉及高級專業(yè)領(lǐng)域的知識時(shí),往往缺乏足夠的深度。
為了應(yīng)對這些挑戰(zhàn),檢索增強(qiáng)生成(Retrieval-Augmented Generation, RAG)系統(tǒng)應(yīng)運(yùn)而生。RAG 系統(tǒng)通過引入檢索組件,使 LLMs 能夠動態(tài)地利用外部知識源,從而生成更準(zhǔn)確、更及時(shí)的回答。
RAG 系統(tǒng)已經(jīng)在多個(gè)行業(yè)中得到廣泛應(yīng)用,尤其是在企業(yè)內(nèi)部文檔查詢等場景中。然而,盡管 RAG 系統(tǒng)的應(yīng)用日益廣泛,關(guān)于其最佳配置的研究卻相對缺乏,特別是在上下文大小、基礎(chǔ) LLM 選擇以及檢索方法等方面。
二、試驗(yàn)結(jié)果
RAG 系統(tǒng)通常由兩個(gè)主要組件構(gòu)成:檢索器(Retriever)和生成器(Reader):
? 檢索器負(fù)責(zé)從外部知識庫中檢索相關(guān)的上下文片段,這些片段隨后被傳遞給生成器
? 生成器基于這些上下文生成最終的回答。
作者重點(diǎn)探討了這三個(gè)方面(檢索器、上下文、生成器)對系統(tǒng)整體性能的影響。
首先研究了上下文大小對生成器問答能力的影響。結(jié)果表明:隨著上下文片段數(shù)量的增加,系統(tǒng)的性能逐步提升,但當(dāng)片段數(shù)量達(dá)到 10 到 15 個(gè)時(shí),性能開始趨于穩(wěn)定,甚至在某些情況下會出現(xiàn)下降。這一現(xiàn)象表明,過多的上下文片段可能會導(dǎo)致信息過載,反而影響生成器的表現(xiàn)。
2.1 黃金片段測試
圖片
上圖展示了四個(gè)較大尺寸的大語言模型(LLMs)在使用黃金片段后的表現(xiàn),四個(gè)模型分別是GPT3.5、GPT-4o、Llama 3 70B、Mixtral (8x7B)。
所有模型都呈現(xiàn)出相似的模式:
? 從較低的零樣本性能開始,僅使用一個(gè)上下文片段就能顯著提升性能。
? 大多數(shù)模型在所有三個(gè)評估指標(biāo)上逐步且穩(wěn)定地改進(jìn)。
2.2 封閉式測試
使用了包含八千篇PubMed文章的小型知識庫,這些文章在BioASQ中被用作黃金證據(jù)。
圖片
實(shí)驗(yàn)結(jié)果如上表所示,模型性能與之前有所下降。即使是表現(xiàn)最佳的Mixtral模型,其性能也平均下降。
盡管如此,隨著選擇的top k片段數(shù)量的增加,性能仍然逐步提升,表明更多的上下文信息能夠帶來更好的表現(xiàn)。
這一點(diǎn)在top-10設(shè)置中尤為明顯,因?yàn)檫x擇的證據(jù)片段越多,選中用于生成理想答案的黃金證據(jù)片段的概率就越高。
2.3 開放式測試
使用約1000萬篇PubMed文章作為檢索的知識庫。其目的是觀察:
(1)在開放式設(shè)置下,性能與使用黃金證據(jù)的封閉式設(shè)置相比有多大差異;
(2)不同檢索器對性能的影響。
圖片
圖片
上表結(jié)果顯示:
? 開放式檢索顯然是最具挑戰(zhàn)性的設(shè)置,整體平均得分最低。
? 使用BM25檢索文檔的最終性能略優(yōu)于語義搜索。
3. 結(jié)論
3.1 檢索技術(shù)
圖片
從上表可以看出,BM25在整體性能上表現(xiàn)更優(yōu)。由于BM25基于關(guān)鍵詞匹配,這種檢索技術(shù)優(yōu)化了搜索結(jié)果的精確度(precision)而非召回率(recall),從而確保檢索到的文檔更有可能討論問題中提到的相同概念(關(guān)鍵詞)。
優(yōu)化精確度并將查詢關(guān)鍵詞與知識庫中的內(nèi)容匹配,可以提升性能。特別是在生物醫(yī)學(xué)領(lǐng)域等關(guān)鍵應(yīng)用中,優(yōu)化精確度和生成穩(wěn)健的答案可能比語義搜索提供的召回率更為重要。
注:
? ROUGE-L 是一種基于最長公共子序列(LCS)的評估指標(biāo),主要用于衡量生成文本與參考文本之間的相似性。它關(guān)注生成文本中與參考文本匹配的最長連續(xù)子序列,側(cè)重于召回率(Recall),即生成文本中有多少內(nèi)容與參考文本一致。
? BERTScore 是一種基于預(yù)訓(xùn)練語言模型(如 BERT)的評估指標(biāo),通過計(jì)算生成文本與參考文本在語義空間中的相似性來評估質(zhì)量。它使用 BERT 模型將文本編碼為向量,然后計(jì)算生成文本與參考文本之間的余弦相似度。相比 ROUGE 等基于詞匯重疊的指標(biāo),BERTScore 更能捕捉語義層面的相似性,適合評估生成文本的語義準(zhǔn)確性。
? Ent.% 是基于自然語言推理(Natural Language Inference, NLI)模型的評估指標(biāo),用于衡量生成文本與參考文本之間的邏輯一致性(蘊(yùn)含關(guān)系)。NLI 模型會判斷生成文本是否邏輯上蘊(yùn)含(Entailment)參考文本的內(nèi)容。
3.2 內(nèi)部知識與外部知識的沖突
圖片
上表中開放式檢索的一個(gè)有趣現(xiàn)象:GPT和Mixtral在零樣本答案(無上下文片段)中的得分高于提供多達(dá)10個(gè)上下文片段的答案。
這種現(xiàn)象的一個(gè)可能解釋是:盡管在語料庫中發(fā)現(xiàn)的片段可能與問題在語義上相似,但它們并不總是提供所有重要信息。
當(dāng)僅使用普通提示時(shí),LLM基于其“內(nèi)部”知識生成答案:反映了LLM從大規(guī)模預(yù)訓(xùn)練語料庫中積累的知識。
因此,LLM的內(nèi)部知識答案可能比RAG設(shè)置中的答案更具信息量,因?yàn)樵赗AG設(shè)置中,LLM被指示僅使用提供的短片段來回答問題。隨著更多片段的加入,RAG答案的信息量開始超越LLM的內(nèi)部知識。
圖片
以上表中的第一個(gè)示例為例,Mixtral基于內(nèi)部知識生成的答案提到了純化和IgG,與黃金答案一致,而基于top-3片段生成的答案則是不完整的。
一般來說,瓶頸通常與錯誤的檢索有關(guān)——有時(shí)檢索到的片段根本沒有回答問題,尤其是對于BioASQ中復(fù)雜的生物醫(yī)學(xué)術(shù)語。
另一方面,普通設(shè)置下的LLM總是基于其最佳知識提供答案,因此在檢索不佳的情況下表現(xiàn)更好。在上表的第二個(gè)示例中顯而易見。
展示了LLM內(nèi)部知識與傳遞給它們的上下文知識之間沖突的已知挑戰(zhàn),也是一個(gè)有趣的未來研究方向。
3.3 上下文飽和
圖片
上表中的另一個(gè)發(fā)現(xiàn)是,性能提升存在一定的上限。
隨著不斷增加上下文片段的數(shù)量,增加到20個(gè)時(shí),性能趨于停滯,而在檢索到30個(gè)上下文片段時(shí),性能略有下降。
當(dāng)達(dá)到飽和點(diǎn)后,向提示中添加更多上下文只會導(dǎo)致回答中的噪音和混淆。
證實(shí)了文獻(xiàn)中的先前發(fā)現(xiàn),即在長提示中,上下文可能會“迷失在中間”,并在LLM回答問題時(shí)被忽略。
注:本論文代碼和數(shù)據(jù)已開源:https://github.com/jvladika/ContextRAG
本文轉(zhuǎn)載自??大語言模型論文跟蹤??,作者:HuggingAGI
