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