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

📄 arXiv: 2410.10594v2 📥 PDF

作者: Shi Yu, Chaoyue Tang, Bokai Xu, Junbo Cui, Junhao Ran, Yukun Yan, Zhenghao Liu, Shuo Wang, Xu Han, Zhiyuan Liu, Maosong Sun

分类: cs.IR, cs.AI, cs.CL, cs.CV

发布日期: 2024-10-14 (更新: 2025-03-02)

🔗 代码/项目: GITHUB


💡 一句话要点

提出VisRAG,一种基于视觉的多模态文档检索增强生成方法,提升信息利用率。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 多模态文档 检索增强生成 视觉语言模型 文档图像理解 信息检索

📋 核心要点

  1. 传统RAG系统仅依赖文本信息,忽略了多模态文档中重要的视觉信息,导致信息利用不充分。
  2. VisRAG直接将文档图像嵌入到VLM中,避免了解析过程中的信息损失,从而更有效地利用原始文档信息。
  3. 实验结果表明,VisRAG在检索和生成阶段均优于传统RAG,端到端性能提升20-40%,并具有良好的泛化能力。

📝 摘要(中文)

检索增强生成(RAG)是一种有效的技术,它使大型语言模型(LLM)能够利用外部知识源进行生成。然而,当前的RAG系统仅基于文本,因此无法利用在真实多模态文档中起关键作用的布局和图像等视觉信息。本文介绍了VisRAG,它通过建立一个基于视觉-语言模型(VLM)的RAG流程来解决这个问题。在这个流程中,文档不是首先被解析以获得文本,而是直接使用VLM作为图像进行嵌入,然后检索以增强VLM的生成。与传统的基于文本的RAG相比,VisRAG最大限度地保留和利用原始文档中的数据信息,消除了在解析过程中引入的信息损失。我们收集了开源和合成数据来训练VisRAG中的检索器,并探索了各种生成方法。实验表明,VisRAG在检索和生成阶段都优于传统的RAG,与传统的基于文本的RAG流程相比,实现了20-40%的端到端性能提升。进一步的分析表明,VisRAG在利用训练数据方面是高效的,并表现出强大的泛化能力,使其成为多模态文档RAG的一个有希望的解决方案。我们的代码和数据可在https://github.com/openbmb/visrag获得。

🔬 方法详解

问题定义:现有RAG方法主要基于文本,无法有效利用多模态文档中的视觉信息(如布局、图像),导致信息损失和性能瓶颈。传统方法需要先将文档解析为文本,这一过程不可避免地会丢失部分信息,影响最终的生成质量。

核心思路:VisRAG的核心思路是将整个文档视为图像,直接利用视觉-语言模型(VLM)对文档图像进行嵌入和检索,从而最大限度地保留原始文档中的信息。通过这种方式,避免了文本解析带来的信息损失,并能够更好地利用文档的视觉特征。

技术框架:VisRAG包含以下主要模块:1) 文档图像输入:将多模态文档转换为图像格式。2) VLM嵌入:使用VLM将文档图像嵌入到向量空间中。3) 检索:根据查询,在嵌入向量空间中检索相关的文档图像。4) 生成:使用VLM基于检索到的文档图像生成答案或内容。整个流程避免了文本解析步骤,直接利用视觉信息进行检索和生成。

关键创新:VisRAG最重要的创新点在于直接利用VLM处理文档图像,避免了传统RAG中将文档解析为文本的步骤。这种方法能够更完整地保留原始文档的信息,特别是视觉信息,从而提升检索和生成性能。与现有方法的本质区别在于信息处理方式的不同,VisRAG直接处理图像,而传统RAG处理文本。

关键设计:VisRAG的关键设计包括:1) 选择合适的VLM模型,例如LayoutLMv3或类似模型,以有效提取文档图像的特征。2) 设计合适的损失函数,用于训练VLM的嵌入能力,例如对比学习损失或三元组损失。3) 探索不同的生成方法,例如直接生成或先生成文本描述再生成答案。4) 针对特定任务,可能需要对VLM进行微调,以优化其在文档图像处理方面的性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,VisRAG在多模态文档的检索和生成任务中显著优于传统基于文本的RAG方法,实现了20-40%的端到端性能提升。VisRAG在利用训练数据方面表现出高效性,并且具有良好的泛化能力,能够处理不同类型的多模态文档。

🎯 应用场景

VisRAG可应用于处理包含图表、图像和复杂布局的文档,例如财务报告、科学论文、法律文件等。它能够提升信息检索的准确性和生成内容的质量,在智能文档处理、问答系统、内容生成等领域具有广泛的应用前景,并有望提升企业效率和决策质量。

📄 摘要(原文)

Retrieval-augmented generation (RAG) is an effective technique that enables large language models (LLMs) to utilize external knowledge sources for generation. However, current RAG systems are solely based on text, rendering it impossible to utilize vision information like layout and images that play crucial roles in real-world multi-modality documents. In this paper, we introduce VisRAG, which tackles this issue by establishing a vision-language model (VLM)-based RAG pipeline. In this pipeline, instead of first parsing the document to obtain text, the document is directly embedded using a VLM as an image and then retrieved to enhance the generation of a VLM. Compared to traditional text-based RAG, VisRAG maximizes the retention and utilization of the data information in the original documents, eliminating the information loss introduced during the parsing process. We collect both open-source and synthetic data to train the retriever in VisRAG and explore a variety of generation methods. Experiments demonstrate that VisRAG outperforms traditional RAG in both the retrieval and generation stages, achieving a 20--40% end-to-end performance gain over traditional text-based RAG pipeline. Further analysis reveals that VisRAG is efficient in utilizing training data and demonstrates strong generalization capability, positioning it as a promising solution for RAG on multi-modality documents. Our code and data are available at https://github.com/openbmb/visrag.