CLIP视觉编码器是否成为VLM瓶颈?多模态大模型架构之辩

一个被忽视的核心问题
多模态大模型(VLM,Vision-Language Model)近两年发展迅猛,从GPT-4V到Gemini、Qwen-VL、LLaVA系列,几乎每隔几周就有新模型刷新榜单。但在这波热潮背后,Reddit社区最近抛出了一个尖锐而根本的问题:现在主流VLM仍在大量依赖CLIP风格的视觉编码器,这真的足够吗?
这个问题看似技术细节,实则触及VLM架构设计的核心。CLIP(Contrastive Language-Image Pretraining)由OpenAI在2021年提出,其训练目标是让图像和文本描述在特征空间中对齐。它在语义识别上表现出色——能轻松判断"这是一只猫"还是"这是一辆车"。但问题在于:语义对齐真的能覆盖现代VLM所需的全部视觉能力吗?

CLIP的先天局限:为对齐而生,非为推理而生
要理解这个争论,首先要看清CLIP的训练机制。CLIP通过对比学习,将成对的图像-文本拉近、不成对的拉远。这种目标函数天然鼓励模型捕捉图像的整体语义,而不是精确的细节。
具体而言,CLIP的训练采用对比学习(Contrastive Learning)框架:给定一个batch中的N个图文对,模型需要从N×N个可能的配对中正确识别出真实的N对匹配关系。这种InfoNCE损失函数使得模型学会将语义相关的图像和文本映射到高维空间中的相近位置。CLIP在互联网上自然存在的4亿图文对上进行大规模预训练,无需人工标注,实现了强大的"零样本"(zero-shot)迁移能力——无需针对特定任务微调,仅通过文本提示即可完成分类、检索等任务。但也正是这种全局语义匹配的训练目标,决定了CLIP天然倾向于捕捉图像的"是什么"而非"在哪里"或"有几个"。
CLIP的对比学习框架建立在双塔(dual-encoder)架构之上:一个图像编码器(通常是ViT或ResNet)和一个文本编码器(Transformer)分别处理视觉和语言输入,各自输出一个固定维度的嵌入向量。InfoNCE损失函数的数学本质是最大化正样本对的余弦相似度,同时最小化负样本对的相似度。值得注意的是,这种训练范式产生的是一个"bag-of-concepts"式的全局表示——图像中所有语义信息被压缩为单一向量(或少量patch token),空间拓扑关系在这个过程中被大幅弱化。CLIP的4亿训练数据来自互联网爬取的图文对(WebImageText数据集),这些文本通常是粗粒度的alt-text描述,很少包含精确的数量、位置或属性信息,从数据源头就决定了模型的能力边界。这一点至关重要:模型的训练信号决定了它能学到什么,而互联网alt-text的信息密度远低于结构化标注,这意味着无论模型容量多大,其视觉表示的精细程度都受限于监督信号的粒度。
计数、空间关系与细粒度属性的短板
原帖作者点出了几个CLIP难以胜任的任务类型:
- 精确计数:图像里有几个苹果?CLIP的训练数据中,"三个苹果"和"一堆苹果"的文本描述往往被同等对待,导致模型对数量不敏感。
- 空间关系:"杯子在书的左边还是右边"这类问题,caption匹配的训练方式并不会显式强化位置信息的编码。
- 细粒度属性:区分相似物种、识别微小纹理或部件级别的差异,这些在标准图文对齐中通常被忽略。
这些能力恰恰是视觉推理(visual reasoning)的基石。视觉推理可以分为多个层次:最基础的是物体识别(这是什么),其次是属性感知(什么颜色/大小/材质),再到空间关系理解(相对位置、遮挡关系),然后是组合推理(多个物体间的复杂关系),最高层是因果和反事实推理(如果移开A,B会怎样)。CLIP主要解决了第一层问题,在第二层有一定能力,但从第三层开始急剧下降。经典的Winoground基准测试揭示了这一问题:CLIP在"一杯里的草莓"vs"一颗草莓旁的杯子"这类组合语义区分上表现接近随机水平,尽管它能分别识别"草莓"和"杯子"。Winoground由Thrush等人在2022年提出,包含400个精心设计的图文对,每对由两张图像和两个仅在词序或介词上不同的句子组成,测试模型是否真正理解视觉-语言的组合关系而非简单的关键词匹配。CLIP在该基准上的文本得分仅约30%(随机为25%),这一惊人结果表明对比学习虽然能学到强大的概念关联,但在结构化的组合语义理解上存在根本性缺陷。
当VLM被要求做复杂的场景理解、图表解读或几何题时,如果视觉编码器本身就丢失了这些信息,后端的语言模型再强也无法"无中生有"。这一点在信息论层面有着明确的理论支撑:数据处理不等式(Data Processing Inequality)告诉我们,信息只能在处理链中减少,不能增加。如果视觉编码器输出的特征中不包含某些空间或数量信息,后续的语言模型无论多强大,都无法恢复这些已经丢失的信息。
分辨率与信息压缩问题
除了训练目标,CLIP还存在结构性限制。经典CLIP在相对较低的分辨率(如224×224)上训练,对于密集文本、小目标或高分辨率图表,信息在编码阶段就被严重压缩。这也是为什么许多新VLM开始采用动态分辨率、图像切片(tiling)等技术来"打补丁"。
当前主流VLM使用的视觉编码器几乎都基于Vision Transformer(ViT)架构。ViT由Google在2020年提出,其核心思想是将计算机视觉中的卷积操作完全替换为Transformer的自注意力机制。具体而言,ViT将图像分割为固定大小的patch(通常14×14或16×16像素),每个patch被展平为一维向量后通过线性投影层映射为一个token embedding,再加上位置编码后送入标准Transformer编码器。在VLM中,编码器的最终输出不再只取[CLS] token的全局表示,而是保留所有patch token作为视觉序列输入到语言模型。这意味着一张224×224的图像会产生256个(16×16 patches)视觉token。当分辨率提升到448×448时,token数变为1024个;若采用tiling策略将1344×896的图像切为6个子图块,总视觉token可达6000+。这种token爆炸直接影响推理延迟和显存消耗——由于Transformer的自注意力计算复杂度为O(n²),视觉token数量翻倍意味着语言模型处理这些token的计算量增加四倍,这也解释了为什么token压缩技术(如Perceiver、Q-Former或自适应token合并)成为研究热点。
动态分辨率和图像切片技术的核心思想是将高分辨率图像切分为多个与编码器原始训练分辨率匹配的子图块(tile),分别编码后再组合。例如,LLaVA-1.6的AnyRes策略会根据图像宽高比选择最优的切割方案(如2×2、1×3等),每个子图块独立通过视觉编码器,同时保留一个下采样的全局图像提供整体语义上下文。这种设计巧妙地绕过了ViT位置编码固定的限制——由于ViT的位置编码在训练时与特定分辨率绑定,直接输入更大分辨率的图像需要位置编码插值,可能导致性能下降;而tiling方案让每个子图块都在编码器的"舒适区"内处理。InternVL2、Qwen-VL等模型也采用类似策略,支持数千像素级的有效输入分辨率。这种方法的代价是视觉token数量成倍增加,对语言模型的上下文窗口和推理速度提出更高要求,因此通常需要配合token压缩或选择性注意力机制来平衡效率。
瓶颈到底在哪里?两种观点的交锋
围绕"视觉编码器是否成为瓶颈",业界存在明显的分歧。
观点一:视觉编码器确实是瓶颈
持这一观点的研究者认为,如果视觉特征在进入语言模型前就已经丢失了关键信息,那么后续无论如何优化对齐层或语言模型,都是徒劳。近期不少工作正是沿这个思路推进:
- 混合视觉编码器:一些模型(如某些版本的LLaVA变体)尝试同时使用CLIP和自监督编码器(如DINOv2),因为后者在几何和空间特征上表现更好。CLIP擅长语义,DINO擅长结构,两者互补。
DINOv2是Meta在2023年发布的自监督视觉基础模型,采用自蒸馏(self-distillation)方法训练,不需要任何文本标签或人工标注。与CLIP不同,DINOv2的训练完全基于视觉信号本身——通过让学生网络预测教师网络(通过指数移动平均更新参数)对同一图像不同裁剪/增强版本的表示来学习。训练过程中使用了多种自监督目标的组合:图像级的[CLS] token蒸馏(类似DINO原版)和patch级的掩码图像建模(类似MAE/iBOT),这使得模型同时学到全局语义和局部细节。这种纯视觉的自监督范式使DINOv2在保留空间结构、几何信息和局部细节方面显著优于CLIP。研究表明,DINOv2的注意力图能精确对应物体边界和部件,其特征在语义分割、深度估计、法线预测等密集预测任务上表现突出——甚至在冻结特征上仅训练简单线性头就能达到接近专用模型的水平。DINOv2还展现出显著的"涌现属性"——在无需任何下游微调的情况下,其特征就能支持高质量的实例分割和跨图像对应关系匹配,这表明它学到了比CLIP更"完整"的视觉表示,包含了丰富的空间拓扑和几何结构信息。
混合编码器的设计理念体现了一个更深层的洞察:不同训练目标产生的视觉表示具有互补性。CLIP通过语言监督学到了"什么是什么"的语义知识,DINOv2通过视觉自监督学到了"东西长什么样、在哪里"的结构知识。一些研究(如Eagle、Cambrian-1)系统性地探索了多编码器融合策略,发现简单的特征拼接或加权融合就能带来一致性的提升,特别是在需要同时理解语义和空间关系的复杂任务上。
- 更高分辨率与更强骨干:SigLIP等改进版本用更好的损失函数和更大分辨率替代原始CLIP,实测在细粒度任务上有明显提升。
SigLIP(Sigmoid Loss for Language-Image Pre-Training)是Google于2023年提出的CLIP改进版本,其核心改进在于用sigmoid损失替代CLIP的softmax对比损失。传统CLIP的softmax损失需要在整个batch内进行归一化计算——对于batch中的每张图像,其与所有文本的相似度需要通过softmax归一化后再计算交叉熵,这不仅限制了batch size的扩展性(因为softmax需要全局通信),还引入了batch内负样本的隐式依赖,使得训练动态随batch组成变化而波动。SigLIP将每个图文对独立地进行二分类判断(匹配/不匹配),用sigmoid函数+二元交叉熵损失处理每一对,大幅简化了计算图,同时支持更灵活的训练策略如分块处理(chunked computation)。实验表明,SigLIP在相同计算预算下能达到更好的性能,许多最新的VLM(如PaLI-X、LLaVA-1.6、InternVL2等)已将视觉编码器从CLIP切换为SigLIP。此外,SigLIP的去耦合设计使得它更容易在分布式训练中扩展到超大batch size(如数十万级别),因为不再需要跨设备的softmax归一化通信,进一步提升训练效率和模型质量。SigLIP还探索了更大的ViT骨干(如ViT-SO400M)和更高的训练分辨率(384/512),这些组合使得视觉编码器在保持开放词汇能力的同时,对细粒度视觉信息的捕捉能力显著增强。
观点二:瓶颈在别处
另一派则认为,真正的限制未必在编码器本身,而在于:
- 连接层(projector)的表达能力:将视觉token映射到语言空间的模块往往设计简单,可能是信息损失的真正环节。
在VLM架构中,连接层是将视觉编码器输出的图像特征转换为语言模型可理解的token序列的关键模块,它承担着跨模态"翻译"的角色。最简单的实现是线性投影层(如LLaVA-1.0的单层线性变换),将视觉特征向量从编码器维度映射到与语言模型词嵌入相同的维度空间。稍复杂的设计包括两层MLP(多层感知机)投影器(如LLaVA-1.5采用的方案,中间加入GELU激活函数),提供非线性变换能力。更复杂的架构则引入注意力机制进行信息筛选和重组:Flamingo中的Perceiver Resampler使用一组可学习的查询向量(latent queries)通过交叉注意力从视觉特征中"提取"信息,将数百个视觉token压缩为固定数量(如64个)的输出token;BLIP-2中的Q-Former则是一个轻量级Transformer,同时通过自注意力建模查询间关系和通过交叉注意力与冻结的图像特征交互。不同设计在信息保留与计算效率之间做出不同权衡:Perceiver Resampler和Q-Former能将数百个视觉token压缩为几十个固定数量的查询token,大幅减少语言模型需要处理的序列长度,但可能丢失空间细节和位置信息;而直接投影所有patch token则保留更多信息但显著增加推理成本。近期研究(如Honeybee)系统性地比较了不同投影器设计,发现投影器的设计对VLM最终性能的影响被长期低估——通过引入空间感知的卷积投影器或可变数量的视觉token输出,甚至可以在不更换编码器的情况下带来2-5个百分点的基准提升。
-
训练数据与对齐策略:即使编码器保留了空间信息,如果指令微调数据里缺乏计数、空间推理的样本,模型也学不会用这些信息。这一观点得到了实证支持:当研究者在微调数据中大量加入包含数量描述、空间方位词和细粒度属性的高质量问答数据后,即使使用相同的CLIP编码器,模型在相应任务上的表现也能获得显著提升。这表明编码器可能已经保留了比我们想象中更多的信息,只是语言模型没有学会"提取"和"使用"这些信息。
-
语言模型的推理能力:某些失败案例其实是语言模型的推理短板,而非"看不见"。例如在几何推理任务中,即使视觉编码器正确捕捉了角度和边长信息,语言模型可能仍缺乏执行多步几何推理的能力。
这个分歧很关键,因为它决定了改进VLM的资源应该投向哪里——是重做视觉前端,还是优化中间层与数据?从工程角度看,视觉编码器的替换成本最高(可能需要重新预训练整个系统),而数据优化和投影器改进的成本相对较低,这也影响了研究者和工程师的实际优先级选择。
从冻结到解冻:视觉编码器的训练策略演进
围绕视觉编码器的另一个重要趋势是是否应该"冻结"还是"解冻"编码器参数。早期VLM(如LLaVA-1.0、BLIP-2)通常冻结CLIP编码器只训练连接层和语言模型,这保留了CLIP在大规模预训练中获得的泛化能力,避免了在相对较小的指令数据上过拟合,同时大幅降低了训练所需的显存和计算量。但这种策略限制了视觉编码器适应下游任务特定需求的能力——例如,如果任务需要理解医学影像中的特殊纹理模式,冻结的CLIP编码器可能无法提供合适的特征表示。
后续工作发现,在后期阶段解冻视觉编码器进行联合微调(如InternVL2的渐进式训练策略)能显著提升性能,尤其是在专业领域任务上。InternVL2的训练流程分为三个阶段:首先用大规模图文数据预训练视觉编码器,然后冻结编码器训练连接层实现模态对齐,最后解冻所有参数进行端到端联合微调。这种渐进式策略平衡了预训练知识保留和任务适应性。类似地,Qwen-VL在第三阶段解冻视觉编码器的最后几层,而LLaVA-OneVision则在高质量数据上对全部参数进行联合微调。
更激进的路线是完全抛弃预训练编码器,从头训练整个视觉-语言系统。Fuyu模型(由Adept AI提出)是这一路线的代表作——它直接将原始像素patch通过一个简单的线性投影层映射为token,然后全部送入一个统一的Transformer解码器,不使用任何预训练的视觉编码器。这种"原生多模态"设计的优势在于:没有固定分辨率限制、没有编码器能力上限、架构极度简洁。但代价是巨大的计算资源需求——由于没有预训练编码器提供的"视觉先验",模型需要从头学习所有视觉概念,这要求海量的训练数据和算力。这种路线可能代表了长期趋势——当计算资源不再是硬约束时,端到端训练的统一架构有望超越模块化拼接的方案,因为它消除了模块间的信息瓶颈,允许梯度无阻碍地从最终任务目标流回到最底层的像素处理。
务实的解法:根据任务分而治之
从当前的研究趋势看,答案可能是"都需要,但要看任务"。
对于通用语义理解,CLIP风格编码器依然是性价比极高的选择,它提供了强大的开放词汇识别能力——无需为每个新类别收集标注数据,仅通过文本描述就能识别从未见过的概念,这种灵活性在实际部署中极具价值。但对于需要精确视觉推理的场景——文档理解、图表问答、机器人视觉、医学影像——单靠CLIP显然不够。
文档理解是VLM应用中对视觉编码器要求最苛刻的场景之一。与自然图像不同,文档图像中的信息密度极高——小号字体(如6pt脚注)、密集表格(可能包含数百个单元格)、复杂数学公式、多栏排版、手写批注等都需要像素级的精确编码。传统CLIP在224×224分辨率下,一张A4文档(原始约2480×3508像素@300dpi)被压缩超过150倍后,单个字符可能只占不到1个像素,完全不可读。这催生了专用的文档视觉编码器,如Donut(Document Understanding Transformer,无OCR依赖的端到端文档理解模型,通过将文档理解任务统一建模为图像到文本的生成问题)、Pix2Struct(将网页渲染截图和对应HTML结构作为预训练数据,让模型学会从像素中解析结构化信息),以及更新的Nougat(专门用于学术论文PDF解析的模型)。在实际的VLM产品中,高分辨率文档处理能力往往成为用户体验的关键差异化因素——用户上传一张发票照片或合同扫描件,期望模型能准确读取每一个数字和条款。类似地,医学影像场景要求对毫米级病变(如早期肺结节、微小钙化点)的精确检测,机器人视觉需要实时的深度估计和6DoF(六自由度)空间推理以实现精确抓取——这些都对视觉编码器的能力提出了远超语义匹配的要求,需要亚像素级的精度和毫秒级的响应速度。
业界的实际做法正在趋向于:
- 多编码器融合:语义(CLIP/SigLIP)+ 结构(DINOv2)+ 高分辨率OCR专用编码器。这种组合策略的理念是"让专业的模块做专业的事",通过特征拼接、注意力融合或门控机制将不同编码器的输出整合为统一的视觉表示。
- 原生高分辨率处理:抛弃固定小尺寸,采用可变分辨率输入。包括使用NaViT(Native Resolution ViT)等支持任意分辨率的架构,或通过位置编码插值和渐进式分辨率训练来突破原始训练分辨率的限制。
- 针对性数据增强:在微调阶段大量加入计数、空间关系、细粒度识别的任务数据。例如构建包含精确数量标注的合成数据("图中有恰好7只鸟")、空间关系问答("红色立方体在蓝色圆柱的哪个方向")、以及细粒度区分任务("这是金丝雀还是黄鹂"),通过数据驱动的方式弥补编码器的先天不足。
结语:视觉编码器的下一站
Reddit上的这场讨论,本质上反映了VLM领域一个正在成熟的认知:语义对齐只是视觉理解的起点,而非终点。CLIP开创了图文对齐的范式,功不可没,但把它当作现代VLM的"眼睛"标配,可能正在成为限制天花板的因素之一。
未来的视觉编码器,或许不再是单一模型,而是一个为不同视觉能力分工协作的系统。当我们希望VLM不仅能"看懂"图像,还能"数清"、"定位"、"推理"时,重新审视视觉前端的设计,就成了绕不开的功课。
值得关注的几个技术方向包括:一是"视觉专家混合"(Mixture of Visual Experts),根据输入图像的类型和任务需求动态路由到不同的视觉处理模块;二是视觉思维链(Visual Chain-of-Thought),让模型在回答前先生成中间视觉推理步骤(如标注关键区域、分步计数);三是测试时视觉计算(test-time visual compute),允许模型在推理时对图像进行多次"审视",逐步聚焦到需要精细理解的区域。这些方向共同指向一个更成熟的视觉理解范式——从被动的一次性编码走向主动的、迭代的视觉探索。
对于正在构建VLM应用的开发者,这个讨论也提供了实用启示:如果你的场景涉及大量精细视觉任务,不妨评估是否需要在视觉编码器层面做增强,而不是一味依赖更大的语言模型。具体建议包括:首先在典型样本上测试当前编码器的特征质量(可以通过探针实验验证特征中是否包含所需信息),然后根据瓶颈所在选择升级路径——是提升分辨率、增加编码器、改进投影器,还是优化训练数据。
相关推荐

网络安全零基础学习路径全解析:从入门到实战的三段式框架
详解网络安全零基础系统化学习路径,涵盖环境搭建、漏洞挖掘、渗透测试到实战应用的三段式框架,帮助初学者高效入门网络安全领域,避免碎片化学习陷阱。

AI Agent实战:用扣子搭建装修效果图自动生成工作流
详细拆解如何用扣子(Coze)低代码平台搭建装修效果图自动生成AI Agent工作流,包含节点配置、提示词设计、容错机制等完整步骤,上传户型图即可一键生成高清效果图和视频。

SpacebarX:键盘优先的本地化大纲笔记工具深度体验
SpacebarX是一款键盘优先、本地优先的大纲笔记工具,支持离线使用、云文件夹同步和内联日期管理。本文详细介绍其核心功能、免费与Pro版区别,以及它为何适合追求效率和数据主权的知识工作者。