VisRAG:清華大學&面壁智能提出了一種新的RAG思路,效果提升明顯
1. 為啥要提出VisRAG?
檢索增強生成(Retrieval-augmented generation, RAG) 已經成為解決LLM幻覺和知識更新的經典方案,典型的RAG流程是基于文本的(以下簡稱TextRAG),以分割后的文本作為檢索單元。
但是在真實場景中,知識往往以多模態的形式出現,比如教科書、手冊等。這些文檔中的文本與圖像交織在一起。為了從這類數據源中提取文本,通常需要一個解析階段,這包括布局識別、光學字符識別(OCR)和文本合并等后處理步驟。雖然這種方法在大多數情況下是有效的,但解析過程還是會不可避免地引入錯誤,從而對檢索和生成階段產生負面影響。
TextRAG只利用了文本信息,忽略了其他模態,如圖像中可能包含的信息。盡管已經對圖像檢索和多模態RAG進行了研究,但這些研究主要集中在預定義場景中,其中圖像和描述性文本已經被正確提取和配對,與現實世界中文本和圖像(包括圖形)常常交錯在單個文檔頁面內的情況有所不同。
所以,本文作者提出了一種VisRAG,旨在探索完全基于視覺語言模型(VLMs)構建純視覺RAG流程的可行性。
2. 什么是VisRAG?
VisRAG是一種新型視覺檢索增強生成系統,由VLM驅動的檢索器VisRAG-Ret和生成器VisRAG-Gen組成。
圖片
如上圖(左邊)所示,TextRAG 通常使用基于文本的單元進行檢索和生成。右邊是 VisRAG,與傳統RAG框架利用文本片段進行檢索和生成不同,VisRAG通過文檔圖像來保留全部信息,確保數據的完整性。
2.1 檢索階段
VisRAG的首個環節,即VisRAG-Ret,在給定查詢q的情況下,從文檔集合D中檢索出一系列頁面。
借鑒了文本密集檢索器的 Bi-Encoder 架構,將查詢和文檔(直接使用文檔圖像,而非依賴提取的文本內容)映射到嵌入空間。
Bi-Encoders:將句子 A 和 B 獨立地傳遞給 BERT,從而產生句子嵌入 u 和 v,然后可以使用余弦相似度比較。
查詢和頁面在VLM中分別以文本和圖像的形式獨立編碼,為了得到最終的嵌入向量,采用了位置加權平均池化處理VLM的最后一層隱藏狀態。
2.2 生成階段
VisRAG的第二環節:VisRAG-Gen,利用視覺語言模型(VLM)根據用戶查詢和檢索出的頁面生成答案。考慮到檢索出的頁面往往都不止一頁,而大多數多模態大模型只能接受單張圖片,所以提出了兩種方案來實現:
? 頁面合并(Page Concatenation):將檢索出的頁面合并為一張圖片,在VisRAG中,作者主要嘗試的是水平合并。
? 加權篩選(Weighted Selection):讓VLM為top-k中的每個頁面生成一個答案,并選擇置信度最高的答案作為最終答案。
3. 效果對比
3.1 檢索性能
對比了VisRAG-Ret與三種情況模型進行對比:
? a. 現成模型
? b. 僅利用合成數據的跨領域模型
? c. 同時利用領域內和合成數據
圖片
如上表(a)(b)所示,VisRAG-Ret在跨領域數據上的訓練成果超越了所有現成基線模型,包括文本和視覺模型。它顯著地優于BM25和bge-large,并超越了擁有7.85B參數的先進文本檢索模型NV-Embed-v2。
bge-large和NV-Embed-v2是在數百萬查詢-文檔對上訓練的,比VisRAG-Ret訓練數據多出10倍。盡管bge-large在MTEB等基準測試中勝過BM25,但在作者的數據集上表現不佳,表明:在干凈文本上訓練的嵌入模型難以應對現實世界文檔解析出的文本。
當在相同的數據設置下訓練時,VisRAG-Ret顯著超越了文本模型MiniCPM (OCR) & (Captioner)和視覺模型SigLIP。
在跨領域環境中,VisRAG-Ret的優勢更加明顯,相較于MiniCPM (OCR)和SigLIP分別實現了15%和22%的提升,而在領域內環境中提升為8%和10%。說明VisRAG-Ret相比以文本和視覺為中心的模型具有更佳的泛化能力。
盡管MiniCPM (Captioner)使用了相同的VLM MiniCPM-V 2.0進行解析,但其表現不及VisRAG-Ret,這表明直接用VLMs編碼比用VLMs解析更為有效。可能是因為在將多模態信息轉錄為文本時不可避免地會有信息損失。
MiniCPM (OCR)和SigLIP在不同數據集上的表現各異:
? SigLIP在ArxivQA和ChartQA中表現出色,而MiniCPM (OCR)在DocVQA和InfographicsVQA中顯著優于SigLIP。這可能是因為兩個模型的關注點不同:MiniCPM側重于文本,而SigLIP側重于視覺信號。
? VisRAG-Ret基于MiniCPM-V 2.0構建,結合了SigLIP編碼器和MiniCPM語言模型的優勢,在所有數據集上均有良好表現,能夠從文檔中捕獲更全面的信息。
與ColPali相比,ColPali是一個多向量文檔頁面嵌入模型,VisRAG-Ret保持了優越的性能,實現了更佳的內存效率。ColPali用分布在1030個128維向量上的256KB數據表示一頁,而VisRAG-Ret僅使用單個2304維向量的4.5KB。這使得VisRAG-Ret更適合在現實世界的應用中擴展至數百萬或數十億文檔。
3.2 生成性能
在統一的檢索智能體VisRAG-Ret之上,應用了多種基于文本和視覺的生成器和方法,探究它們在給定查詢和檢索文檔的情況下生成答案的能力。
圖片
上表展示了多種生成方式的效果:
? a. 基于文本的生成(TextRAG-Gen)
? b. 采用單張圖片輸入的VLM MiniCPM-V 2.0進行的生成
? c. 采用能接受多張圖片輸入的VLM進行的生成
當模型僅被提供真實文檔("Oracle")時,直接處理文檔圖像的VisRAG-Gen模型顯著超越了僅依賴提取文本的RAG-Gen模型。比如:MiniCPM-V 2.0在利用真實文檔時的性能比MiniCPM (OCR)高出36%。從文檔中提取答案時視覺線索的關鍵作用,并顯示出VisRAG-Gen相比TextRAG-Gen有著更高的性能潛力。
在實際應用場景中,模型通常會接收到包含噪聲的前1至3個檢索文檔,VisRAG-Gen在同一系列模型中持續超越TextRAG-Gen。
特別是對于僅能處理單張圖片的MiniCPM-V 2.0,加權選擇方法在處理2或3個檢索文檔時,比頁面合并方法展現出更優的表現。簡單的合并可能會向VLM傳遞過多不必要的信息,而加權選擇則基于各個文檔的條件,通過多個VLM輸出來篩選答案,從而減輕了信息負載。
TextRAG流程通常因檢索文檔數量的增加而受益,因為這能更好地覆蓋信。然而,盡管加權選擇增強了性能的穩健性,但采用這種方法時,隨著檢索文檔數量的增加,并沒有帶來顯著的性能提升。值得注意的是,僅有最先進的VLM,如能處理多張圖片的GPT-4o,隨著檢索文檔數量的增加,表現出明顯的性能提升。這表明對多張圖片進行推理對當前的VLM來說仍是一個挑戰。
3.3 整體性能
在這項實驗中,對比了VisRAG與TextRAG兩條處理流程的效果,以評估VisRAG流程的有效性。
TextRAG流程中,采用了MiniCPM (OCR)負責檢索,MiniCPM-V 2.6 (OCR)負責生成,而VisRAG流程則由VisRAG-Ret負責檢索,MiniCPM-V 2.6負責生成。
圖片
圖片
上面兩個圖展示了在InfographicsVQA數據集上的性能表現。
VisRAG在精確檢索文檔的比率上超越了TextRAG,并且在從精確檢索到的文檔生成正確答案的比率上也有顯著提升。檢索和生成兩個階段的綜合改進,使得整體準確率從22.1%提升至42.7%。
圖片
在六個評估數據集中,VisRAG平均實現了39%的準確率提升(如上圖)。
? 論文原文: https://arxiv.org/abs/2410.10594
本文轉載自??大語言模型論文跟蹤??,作者:HuggingAGI ????
