跳过视觉层有效,直到你要求它阅读文本
参考论文: Searching for Task-Specific Vision Paths: Evolutionary Block Pruning Across Vision-Language Models — Tarun Tomar
动态视觉计算:为 VLM 省钱,但 OCR 任务除外
让一个视觉语言模型数一数停车场照片里的汽车,它所消耗的计算量与你让它转录一张模糊收据时完全相同。相同的编码器,相同的层数,相同的毫秒数和美元支出,无论任务是“有多少”还是“上面写了什么”。这应该让你感到些许不安,因为这两者显然是不同的工作。数车需要粗略的空间布局感知,而阅读收据则需要对微小字符的精细细节捕捉。没有人设计这些模型来以完全相同的方式处理这两项任务。这只是当你构建一个通用的视觉编码器并将其应用于所有数据时必然发生的结果。
Tarun Tomar 发表的一篇新论文提出了一个直白的问题:如果一个视觉语言模型已经能正常工作,能否在不进行任何重新训练的情况下,通过跳过部分内部视觉处理来降低成本?如果是这样,根据问题涉及的是文本、计数、物体、颜色还是空间关系,跳过不同的部分是否会有所帮助?答案是肯定的,但在一个重要的方面,答案是否定的。该论文发现,智能剪枝能带来真实且可迁移的收益,但其最具诱惑力的想法(为每个任务定制捷径)在 OpenOCR 读者最关心的场景——即文本阅读——中恰恰失效了。

Passport 8 — 作者 Ken_Mayer,来源 flickr,BY 2.0 许可。
视觉-语言模型的“眼睛”里到底有什么
视觉-语言模型(VLM)接收图像和文本提示,并生成文本答案。在任何语言推理发生之前,图像会经过一个视觉编码器:这是一堆 Transformer 块,每一块都会对视觉表示进行进一步的细化。第 1 块可能会提取边缘和纹理。第 12 块可能表示更接近“这是右下角区域的收据总额”的内容。当图像到达语言模型时,无论问题是什么,它都已经按顺序通过了堆栈中的每一个块。
这就是本文所针对的设置。其想法是在推理时完全跳过固定数量的块,称为 K。无需微调,无需重新训练,只需决定“这次我们不运行第 4、9、15 和 21 块”,然后看看准确率会发生什么变化。如果准确率几乎没有下降,而计算量显著降低,你就找到了免费的效率提升。在一系列模型中执行此操作,你就可能发现某种具有泛化性的规律。
最明显的初次尝试是根据各个块单独的重要性进行排名(移除一个,测量损失,对每个块重复此过程),然后删除那些单独看来最不重要的 K 个块。论文将此称为独立排名,这是任何人首先会想到的自然基线。另一个自然的直觉是仅仅切掉一段连续的块,基于中间层是冗余的理论。这两种方法计算成本都很低。然而,事实证明,这两种方法都会导致真正的准确率损失。
培育更优的推理路径,而非仅仅对模块进行排名
独立排名的问题,与逐个评估篮球运动员然后挑选“最佳五人”却从未检查他们是否配合默契的问题如出一辙。模块之间存在相互作用。如果模块 10 仍在以弥补其作用,移除模块 9 可能无害;但一旦模块 15 也被移除,这种移除就会变得有害。重要性并非可加的,因此孤立地给模块打分并组合最优选择,会遗漏那些只有在直接测试组合时才会显现的相互作用。
这就是该论文主要方法的用武之地:对跳过哪一组特定的 K 个模块进行进化搜索。它不是单独对模块进行评分,而是直接将整个组合(即通过视觉编码器的整个“路径”)与一个包含 876 个样本的保留集进行对比,并朝着更优的方向进化。从一组候选路径开始,保留得分高的路径,对它们进行变异和重组,然后重复这一过程。这与育种家改良作物的逻辑相同:你不必预先决定哪个单一基因最重要,而是根据实际结果进行选择,让优良组合得以生存。
这里有一个细节至关重要:搜索是“源平衡”的,这意味着它进行评估的保留集故意以平衡的比例混合了不同的任务类型(OCR、计数、物体识别、属性、空间关系),而不是让某一类别占据主导地位。这是为了防止搜索找到一条仅在计数方面表现出色而在其他方面表现平平的路径,仅仅因为计数样本恰好被过度代表。
该论文在两个模型上对此进行了测试:Qwen2.5-VL-3B-Instruct 和 SmolVLM2-2.2B-Instruct,两者均为中型开源视觉语言模型(VLM),并与独立排名、连续移除以及在匹配预算下(跳过相同数量的模块,但选择哪些模块不同)的随机模块选择进行了比较。
应该让人重新思考朴素剪枝的结果
关键数据:在 SmolVLM2 上,进化搜索的共享四块路径(无论任务如何,对每个问题都使用固定的一组四个块进行跳过)比独立排名构建高出 4.91 个百分点。对于在推理时除了决定要省略哪四个块之外不产生任何额外成本的变化来说,这是一个有意义的差距。而且由于这种模式在测试的两种架构中都出现了,这是一个相当好的信号,表明组合搜索(一起检查整个路径,而不是逐个评分块)是构建这些捷径的真正更好的方法,而不是显而易见的初步方法。
如果论文到此为止,结论将很简单:搜索好的块组合比单独排名它们更好,如果你试图在不重新训练的情况下减少 VLM 的推理成本,这是值得知道的。

专业化思路为何诱人,却又为何失效
论文提出的下一个问题更加雄心勃勃:如果不对所有问题使用同一条固定路径,而是根据问题类型选择不同的 K 块路径,结果会如何?如果你知道(或能推测)一个问题属于 OCR、计数还是空间推理,那么针对每种问题类型,理想情况下跳过的块可能各不相同。这需要一种能力标签,即某种信号,用于告知系统当前问题属于哪个任务类别。
在 Qwen2.5-VL 上,乍一看这种方法确实奏效。六块能力特定策略在整体表现上比共享的“一刀切”路径高出 2.17 分,而且几乎全部增益都来自单一类别:OCR 任务提升了 7.10 分。这是一个实实在在的结果,如果这种优势在所有场景下都能保持,那将极具实用价值:默认使用通用路径,当确定正在阅读文本时切换到专门的 OCR 路径,从而免费获得显著的准确率提升。
但事实并非如此。当论文将 SmolVLM2 的 OCR 专用路径与 IIIT5K(一个标准的场景文本基准,包含野外真实照片中的文本,如商店招牌、路标、产品标签)进行对比时,该专用路径比普通的共享路径低了 13.6 分。这绝非舍入误差。这条在搜索自身的保留集上看似获胜的专用捷径,在另一个独立的、封闭的 OCR 测试中反而严重损害了性能。
关键在于理解为什么会发生这种情况。 能力特定路径是针对选择集中有限的 OCR 标注示例池进行优化的。它学会了跳过那些恰好在该特定切片文本阅读示例中不重要的块,而不是跳过那些在广义文本阅读中不重要的块。IIIT5K 的场景文本(弯曲的招牌、奇怪的字体、杂乱的背景)显然需要一些视觉处理能力,而这些正是专用路径决定丢弃的部分。该路径过度拟合了对“OCR”的狭隘定义,而非找到一种能够泛化到真实世界中 OCR 实际形态的解决方案。
为什么这对构建或选择 OCR 的人很重要
如果您正在构建文档处理流水线,或者在评估应该信任哪种 OCR 引擎或 VLM 骨干网络,这篇论文提供了一个关于特定效率技巧的有益警示,而非让我们普遍不信任基于 VLM 的 OCR。
好消息是:通过适当的组合搜索而非临时性的剪枝来实现块跳过,是一种在不重新训练的情况下降低视觉语言模型推理成本的合法方式,并且这种增益在本研究的两个不同模型家族中得到了转移。如果供应商告诉您他们通过仔细搜索而非猜测找到了一条更便宜的推理路径,这是合理的,值得认真对待。
需要注意的是:每当供应商告诉您他们通过共享模型构建了一条“任务专用”或“OCR 优化”的快速路径时,请询问它是针对什么进行验证的。这篇论文表明,专用的 OCR 路线在其构建所用的确切基准测试上可能表现优异,但在另一个标准的 OCR 测试中却损失超过 13 分。这种差距正是如果您只查看供应商自己报告的数据时会被忽视的那种情况。如果您正在不同的 OCR 引擎之间进行选择,实际的举措与这篇论文所暗示的相同:在您自己的文档上进行测试,尤其是那些混乱的真实世界文档(收据、标牌、手写体、低对比度扫描),而不仅仅是供应商优化所针对的任何基准测试。
对于构建而非购买的人来说:这是一个强有力的论据,支持将单一共享、经过良好测试的路径作为默认设置,并将任何任务特定的快速路径视为实验性附加组件,在发布之前需要在真正不同的测试集上进行自己的保留验证,而不仅仅是在您用来查找它的集合上获得更高的分数。鉴于中文等汉字书写系统具有数千个字符且布局密集的特点,若该研究仅涵盖英文/拉丁文本,其结论对中文字符识别的适用性需格外谨慎评估。
这里仍然不确定的地方
这是一项针对小模型、小范围的研究,应当以此视角来解读。所测试的两个模型都相对紧凑(分别为 3B 和 2.2B 参数),因此,在更大规模的生产级 VLM 中,共享路由与专用路由之间是否仍存在同样的差距,目前仍是一个开放性问题。虽然仅测试了两种架构足以表明该模式并非偶然,但尚不足以将其称为普遍规律。
此外,论文并未完全解决一个实际难题:使用特定能力路由需要在推理时已知能力标签,这意味着必须有某种机制(如分类器、用户提供的提示或路由模型)在选定路由之前,正确地将每个输入问题标记为 OCR、计数、空间或其他类别。如果分类错误,你不仅无法获得专业化的优势,甚至可能将 OCR 问题错误地路由到为计数优化的路径上。
然而,最重要的局限性是论文在其自身框架中坦诚指出的:组合搜索能可靠地优化路由的构建方式,但能力标签并不能可靠地定义出具有泛化能力的路由。这一结论比“任务特定剪枝有效”更为狭窄且更具实用性,也是当下次有人推介专为阅读文本优化的模型时,值得牢记的一点。请问一问它在面对与优化所用文本外观不同的文本时表现如何。