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