前面文章提到,文档智能解析能够有效的增强RAG系统的准确性。 【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路途打算及思绪
文档智能解析RAG普通流程
可以看到基于PDF的RAG,须要先对pdf启动解析,生成文本chunk,而后再基于文本建索引。这种pipline的模式,每个解析模块都须要搁置对应的解析模型,存在着失误流传的疑问。因此,笔者看到ColPali时,这种端到端的打算挺无心思,本文来看一看这个思绪。
在此之前,先看一下ColBERT的架构,该架构包括: 查问编码器、文档编码器和前期交互机制 。
查问编码器
ColBERT的架构
假定有一个查问,其标志(token)为,解决步骤如下:
最终输入的查问嵌入向量汇合可示意为:
文档编码器
关于蕴含标志的文档,解决步骤相似:
文档嵌入向量汇合 Ed 可示意为:
Filter用于去除与标点符号对应的嵌入,从而优化剖析速度。这里的查问填充战略(论文中称为"查问增强")确保了一切查问长度分歧,无利于批量解决。而[Q]和[D]标志则协助模型区分输入类型,提高了解决效率。
前期交互机制
“交互”是指经过比拟查问和文档的向量示意来评价它们之间的关系性。“前期交互”示意这种比拟出当初查问和文档曾经被独立编码之后。这种方法与BERT之类的“早期交互”模型不同——早期交互中查问和文档的Embedding在较早的阶段相互作用,理论是在编码之前或时期。
ColBERT驳回了一种前期交互机制, 使得查问和文档的示意可以用于估量算 。而后,在末尾经常使用简化的交互步骤来计算已编码的向量列表之间的相似性。与早期交互方法相比,前期交互可以放慢检索时期和降落计算需求,实用于须要高效解决少量文档的场景。
编码器将查问和文档转换为token级别的embedding列表和。而后,前期交互阶段经常使用针对每个中的向量,找与其发生最大内积的中的向量(即为向量之间的相似性),并将一切分数求和的最大相似性 (MaxSim) 计算。 MaxSim的计算结果就反映了查问与文档之间的关系性分数 ,示意为。
这种方法的共同价值在于能够对查问与文档token embedding之间启动具体、细粒度的比拟,有效捕捉查问和文档中长度不同的短语或句子之间的相似性。这尤其适宜须要准确婚配文本片段的运行场景,可以提高搜查或婚配环节的全体准确性 。
与 ColBERT 相比,ColPali 依然经常使用文本作为查问,文档则是图像类型。在视觉encoder,也是应用多模态的视觉大模型来生成图片端的向量,但不只仅只生成单个向量。而是应用VIT的patch embedding,来生成多个向量。直觉上确实是会有收益,由于一整页的pdf,只紧缩在一个固定维度的向量中,那必需有消息损失,而且以patch为单位生成embedding。
上方是传统的建索引和检索环节,可以看出要启动一系列的pdf parse环节。最后获取文本chunking,而后送入文本向量模型中,获取向量;上方是ColPali的建索引和检索环节,间接输入整个页面的截图进入Vision LLM中,获取多个向量。
视觉言语模型
ColPali选用 PaliGemma-3B 作为其视觉言语模型,这是一个相对较小的模型,具备多个针对不同图像分辨率和义务微调的审核点,并且在各种文档了解基准测试中体现杰出。PaliGemma-3B的一个主要个性是其文本模型在前缀(指令文本和图像标志)上启动了全块留意力的微调。
为了生成轻量级的多向量示意,ColPali在PaliGemma-3B模型的基础上减少了一个投影层,将输入的言语建模嵌入映射到一个降落维度的向量空间中(D=128),这与ColBERT论文中经常使用的向量空间大小相反 。
前期交互机制
ColPali驳回了和ColBERT 相似的前期交互机制 ,这是一种在检索时才启动的交互模式。给定查问和文档,它们的多向量示意在共同的嵌入空间RD中区分示意为和。前期交互操作符定义为查问向量与其在文档嵌入向量中的最大点积⟨·|·⟩的总和。
数学公式示意为:
经过这种模式, ColPali能够在检索时充沛应用查问和文档之间的交互,同时坚持了离线计算和极速查问婚配的长处 。
对比损失
对比损失经过对比正样本和负样本之间的差异来训练模型。 在ColPali模型中,对比损失用于优化检索义务,使得模型能够学习区分与查问关系的文档和不关系的文档 。
在ColPali模型的训练环节中,每个批次蕴含多个查问-文档对。关于每对查问和其对应的正样本文档,模型会计算一个正样本分数,这是经过前期交互操作获取的。同时,模型还会计算一个负样本分数,这是经过在批次中一切其余文档(即负样本)上口头早期交互操作,并取最大值获取的。
其中:
试验成果
参考文献
原文链接: