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