Adaptive-RAG:性能提升50%以上的高效RAG策略
圖片
框架
自適應(yīng)RAG通過判斷問題的復雜性來自動選擇使用哪種RAG策略。作者將問題劃分為三類(如上圖的C部分):
? 開放領(lǐng)域問答:這類任務(wù)通常涉及兩個模塊:一個檢索器和一個閱讀器。隨著具有千億參數(shù)的超強推理能力的LLMs的出現(xiàn),LLMs和檢索器之間的協(xié)同作用已經(jīng)取得了顯著進展。然而,盡管在單跳檢索增強LLMs方面取得了進展,但某些查詢的復雜性需要更復雜的策略。
? 多跳問答:多跳問答(Multi-hop QA)是傳統(tǒng)開放領(lǐng)域問答(Open-domain QA)的擴展,需要系統(tǒng)全面收集和上下文化多個文檔的信息回答更復雜的查詢。首先將多跳查詢分解為更簡單的單跳查詢,反復訪問LLMs和檢索器來解決這些子查詢,并合并它們的解決方案以形成完整答案。這種查詢的缺點是:每個查詢進行迭代訪問LLMs和檢索器可能效率極低,因為有些查詢可能足夠簡單,可以通過單一檢索步驟甚至僅通過LLM本身來解決。
? 自適應(yīng)檢索:為了處理不同復雜性的查詢,自適應(yīng)檢索策略根據(jù)每個查詢的復雜性動態(tài)決定是否檢索文檔。根據(jù)實體的頻率來確定查詢的復雜性級別,并建議僅當頻率低于一定閾值時才使用檢索模塊。然而,這種方法僅關(guān)注于檢索與否的二元決策,可能不足以解決需要多個推理步驟的更復雜的查詢。
分別使用三種策略來運用RAG進行回答:
Adaptive Retrieval-Augmented Generation (Adaptive-RAG) 是一種新型的問答框架,它能夠根據(jù)問題的復雜性動態(tài)選擇最適合的策略來處理檢索增強的大型語言模型(LLMs)。這三種策略包括:
1. 非檢索方法(No Retrieval):這是最簡單的策略,直接使用大型語言模型(LLM)本身的知識庫來生成答案。這種方法適用于那些模型已經(jīng)知道答案的簡單問題,不需要額外的外部信息。
2. 單步檢索方法(Single-step Approach):當問題需要額外的信息時,這種方法會先從外部知識源檢索相關(guān)信息,然后將檢索到的文檔作為上下文信息輸入到LLM中,幫助模型生成更準確的答案。這種方法適用于需要一次額外信息檢索的中等復雜度問題。
3. 多步檢索方法(Multi-step Approach):對于最復雜的問題,需要從多個文檔中綜合信息并進行多步推理。這種方法通過迭代地訪問檢索器和LLM,逐步構(gòu)建起解決問題所需的信息鏈。這種方法適用于需要多步邏輯推理的復雜問題。
Adaptive-RAG的核心在于它能夠通過一個分類器來評估問題的復雜性,然后根據(jù)這個評估結(jié)果選擇最合適的處理策略。分類器是一個較小的語言模型,它被訓練來預測傳入問題(query)的復雜性級別,并自動收集標簽,這些標簽來自于模型預測的實際結(jié)果和數(shù)據(jù)集中固有的歸納偏差。
通過這種方式,Adaptive-RAG能夠靈活地在不同的檢索增強LLM策略之間進行切換,從而在處理各種復雜性的問題時,實現(xiàn)更高的效率和準確性。這種方法在實驗中顯示出,與現(xiàn)有的自適應(yīng)檢索方法相比,Adaptive-RAG在多個開放域問答數(shù)據(jù)集上都取得了更好的整體效率和準確性。
在Adaptive-RAG模型中,訓練分類器以準確評估問題的復雜性是一個關(guān)鍵步驟。這個過程涉及以下幾個關(guān)鍵步驟:
1. 定義復雜性標簽:首先,需要定義問題的復雜性等級。在Adaptive-RAG中,通常有三個類別:簡單(A)、中等(B)和復雜(C)。簡單問題可以直接由LLM回答,中等復雜度問題需要單步檢索,而復雜問題則需要多步檢索和推理。
2. 自動收集訓練數(shù)據(jù):由于沒有現(xiàn)成的帶有復雜性標簽的查詢數(shù)據(jù)集,Adaptive-RAG通過兩種策略自動構(gòu)建訓練數(shù)據(jù)集:
? 從不同檢索增強LLM策略的預測結(jié)果中標注查詢的復雜性。
如果非檢索方法能夠正確生成答案,則對應(yīng)問題的標簽為簡單(A);
如果單步檢索方法和多步檢索方法都能正確回答,而非檢索方法失敗,則對應(yīng)問題的標簽為中等(B);
如果只有多步檢索方法能夠正確回答,則對應(yīng)問題的標簽為復雜(C)。
? 利用基準數(shù)據(jù)集中的固有偏差來標注未標記的查詢。
例如,如果一個查詢在單步數(shù)據(jù)集中未被標記,則自動分配標簽為中等(B);
如果在多步數(shù)據(jù)集中未被標記,則自動分配標簽為復雜(C)。
3. 訓練分類器:使用自動收集的查詢-復雜性對數(shù)據(jù)集,訓練一個較小的語言模型作為分類器。這個分類器的目標是根據(jù)輸入的問題(query)預測其復雜性級別。訓練過程中,使用交叉熵損失函數(shù),并選擇在驗證集上表現(xiàn)最佳的迭代次數(shù)。
4. 評估和優(yōu)化分類器:在訓練完成后,評估分類器的性能,包括準確率和其他相關(guān)指標。如果分類器的性能不足,可能需要進一步優(yōu)化,例如通過調(diào)整模型結(jié)構(gòu)、增加訓練數(shù)據(jù)或改進數(shù)據(jù)標注策略。
5. 集成到Adaptive-RAG框架:將訓練好的分類器集成到Adaptive-RAG框架中。在推理階段,分類器用于預測新問題的復雜性,然后根據(jù)這個預測結(jié)果選擇最合適的問答策略。
通過這種方法,Adaptive-RAG能夠動態(tài)地調(diào)整其查詢處理策略,以適應(yīng)不同復雜性的問題,從而提高問答系統(tǒng)的整體效率和準確性。
性能
圖片
上圖展示了不同檢索增強生成方法在問答任務(wù)中的性能和效率對比。這些方法包括不使用檢索的單步方法、自適應(yīng)檢索方法、多步方法,以及本文提出的Adaptive-RAG方法。圖中的橫軸表示每個查詢的處理時間,縱軸表示問答任務(wù)的性能,通常使用F1分數(shù)(F1 Score)來衡量。
從圖中可以看出,Adaptive-RAG方法在處理各種復雜性的查詢時,能夠在保持較高F1分數(shù)的同時,減少每個查詢的處理時間。這意味著Adaptive-RAG方法在提高問答系統(tǒng)整體效率的同時,也增強了系統(tǒng)的準確性。
具體來說,不使用檢索的單步方法(No Retrieval)在處理簡單查詢時效率較高,但在處理復雜查詢時性能下降。自適應(yīng)檢索方法(Adaptive Retrieval)和多步方法(Multi-step Approach)雖然能夠處理更復雜的查詢,但它們在效率上有所犧牲,尤其是多步方法,其處理時間顯著增加。
相比之下,Adaptive-RAG方法通過動態(tài)選擇最合適的檢索策略,實現(xiàn)了在簡單和復雜查詢之間的有效平衡。這表明Adaptive-RAG方法能夠根據(jù)查詢的實際需求,靈活地調(diào)整其處理策略,從而在不同的問答場景中都能取得良好的性能。
Arxiv[1]
引用鏈接
??[1]?
? Arxiv: https://arxiv.org/abs/2403.14403
本文轉(zhuǎn)載自 ??大語言模型論文跟蹤??,作者:HuggingAGI
