VisRAG: Vision-based Retrieval-augmented Generation on Multi-modality Documents

Retrieval-augmented generation (RAG) 让大型语言模型 (LLM) 能够借助外部知识源进行生成,但现有系统仅依赖文本,无法利用视觉信息如布局和图像,这些在多模态文档中至关重要。本文提出的 VisRAG,通过构建基于视觉-语言模型 (VLM) 的 RAG 流程,直接将文档作为图像嵌入并检索,从而增强生成效果。相比传统文本 RAG,VisRAG 避免了解析过程中的信息损失,更全面地保留了原始文档的信息。实验显示,VisRAG 在检索和生成阶段均超越传统 RAG,端到端性能提升达 25-39%。VisRAG 不仅有效利用训练数据,还展现出强大的泛化能力,成为多模态文档 RAG 的理想选择。代码和数据已公开,详见 https://github.com/openbmb/visrag。

https://arxiv.org/abs/2410.10594

1. 为啥要提出VisRAG?

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

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

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

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

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

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


最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐