通用RAG:通過路由模塊對多源異構(gòu)知識庫檢索生成問答思路
如何在多個語料庫(多源異構(gòu)知識庫,如:文本、圖片、視頻)中檢索和整合來自不同模態(tài)和粒度的知識?UniversalRAG:一個多模態(tài)RAG框架,用于從多個模態(tài)和粒度的語料庫中檢索和整合知識。下面來看看思路,供參考。
方法
(A) 單一模態(tài)的 RAG 僅檢索一種模態(tài)的數(shù)據(jù)。(B) 單一語料庫的 RAG 專注于檢索數(shù)據(jù)模態(tài),而忽略語義。(C) UniversalRAG使用路由器和多個語料庫有效地支持多樣化的查詢,涵蓋不同的模態(tài)和粒度。
從上圖可以看到,UniversalRAG的核心思想是通過動態(tài)識別和路由查詢到最合適的模態(tài)和粒度知識源來進行檢索。
- 模態(tài)感知檢索(Modality-Aware Retrieval):
- 多模態(tài)語料庫:UniversalRAG維護三個獨立的嵌入空間,分別對應文本、圖像和視頻模態(tài)。每個模態(tài)的語料庫被組織成不同的子語料庫,如:文本語料庫分為段落級和文檔級,視頻語料庫分為完整視頻和視頻片段。
- 路由模塊(Router):引入一個路由模塊,Router,動態(tài)選擇每個查詢的最合適模態(tài)。給定一個查詢q,Router預測查詢相關(guān)的模態(tài)r,并從相應的模態(tài)特定語料庫中選擇相關(guān)項c。
- 粒度感知檢索(Granularity-Aware Retrieval):
- 多粒度支持:為了靈活適應不同查詢的信息需求,UniversalRAG在每個模態(tài)內(nèi)進一步劃分為多個粒度級別。例如,文本語料庫分為段落級和文檔級,視頻語料庫分為視頻片段和完整視頻。
- 路由決策:路由決策r分為六類:無檢索(None)、段落(Paragraph)、文檔(Document)、圖像(Image)、片段(Clip)、視頻(Video)。檢索過程根據(jù)路由決策r進行,具體公式如下:
圖片
路由模塊設(shè)計:
一、無訓練的路由
無訓練的路由利用預訓練的LLM的內(nèi)在知識和推理能力來分類查詢。步驟如下:
- 提示設(shè)計:給定一個查詢q,LLM會被提供一個詳細的指令描述路由任務,并附帶幾個上下文示例。
- 預測路由類型:LLM根據(jù)提示和示例預測查詢最合適的檢索類型,從六個預定義的選項中選擇。
小結(jié):這種方法的優(yōu)勢在于不需要額外的訓練數(shù)據(jù),利用了LLM的強大泛化能力。然而,其性能可能受限于LLM的預訓練知識和推理能力。
二、訓練路由
為了提高路由的準確性,UniversalRAG還探索了訓練路由模塊的方法。訓練路由模塊面臨的主要挑戰(zhàn)是缺乏查詢標簽對(ground-truth query-label pairs)來進行最優(yōu)語料庫選擇的監(jiān)督。為此,文章采用了一種間接的方法來構(gòu)建訓練數(shù)據(jù)集:
- 利用基準測試的歸納偏差:假設(shè)每個基準測試主要與特定的模態(tài)和檢索粒度相關(guān)聯(lián)。例如,文本問答基準測試中的查詢可能主要需要段落級別的信息,而多跳問答基準測試可能需要文檔級別的信息。
- 標簽分配:
對于文本問答基準測試,查詢被標記為'None'(如果查詢可以僅通過模型的參數(shù)知識回答)、'Paragraph'(單跳RAG基準測試)或'Document'(多跳RAG基準測試)。
對于圖像基準測試,查詢被標記為'Image'。
對于視頻問答基準測試,查詢被標記為'Clip'(如果查詢關(guān)注視頻中的局部事件或特定時刻)或'Video'(如果查詢需要理解整個視頻的故事情節(jié)或更廣泛的上下文)。
不同路由器模型大小的路由器準確率
性能效果
圖片
在八個多模態(tài)數(shù)據(jù)集上比較 UniversalRAG 模型與基線的總體結(jié)果。UniversalRAG(我們的模型)以彩色單元格表示,包含針對 DistilBERT 和 T5-Large 訓練的路由器模型,以及基于 GPT-4o 的免訓練路由器方法。通過自適應地為每個查詢選擇最佳檢索模態(tài),UniversalRAG 的性能與 Oracle 檢索選擇的性能相當,并且平均而言優(yōu)于所有基線。
在八個多模態(tài)數(shù)據(jù)集上比較 UniversalRAG 模型與基線的總體結(jié)果。UniversalRAG(我們的模型)以彩色單元格表示,包含針對 DistilBERT 和 T5-Large 訓練的路由器模型,以及基于 GPT-4o 的免訓練路由器方法。通過自適應地為每個查詢選擇最佳檢索模態(tài),UniversalRAG 的性能與 Oracle 檢索選擇的性能相當,并且平均而言優(yōu)于所有基線。
圖片
檢索粒度對兩個基準測試的性能影響:HotpotQA(需要對文檔進行多跳推理)和 LVBench(其查詢通??捎枚桃曨l片段進行回答)。具有粒度的 UniversalRAG 始終優(yōu)于無粒度的模型,這突顯了結(jié)合不同粒度級別可以增強 UniversalRAG 自適應處理各種用戶問題的能力。
檢索粒度對兩個基準測試的性能影響:HotpotQA(需要對文檔進行多跳推理)和 LVBench(其查詢通??捎枚桃曨l片段進行回答)。具有粒度的 UniversalRAG 始終優(yōu)于無粒度的模型,這突顯了結(jié)合不同粒度級別可以增強 UniversalRAG 自適應處理各種用戶問題的能力。
參考:UniversalRAG: Retrieval-Augmented Generation over Multiple Corpora with Diverse Modalities and Granularities,https://arxiv.org/pdf/2504.20734