总结
问题背景与挑战:
- 传统的裁剪策略在处理高分辨率图像时,会导致对象或连通区域的分割,特别是在轻量级多模态大型语言模型 (MLLM) 中,这影响了对小或不规则形状对象和文本的识别能力。
- 这种现象在文档理解任务中尤为明显,会产生所谓的“锯齿效应”,导致语义不连贯。
Mini-Monkey 模型的提出:
- Mini-Monkey 是一种轻量级的 MLLM,旨在通过改进裁剪策略来缓解上述问题。
- 该模型引入了多尺度自适应裁剪策略 (MSAC),能够生成多尺度表示,从而在不同尺度上选择未被分割的对象特征,避免裁剪策略引起的语义不连贯问题。
尺度压缩机制 (SCM):
- 为了降低 MSAC 带来的计算成本,文章提出了一种尺度压缩机制 (SCM),通过压缩图像标记,减少计算开销。SCM 是一个无训练和无参数的模块,利用已训练的注意力层来选择必要的视觉特征。
实验结果:
- Mini-Monkey 在多个多模态理解任务和文档理解任务中表现优异,特别是在 OCRBench 基准测试中,得分为 802,超过了参数量更大的模型(如 InternVL2-8B)。
- 实验还证明了 Mini-Monkey 的训练效率很高,仅使用了八个 RTX 3090 GPU。
总结与贡献:
- Mini-Monkey 提供了一种有效且资源高效的解决方案,显著提高了 MLLM 在高分辨率图像处理中的能力,尤其在轻量级模型中表现突出。
- 该方法可以在不同的 MLLM 架构中推广应用,表明其广泛的适用性和潜力。
Abstract
最近,人们对增强多模态大型语言模型 (MLLM) 处理高分辨率图像的能力产生了浓厚的兴趣。大多数现有方法侧重于采用裁剪策略来提高多模态大型语言模型理解图像细节的能力。然而,这种裁剪操作不可避免地会导致对象和连接区域的分割,这削弱了MLLM识别小或不规则形状的对象或文本的能力。这个问题在轻量级 MLLM 中尤为明显。为了解决这个问题,我们提出了Mini-Monkey,这是一种轻量级的MLLM,它结合了一种称为多尺度自适应裁剪策略(MSAC)的即插即用方法。Mini-Monkey 自适应地生成多尺度表示,使其能够从各种尺度中选择非分段对象。为了减轻 MSAC 引入的计算开销,我们提出了一种尺度压缩机制 (SCM),它有效地压缩图像标记。Mini-Monkey 在 2B 参数 MLLM 中实现了最先进的性能。它不仅在各种通用多模态理解任务上展示了领先的性能,而且在文档理解能力方面也显示出一致的改进。在 OCRBench 上,Mini-Monkey 得分为 802,优于 8B 参数最先进的模型 InternVL2-8B。此外,我们的模型和训练策略非常高效,仅用8个RTX 3090进行训练。代码可在https://github.com/Yuliang-Liu/Monkey获得。
1 Introduction
近年来,自然语言处理 (NLP) 领域表现出显着的范式转变,其特点是专注于大型语言模型 [80, 3, 66, 56] (LLM) 的发展。这种转变为创建能够处理一般视觉和语言理解的多模态大型语言模型 (MLLM) 铺平了道路 [33, 41, 2]。研究人员正在积极探索将视觉编码器与llm集成的有效方法。一些方法,如Flamingo[1]、BLIP-2[33]、MiniGPT4[82]和Qwen-VL[2]利用一组可学习的查询对图像标记进行采样,并将图像标记与大型语言模型对齐。相比之下,LLAVA [42] 和 CogVLM [67] 等其他方法建议使用线性层来实现这一点。尽管取得了这些成就,但由于处理的分辨率有限,以前的多模态大型语言模型并没有取得详细的场景理解。
最近的工作试图通过扩展图像的输入分辨率来解决这个问题。裁剪策略是最常用的方法之一[40,74,36,8,60,72]。最简单的裁剪策略有很多技术扩展。例如,Monkey[36]利用LoRA[23]进入视觉编码器,从子图像中学习细节敏感特征。尽管这些方法已经显示出有希望的结果,但它们的性能仍然落后于领先的商业模型。为了弥合这一差距,InternVL 1.5[8]采用了一种强大的视觉编码器[9]来增强视觉表示,并使用动态高分辨率将分辨率扩大到4K,显著提高了性能。
图 1:裁剪引起的锯齿效应。(a) 输入图像 (b) 裁剪策略。© 重叠裁剪策略。(d) Ours:多尺度自适应裁剪策略。
锯齿效应(Sawtooth Effect)通常是指在数字图像处理或视频处理中,由于不当的缩放、压缩或裁剪操作,导致图像或视频边缘出现不平滑、参差不齐的现象。这种效应让本应光滑的边缘呈现出锯齿状的边缘,尤其在处理线条或对比强烈的边界时更加明显。
在图像或视频的裁剪(cropping)过程中,锯齿效应可能由于以下原因产生:
像素化:裁剪后,图像分辨率可能降低,使得原本光滑的曲线或斜线在低分辨率下呈现出明显的像素块,从而形成锯齿。
亚像素误差:当图像被裁剪或缩放时,边缘的像素不能完美地对齐新的像素网格,这种不对齐会导致边缘看起来不连续或产生锯齿。
抗锯齿不足:在裁剪或缩放时,如果没有应用适当的抗锯齿处理(如插值算法),锯齿效应会更加明显。
为减轻锯齿效应,可以在裁剪或缩放过程中使用抗锯齿技术,例如双线性插值(bilinear interpolation)或双三次插值(bicubic interpolation),以平滑图像边缘。
总结来说,锯齿效应是图像或视频边缘在裁剪或处理过程中由于像素化或亚像素误差引起的,不平滑的、类似锯齿的现象。
尽管多模态大型语言模型取得了重大进展,但由于裁剪策略,详细场景理解的挑战仍然存在。图像上的裁剪操作不可避免地分割对象和连通区域,削弱了MLLM识别小或不规则形状的对象的能力,特别是在文档理解的背景下。该策略将引入两种类型的语义不连贯:1)如果一个对象或字符被划分,它可能无法识别[25]。例如,裁剪后,鼻子看起来与猴子非常相似,如图1(b)所示;2)如果分割一个词或句子,则会造成分割词的语义损伤。例如,单词“Breakdown”可以分为“Break”和“down”,对分割词造成语义破坏[45,79]。为简单起见,我们在本文中称之为锯齿效应。一个非常简单的想法是采用重叠裁剪策略来解决这个问题,如图1©所示。然而,正如我们在消融研究SEC中提出的。4.3,重叠裁剪策略引入了某些幻觉,导致性能下降,而不是增加。此外,这种锯齿效应在轻量级 MLLM 中尤为明显,如第 2 节所述。 4.4. 具有增强理解能力的更大的 MLLM 可以在一定程度上缓解这个问题。
在本文中,我们提出了 Mini-Monkey,这是一种轻量级的多模态大型语言模型,旨在减轻裁剪策略引起的锯齿效应。与现有方法[74,8,37]直接裁剪输入图像不同,Mini-Monkey采用了一种即插即用的方法,称为多尺度自适应裁剪策略(MSAC),该方法能够有效互补不同尺度的特征,如图1(d)所示。MSAC 首先根据纵横比和这些网格的分辨率对一组网格执行分层操作。然后它从每个分层层自适应地选择多个纵横比,确保相同的文本不会跨不同图像进行分割。多个图像将根据纵横比生成,并由预先训练的视觉编码器处理以生成多尺度视觉表示。这些表示被连接成一个序列,并在LLM内融合以相互交互。使用 MSAC,Mini-Monkey 自适应地生成多尺度表示,允许模型从各种尺度中选择非分段对象特征。MSAC 可能会引入一些额外的计算开销。因此,我们提出了一种尺度压缩机制 (SCM),用于在计算开销限制的情况下使用。SCM 是一个无训练和无参数模块,以减少计算开销。它利用LLM中训练有素的注意层,根据注意权重生成注意权重和dropout令牌。
实验证明了 Mini-Monkey 的有效性:1)Mini-Monkey 在一般的多模态理解和文档理解任务中实现了 2B 参数 MLLM 的最先进性能。特别是,Mini-Monkey 在评估指标方面在 13 个基准测试中平均优于最先进的 2B 参数方法 1.7%; 2)令人惊讶的是,我们发现 Mini-Monkey 在 OCRBench 上得分为 802,优于 8B 参数最先进的模型 InternVL2-8B。此外,Mini-Monkey 的训练是有效的,我们的方法仅使用八个 RTX 3090 进行训练。
2 Related Works
2.1 Multimodal Large Language Models
近年来,大型语言模型 (LLM) 取得了重大进展 [80 , 3, 66, 56]。借鉴这一进步,人们做出了许多努力,将视觉编码器集成到大型语言模型中,以进行视觉语言理解。常用的方法是线性投影仪方法 [4,1, 67, 82],它将视觉编码器的输出映射到与大型语言模型的文本特征相同的特征空间。一些方法,如QFormer[33]、Perceiver Resampler[1,2]或Abstractor[75],引入了一组可学习的查询来促进这种集成。尽管取得了显著的进展,但由于分辨率有限,以往的方法在处理详细的场景理解方面面临着挑战。为了解决这个问题,最近的工作主要采用以下策略:1)两个视觉编码器,一个用于处理高分辨率图像,一个用于处理低分辨率图像[69,81,21]。2)直接使用支持高分辨率输入的视觉编码器[38,50]。3)使用裁剪策略将高分辨率图像分割成几个低分辨率图像[74,37]。虽然这些方法有效地提高了分辨率,但它们仍然显示出文档理解的缺点,尤其是在与顶级商业模型相比。为了缩小差距,InternVL1.5[8]利用大型视觉编码器[9]和动态高分辨率策略在高质量数据上进行训练。同时,LLama3-V[65]采用了裁剪策略来提高分辨率,发布了几个参数数量不同的模型,达到了4000亿。尽管LLama3-V和InternVL1.5在多个多模态基准测试中取得了令人满意的结果,但其中使用的裁剪策略将不可避免地导致语义不连贯:1)如果对象或字符被分割,则可能无法识别;2)如果对单词或句子进行分词,会造成被分词的语义损伤。例如,单词“Breakdown”可能会被分为“Break”和“down”,从而对分词造成语义损害[45,79]。这将限制它在详细的场景理解。尽管一些方法[45,25]试图通过引入注意力模块来解决这个问题,但它们引入了额外的参数,并且需要从头开始训练该模块。相比之下,我们的方法是即插即用,不需要额外的参数。
2.2 Visually-Situated Document Understanding
可视化文档理解是一项理解图像中丰富文本信息的任务,包括自然图像[61,62]、文档图像[55,63,53]、图表图像[52,27]、表格图像[57,7]等。文档理解模型根据其对OCR系统的依赖程度可以大致分为两类:依赖OCR的方法和不依赖OCR的方法。依赖OCR的方法使用从OCR系统中提取的文本来执行相关的文档理解任务。例如,LayoutLM v3[26]通过统一的文本和图像屏蔽预训练目标来学习多模态表示。UDOP[64]开发了一个统一的框架来学习和生成视觉、文本和布局模式。相反,无OCR的方法在没有OCR输入的情况下以端到端方式执行文档理解任务。Dount[29]在没有OCR输入的情况下,直接根据文档图像生成文本元素。Pix2Struct[31]通过为网页的屏蔽截图生成HTML DOM树进一步利用结构信息。此外,一些方法结合了大型语言模型(llm)来增强文档理解。Ureader[74]提出了一种形状自适应裁剪模块,用于根据长宽比裁剪输入图像。类似地,TextMonkey[45]引入了跨窗口关系的增强和用于文档理解的令牌重新采样器。LayoutLLM[50]开发LayoutCoT用于布局感知监督微调。StrucTexTv3[51]引入了一种轻量级的多模态大型语言模型,用于感知和理解富含文本的图像。
图2:Mini-Monkey的整体架构。H-Attn代表高注意力权重。L-Attn代表低注意权重。注意权重较低的令牌将被过滤。共享LLM层表示在SCM中使用LLM的块层。
2.3 Lightweight Multimodal Large Language Models
由于与多模态大型语言模型(mllm)相关的大量计算成本,最近的工作集中在为快速开发和实际应用开发更有效的模型上。LLaVA-Phi[83]和Imp[59]利用轻量级语言模型与视觉编码器相结合来创建轻量级大型多模态模型。在这种背景下,一些研究人员正在探索高效的建筑设计。例如,MobileVLM[10]引入了一个轻量级的下采样投影仪,以最大限度地减少训练和推理期间的资源使用。Bunny[20]提供了一种有效的数据压缩技术来减少所需的预训练数据量。TinyGPT-V[78]采用了为轻型多模态模型量身定制的多阶段训练方法。类似地,MiniCPM提出了一种可扩展的训练策略,旨在生成高效的轻量级多模态大型语言模型。此外,Vary-toy[70]支持高分辨率输入,而InternVL 2[8]通过动态高分辨率策略增强了轻量级mllm的性能。尽管有这些有希望的进步,由于裁剪策略引起的锯齿效应,最先进的方法面临局限性。
3 Mini-Monkey
总体架构如图2所示。Mini-Monkey由一个多尺度自适应裁剪策略(MSAC)、一个视觉编码器、一个MLP层、一个尺度压缩机制(SCM)和一个大型语言模型(LLM)组成。最初,Mini-Monkey通过MSAC生成多个图像。然后由视觉编码器和MLP层对这些图像进行处理以提取图像标记。Scale Compression Mechanism根据输入问题调整这些图像令牌,并将它们转发给LLM, LLM随后生成最终答案。
3.1 Multi-Scale Adaptive Cropping Strategy
以往最先进的方法[37,8]采用基于裁剪的策略来扩展图像的分辨率,并将高分辨率图像分割成一组子图像。然而,这种裁剪策略将导致锯齿效应。为了解决这一问题,我们引入了一种多尺度自适应裁剪策略(MSAC),该策略实现了不同尺度图像之间的协同,以减轻裁剪策略引起的语义不连贯。如图2 (b)所示,我们生成一组预定义的网格。这些网格的最大值小于max_num。
然后,我们对这些网格进行分层操作,根据它们的纵横比将它们分成三组。我们将为每个图层选择一个宽高比。不同的分层层为模型提供不同的信息。详细层Ad负责提供详细信息。它既限制了子图像的最大值,又限制了子图像的最小值,使图像尽可能大,使图像中的物体更清晰。由于裁剪策略的原因,该层生成的图像可能存在语义不一致的问题。因此,我们利用自适应层Aa与细节层协同,使模型能够从各种尺度中选择未分割的对象。自适应层将根据细节层自适应生成纵横比,确保细节层上的裁剪线与自适应层上的裁剪线不重叠。这可以表述如下:
其中CId表示细节层上的裁剪线。CIa表示自适应图层上的裁剪线。具体来说,如果细节层的纵横比是自适应层的纵横比的倍数,我们将其从自适应层中移除并选择一个新的纵横比。这个过程确保了细节层和自适应层为模型提供了不同的语义信息和视觉特征。
我们还使用宽高比为1:1的低分辨率生成图像的全局视图,称为全局层。获得三层图像后,将这些图像发送到视觉编码器,通过尺度压缩机制提取特征并压缩视觉标记。将视觉标记进行压缩后,将其输入到大语言模型中进行多尺度视觉表示融合并输出结果。
Multi-Scale Visual Representations Fusion.与以前的工作[60]简单地沿维度连接多尺度特征不同,我们的方法涉及在大型语言模型(LLM)内融合多尺度视觉表示。在LLM中,这些多尺度视觉表示通过自我注意相互作用。通过融合不同尺度的特征,Mini-Monkey 获得了增强理解视觉文本信息的能力。
3.2 Scale Compression Mechanism
尽管所提出的 MSAC 显着提高了模型性能,但某些场景可能会施加计算要求。为了应对这一挑战,我们引入了一种无参数的令牌压缩方法,称为尺度压缩机制 (SCM),用于减少视觉标记,如图 2 © 所示。由于来自详细层的标记信息密度较低,我们主要关注压缩这些标记。相比之下,来自自适应层和全局层的视觉标记为LLM提供了完整的空间信息。具体来说,MLLM 中训练有素的 LLM 可以有效地根据输入问题选择必要的视觉特征。因此,SCM利用LLM的第一层和第二层来选择视觉标记,而不生成任何额外的参数。输入视觉标记,包括Vd∈RL1×C、Va∈RL2×C和Vg∈RL3×C,文本标记Tt∈RT×C将被发送到LLM的层。Vd 表示来自详细层的标记。Va 表示来自自适应层的标记。Vg 表示来自全局层的标记。值得注意的是,我们重用LLM层作为LLM层。LLM 层将输出一个注意力图。我们从自适应层、全局和文本标记中选择视觉标记来关注来自详细层的视觉标记。注意力的计算公式如下:
其中PE表示位置编码,D表示LLM的维数。Cat() 表示序列连接操作。在计算注意力机制后,我们对注意力图 Attnw ∈ R(L2+L3+T )×L1 的第一个维度进行平均以获得权重向量 Wa ∈ RL1。随后,我们根据这个权重向量Wa从细节层中选择前K个视觉特征。这些选定的标记以及来自自适应层、全局层和文本标记的标记被输入到 LLM 中以生成结果。与 FastV [6] 相比,SCM 通过使用具有高相对信息密度的标记来压缩信息密度较低的标记来更有针对性的。第4.3节的消融研究证明了SCM的有效性。
表 1:在 16 个多模态基准上与 SoTA 模型的比较。一般多模态基准包括:MME [17]、RealWorldQA [71]、AI2D 测试 [28]、CCBench [43]、SEED Image [32]、HalconlusionBench [19] 和 POPE [35]。此外,数学数据集包括 MathVista testmini [49]。我们报告的 MME 结果是感知和认知分数的总和。§ 表示 OpenCompass 排行榜 [11] 的结果。
4 Experiments
4.1 Implementation Details
我们使用训练有素的InternViT[9]、MLP层和来自InternVL2-2B[8]的InternLLM[4]作为视觉编码器、连接器和LLM。根据之前的工作[9],我们使用(448,448)作为intervit的输入分辨率。用于训练模型的训练数据集包括DocVQA[55]、ChartQA[52]、DVQA[27]、AI2D[28]、GeoQA+[5]、LLaVA-150K (zh)[41]。我们使用AdamW[47]作为优化器。基本学习率为4e-8。
评估。根据之前的工作[20,8],我们在11个通用多模态理解基准上对Mini-Monkey进行了评估,包括MathVista testmini[49]、SEED Image[32]、RealWorldQA[71]、AI2D test[28]、POPE[35]、CCBench[43]、MME[17]和HallusionBench[19]。
为了便于文档理解,根据之前的工作[45],我们采用了两种不同类型的指标来评估Mini-Monkey的性能。最初,我们利用基准测试提供的标准指标来评估Mini-Monkey。对于这个指标,与[8]类似,我们使用诸如ChartQA [52], DocVQA [55], InfoVQA [54], TextVQA[62]和OCRBench[44]等基准测试。ChartQA、DocVQA、InfoVQA和TextVQA被广泛用于评估模型的文本理解能力。OCRBench是最新的基准测试,包括29个数据集,以提供对模型能力的全面评估。随后,我们应用精度度量来验证性能。对于这一指标,来自Mini-Monkey的完全捕捉到基本事实的回应被认为是真正的积极。关于该指标和使用的基准的更多细节可以参考[44]。
4.2 Comparison to the State of the Art
表2:与最先进的mlms在ocr相关任务上的比较。Mini-Monkey在2b参数的mllm中效果最好。§表示OpenCompass排行榜的结果[11]。
表3:我们的模型与现有的多模态大型语言模型(mllm)在几个基准上的定量准确度(%)比较。遵循TextMonkey[45],我们使用准确性指标来评估我们的方法。
表 4:多尺度自适应裁剪策略的消融研究。我们将我们的方法与现有的裁剪策略和覆盖裁剪策略进行比较
表 5:将多尺度自适应裁剪策略与其他 MLLM 相结合的消融研究。MSAC表示多尺度自适应裁剪策略。§ 表示 OpenCompass 排行榜 [11] 的结果。
表 6:尺度压缩机制的消融研究。我们使用不同的压缩比与FastV[6]进行比较。(0.5) 表示 50% 的压缩,(0.9) 表示 90% 的压缩。
4.3 Ablation Study
在本节中,我们对一般多模态理解和文档理解基准进行消融研究,以验证我们方法的有效性。我们采用TextVQA[62]、OCRBench[44]、HalconlusionBench[19]、MME[17]和RealWorldQA[71]进行消融研究。
4.4 Qualitative Results
图 3:Mini-Monkey 的定性结果。(a) 输入图像和Ground Truth。(b) 使用重叠裁剪策略的结果。OSC 表示重叠裁剪策略。©InternVL2-2B 和InternVL2-26B 的结果。(d) Mini-Monkey 的结果。
5 Discussion
还有一些其他方法来解决这个问题。一种方法是使用固有地支持高分辨率的视觉编码器,例如 Swin-Transformer [46] 或 SAM [30]。然而,裁剪策略仍然是最常用的方法。这种偏好源于利用预先训练的、健壮的视觉编码器CLIP[58]的能力。为什么高分辨率编码器并不总是直接解决这个问题。原因在于CLIP预训练的资源效率。通常,由于低分辨率输入,与高分辨率视觉编码器相比,CLIP需要更少的资源。因此,CLIP 经常被选为多模态大型语言模型 (MLLM) 系统中视觉编码器,裁剪策略用于增强输入分辨率。
6 Conclusion
在这项研究中,我们介绍了 Mini-Monkey,这是一种轻量级的多模态大型语言模型 (MLLM),旨在解决现有裁剪策略的局限性,用于增强 MLLM 处理高分辨率图像的能力。传统的裁剪方法通常分割对象和连通区域,这限制了对小或不规则形状的对象和文本的识别,这个问题在轻量级MLLM中尤为明显。为了缓解这种情况,Mini-Monkey 采用多尺度自适应裁剪策略 (MSAC),生成多尺度表示,允许在不同尺度上选择非分割对象。所提出的 MSAC 可以在各种 MLLM 架构之间持续增强。此外,我们开发了一种尺度压缩机制(SCM),通过压缩图像标记来减少MSAC的计算开销。实验结果表明,Mini-Monkey 不仅在各种通用的多模态模型理解任务上取得了领先的性能,而且在文档理解任务上也显示出一致的改进。值得注意的是,在 OCRBench 基准测试中,Mini-Monkey 得分为 802,超过了 InternVL2-8B 等更大的 8B 参数最先进模型。此外,我们的模型和训练策略非常高效,只需要八个 RTX 3090 GPU 进行训练。这些结果表明,Mini-Monkey 作为提高高分辨率图像处理多模态大型语言模型能力的强大而有效的解决方案的潜力。