Adaptive-RAG:讓檢索增強(qiáng)生成更智能
在人工智能領(lǐng)域,檢索增強(qiáng)生成(Retrieval-Augmented Generation,RAG)一直是研究熱點(diǎn)。它通過(guò)結(jié)合檢索和生成技術(shù),為問(wèn)答系統(tǒng)帶來(lái)了更強(qiáng)大的性能。然而,現(xiàn)有的RAG方法并非完美無(wú)缺。它們?cè)谔幚矶嗵评砘蚨嗖襟E推理問(wèn)題時(shí)可能力不從心,而且往往缺乏對(duì)檢索到的信息的有效利用能力。
今天,就來(lái)聊聊一種全新的方法,來(lái)自韓國(guó)科學(xué)技術(shù)院發(fā)表在2024 NAACL上的一篇工作:自適應(yīng)檢索增強(qiáng)生成(Adaptive Retrieval-Augmented Generation,Adaptive-RAG)。
1、研究動(dòng)機(jī)
在實(shí)際應(yīng)用中,不難發(fā)現(xiàn),并非所有問(wèn)答場(chǎng)景都是復(fù)雜請(qǐng)求。有些問(wèn)題簡(jiǎn)單到直接使用語(yǔ)言模型(LLM)就能輕松回答,而有些問(wèn)題則需要從多個(gè)文檔中綜合信息并進(jìn)行多步推理。這就導(dǎo)致了一個(gè)問(wèn)題:如果對(duì)所有問(wèn)題都采用復(fù)雜的RAG策略,無(wú)疑會(huì)造成資源浪費(fèi);而如果對(duì)復(fù)雜問(wèn)題只使用簡(jiǎn)單的LLM方法,又無(wú)法得到準(zhǔn)確的答案。那么,如何在效率和準(zhǔn)確性之間找到一個(gè)平衡點(diǎn)呢?Adaptive-RAG應(yīng)運(yùn)而生。
2、方法介紹
現(xiàn)有LLMs問(wèn)答策略
在深入探討Adaptive-RAG之前,先來(lái)了解一下現(xiàn)有的LLM問(wèn)答策略。
- 非檢索方法(Non-Retrieval for QA):對(duì)于一些簡(jiǎn)單的查詢,LLM可以直接生成答案,無(wú)需進(jìn)行額外的文檔檢索。不過(guò),當(dāng)問(wèn)題涉及到需要精確或最新的知識(shí)時(shí),如特定人物、事件或其他超出 LLM 內(nèi)部知識(shí)范圍的主題,這種方法就顯得有些力不從心了。
- 單步檢索方法(Single-step Approach for QA):當(dāng)LLM無(wú)法直接回答問(wèn)題時(shí),可以利用外部知識(shí)執(zhí)行一次檢索操作,然后根據(jù)檢索到的信息生成答案。這種方法能夠?yàn)長(zhǎng)LM缺乏內(nèi)部知識(shí)提供補(bǔ)充上下文,從而提升問(wèn)答的準(zhǔn)確性和時(shí)效性。
- 多步檢索方法(Multi-step Approach for QA):在多步方法中,LLM與檢索模型進(jìn)行多輪交互,逐步完善對(duì)查詢的理解,直到最終形成答案。這種方法能夠?yàn)長(zhǎng)LM構(gòu)建更全面的知識(shí)基礎(chǔ),特別適合處理復(fù)雜的多跳查詢,但是會(huì)有更大的計(jì)算和資源開銷。
Adaptive-RAG
在實(shí)際應(yīng)用中,并非所有用戶的查詢都具有相同的復(fù)雜程度,因此需要針對(duì)每個(gè)查詢定制處理策略。換句話說(shuō),對(duì)于復(fù)雜查詢,如果只使用最基本、不帶檢索的 LLM 方法(LLM(q)),則會(huì)無(wú)效;相反,對(duì)于簡(jiǎn)單查詢,如果采用更復(fù)雜的多步驟方法(LLM(q, d, c)),則會(huì)導(dǎo)致資源浪費(fèi)。因此,Adaptive-RAG 試圖找到一個(gè)平衡點(diǎn),以提高效率和準(zhǔn)確性。
- 查詢復(fù)雜度評(píng)估
Adaptive-RAG 的關(guān)鍵步驟是確定給定查詢的復(fù)雜度,從而選擇最合適的回答策略。為了實(shí)現(xiàn)這一點(diǎn),本文訓(xùn)練了一個(gè)小型的語(yǔ)言模型作為分類器,用來(lái)預(yù)測(cè)即將到達(dá)的查詢的復(fù)雜度級(jí)別。
具體來(lái)說(shuō),對(duì)于給定的查詢 q,分類器可以被公式化為:o = Classifier(q),其中 Classifier 是一個(gè)小的語(yǔ)言模型,它被訓(xùn)練用來(lái)分類三個(gè)不同的復(fù)雜度等級(jí),而 o 則是其對(duì)應(yīng)的類別標(biāo)簽。
在設(shè)計(jì)中,有三個(gè)類別標(biāo)簽:
a.'A' 表示查詢 q 直接且可以用 LLM(q) 自身回答。
b. 'B' 表示查詢 q 具有中等復(fù)雜度,至少需要單步方法 LLM(q, d) 來(lái)解決。
c. 'C' 表示查詢 q 復(fù)雜,需要最全面的方法 LLM(q, d, c) 來(lái)解決。
- 訓(xùn)練策略
使用T5-Large(770M)模型作為查詢復(fù)雜性分類器,對(duì)于分類器的訓(xùn)練,關(guān)鍵步驟是如何準(zhǔn)確預(yù)測(cè)查詢 q 的復(fù)雜度 o。然而,現(xiàn)實(shí)中并不存在帶有查詢復(fù)雜度標(biāo)注的數(shù)據(jù)集。因此,本文提出了兩種特定策略來(lái)自動(dòng)構(gòu)建訓(xùn)練數(shù)據(jù)集:
通過(guò)這兩種方式,可以在無(wú)需人工標(biāo)注的情況下構(gòu)造出適合訓(xùn)練分類器的數(shù)據(jù)集。這種自動(dòng)化收集標(biāo)簽的方法不僅減少了人力成本,還確保了數(shù)據(jù)集的一致性和客觀性,使得分類器能夠?qū)W習(xí)到不同類型的查詢特征,并準(zhǔn)確地對(duì)新查詢進(jìn)行復(fù)雜度分類。
a.基于模型預(yù)測(cè)結(jié)果的自動(dòng)標(biāo)注:如果最簡(jiǎn)單的非檢索方法 LLM(q) 能正確生成答案,則將對(duì)應(yīng)的查詢標(biāo)記為 'A'。
如果多步驟方法 LLM(q, d, c) 能正確生成答案,而非檢索方法 LLM(q) 不能,則將查詢標(biāo)記為 'B' 或 'C',具體取決于是否還有更復(fù)雜的查詢未被標(biāo)記。
b.利用數(shù)據(jù)集中的固有歸納偏見(jiàn):一些數(shù)據(jù)集本身已經(jīng)設(shè)計(jì)成包含用于單步或多重推理的問(wèn)題,這些信息可以作為輔助來(lái)幫助標(biāo)注查詢的復(fù)雜度。對(duì)于那些初次標(biāo)注后仍未獲得標(biāo)簽的查詢,如果它們來(lái)自單跳數(shù)據(jù)集,則標(biāo)記為 'B';如果是多跳數(shù)據(jù)集,則標(biāo)記為 'C'。
3、實(shí)驗(yàn)配置
數(shù)據(jù)集
單跳問(wèn)答數(shù)據(jù)集(Single-hop QA):用于模擬簡(jiǎn)單查詢的場(chǎng)景,包括以下三個(gè)基準(zhǔn)數(shù)據(jù)集:
- SQuAD v1.1:由標(biāo)注者根據(jù)文檔編寫問(wèn)題而創(chuàng)建的數(shù)據(jù)集。
- Natural Questions:由Google搜索的真實(shí)用戶查詢構(gòu)建的數(shù)據(jù)集。
- TriviaQA:包含來(lái)自各種問(wèn)答網(wǎng)站的瑣事問(wèn)題。
多跳問(wèn)答數(shù)據(jù)集(Multi-hop QA):用于模擬復(fù)雜查詢的場(chǎng)景,包括以下三個(gè)基準(zhǔn)數(shù)據(jù)集:
- MuSiQue:通過(guò)組合多個(gè)單跳查詢來(lái)形成2-4跳查詢的數(shù)據(jù)集。
- HotpotQA:由標(biāo)注者創(chuàng)建的問(wèn)題鏈接多個(gè)維基百科文章。
- 2WikiMultiHopQA:從維基百科及其相關(guān)知識(shí)圖譜路徑派生而來(lái),需要2跳。
指標(biāo)
- 有效性指標(biāo):
F1:預(yù)測(cè)答案與真實(shí)答案之間重疊詞匯的數(shù)量。
EM(Exact Match):預(yù)測(cè)答案與真實(shí)答案是否完全相同。
Accuracy(Acc):預(yù)測(cè)答案是否包含真實(shí)答案。 - 效率指標(biāo):
Step:檢索和生成步驟的數(shù)量。
Time:相對(duì)于單步方法,回答每個(gè)查詢所需的平均時(shí)間。
4、實(shí)驗(yàn)結(jié)果
主要結(jié)果
整體性能:表1展示了所有數(shù)據(jù)集的平均結(jié)果,驗(yàn)證了簡(jiǎn)單檢索增強(qiáng)策略的有效性低于復(fù)雜策略,而復(fù)雜策略的計(jì)算成本顯著高于簡(jiǎn)單策略。Adaptive-RAG在保持高效的同時(shí),顯著提高了問(wèn)答系統(tǒng)的整體準(zhǔn)確性和效率。
詳細(xì)結(jié)果:表2提供了使用FLAN-T5-XL模型在各個(gè)單跳和多跳數(shù)據(jù)集上的更詳細(xì)結(jié)果,與表1中的觀察結(jié)果一致。Adaptive-RAG在處理復(fù)雜查詢時(shí)表現(xiàn)出色,尤其是在多跳數(shù)據(jù)集上,能夠有效地聚合多個(gè)文檔的信息并進(jìn)行推理。
理想情況下的性能:通過(guò)使用理想分類器(Oracle)的Adaptive-RAG,展示了模型在完美分類查詢復(fù)雜性情況下的性能上限。結(jié)果表明,它在效果上達(dá)到了最佳表現(xiàn),同時(shí)比沒(méi)有理想分類器的Adaptive-RAG更加高效。這些結(jié)果支持了根據(jù)查詢復(fù)雜度自適應(yīng)選擇檢索增強(qiáng)LLM策略的有效性和重要性。
分類器性能
分類準(zhǔn)確性:圖3展示了Adaptive-RAG的分類器在不同復(fù)雜性標(biāo)簽上的性能,其分類準(zhǔn)確性優(yōu)于其他自適應(yīng)檢索方法。這表明Adaptive-RAG能夠更準(zhǔn)確地將查詢分類為不同復(fù)雜性級(jí)別,從而為選擇合適的檢索策略提供依據(jù)。
混淆矩陣:圖3中的混淆矩陣揭示了一些分類趨勢(shì),例如“C(多步)”有時(shí)被錯(cuò)誤分類為“B(單步)”,“B(單步)”有時(shí)被錯(cuò)誤分類為“C(多步)”。這為未來(lái)改進(jìn)分類器提供了方向。
分類器效率分析
查詢處理時(shí)間:表3提供了Adaptive-RAG每條查詢的精確處理時(shí)間以及分類器預(yù)測(cè)標(biāo)簽的分布情況。結(jié)果表明,通過(guò)有效識(shí)別簡(jiǎn)單或直接的查詢,可以顯著提高效率。
分類器訓(xùn)練數(shù)據(jù)分析
訓(xùn)練策略對(duì)比:表4展示了不同訓(xùn)練策略對(duì)分類器性能的影響。作者提出的訓(xùn)練策略(結(jié)合模型預(yù)測(cè)結(jié)果和數(shù)據(jù)集偏見(jiàn))在效率和準(zhǔn)確性方面均優(yōu)于僅依賴數(shù)據(jù)集偏見(jiàn)或僅使用銀標(biāo)準(zhǔn)數(shù)據(jù)的策略。這表明,結(jié)合多種信息源可以提高分類器的性能。
分類器大小分析
模型大小對(duì)性能的影響:表6顯示了不同大小分類器的性能。結(jié)果表明,即使在分類器規(guī)模較小、復(fù)雜度較低的情況下,性能也沒(méi)有顯著差異。這表明Adaptive-RAG可以在資源受限的環(huán)境中使用較小的分類器,而不影響整體性能。
案例研究
簡(jiǎn)單查詢處理:對(duì)于簡(jiǎn)單的單跳問(wèn)題,Adaptive-RAG能夠識(shí)別出僅使用LLM的參數(shù)知識(shí)即可回答,而無(wú)需檢索外部文檔。相比之下,其他自適應(yīng)方法可能會(huì)檢索額外的文檔,導(dǎo)致處理時(shí)間延長(zhǎng),并可能因包含部分不相關(guān)信息而產(chǎn)生錯(cuò)誤答案。
復(fù)雜查詢處理:面對(duì)復(fù)雜問(wèn)題時(shí),Adaptive-RAG能夠?qū)ふ蚁嚓P(guān)的信息,包括LLM中可能未存儲(chǔ)的細(xì)節(jié),如“John Cabot的兒子是誰(shuí)”,而其他自適應(yīng)方法可能無(wú)法從外部源請(qǐng)求此類信息,從而導(dǎo)致不準(zhǔn)確的答案。
5、總結(jié)
Adaptive-RAG是一種非常有意思的方法。它通過(guò)一個(gè)小模型輔助LLM判斷是否需要單步檢索或多步檢索,相比一些直接微調(diào)LLM的方法(如Self-RAG),不僅更高效,而且性能也更優(yōu)。
但是如果要在檢索推理性能上扣細(xì)節(jié)的話,這種策略還是有很多優(yōu)化空間,比如在2023 ACL上的一篇文章《When Not to Trust Language Models: Investigating Effectiveness of Parametric and Non-Parametric Memories》評(píng)估了LLM檢索哪些類型的知識(shí)對(duì)模型性能的提高更有益,哪些類型的知識(shí)可能會(huì)損害模型性能,這些皆是可以使用小模型輔助LLM判斷的參考信息。
這種方法為普通玩家提供了一個(gè)可行的解決方案,也為RAG方法的優(yōu)化提供了新的思路。