VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显

发布于 2024-10-21 12:59
浏览
0收藏

1. 为啥要提出VisRAG?

检索增强生成(Retrieval-augmented generation, RAG) 已经成为解决LLM幻觉和知识更新的经典方案,典型的RAG流程是基于文本的(以下简称TextRAG),以分割后的文本作为检索单元。

但是在真实场景中,知识往往以多模态的形式出现,比如教科书、手册等。这些文档中的文本与图像交织在一起。为了从这类数据源中提取文本,通常需要一个解析阶段,这包括布局识别、光学字符识别(OCR)和文本合并等后处理步骤。虽然这种方法在大多数情况下是有效的,但解析过程还是会不可避免地引入错误,从而对检索和生成阶段产生负面影响。

TextRAG只利用了文本信息,忽略了其他模态,如图像中可能包含的信息。尽管已经对图像检索和多模态RAG进行了研究,但这些研究主要集中在预定义场景中,其中图像和描述性文本已经被正确提取和配对,与现实世界中文本和图像(包括图形)常常交错在单个文档页面内的情况有所不同。

所以,本文作者提出了一种VisRAG,旨在探索完全基于视觉语言模型(VLMs)构建纯视觉RAG流程的可行性。

2. 什么是VisRAG?

VisRAG是一种新型视觉检索增强生成系统,由VLM驱动的检索器VisRAG-Ret和生成器VisRAG-Gen组成。

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

如上图(左边)所示,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. 同时利用领域内和合成数据

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

如上表(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之上,应用了多种基于文本和视觉的生成器和方法,探究它们在给定查询和检索文档的情况下生成答案的能力。

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

上表展示了多种生成方式的效果:

• 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负责生成。

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

上面两个图展示了在InfographicsVQA数据集上的性能表现。

VisRAG在精确检索文档的比率上超越了TextRAG,并且在从精确检索到的文档生成正确答案的比率上也有显著提升。检索和生成两个阶段的综合改进,使得整体准确率从22.1%提升至42.7%。

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显-AI.x社区图片

在六个评估数据集中,VisRAG平均实现了39%的准确率提升(如上图)。

• 论文原文: https://arxiv.org/abs/2410.10594

本文转载自​大语言模型论文跟踪​,作者:HuggingAGI ​​

收藏
回复
举报
回复
相关推荐