4.2 视觉语言模型架构对比 本节摘要:上一节按时间线讲了 CLIP/BLIP/LLaVA 的演进,这一节按架构维度把它们重新归类——双塔、融合、生成式三种范式,看清每种在检索、理解、生成三类任务上的强弱。本节给出一套图文任务的架构选型框架,帮你在"要快还是要准、要匹配还是要生成"之间做出有依据的选择。 核心问题 阅读完本节,你应当能够: 把任意一个视觉语言模型归入双塔、融合、生成式三类之一 说清三类架构在检索、理解、生成三类任务上的能力边界 根据图文任务特征选出合适的架构范式 解释双塔为什么快但浅、融合为什么准但慢、生成式为什么全能但重 一、问题与直觉 上一节我们顺着时间线认识了 CLIP、BLIP、LLaVA。
本节摘要:上一节按时间线讲了 CLIP/BLIP/LLaVA 的演进,这一节按架构维度把它们重新归类——双塔、融合、生成式三种范式,看清每种在检索、理解、生成三类任务上的强弱。本节给出一套图文任务的架构选型框架,帮你在"要快还是要准、要匹配还是要生成"之间做出有依据的选择。
阅读完本节,你应当能够:
上一节我们顺着时间线认识了 CLIP、BLIP、LLaVA。但实际选型时,你面对的可能不是这三个具体模型,而是一堆新名字——SigLIP、EVA-CLIP、ALBEF、Flamingo、Qwen-VL 等等。每个都说自己好,怎么归类怎么选?
关键洞察是:不管名字怎么变,视觉语言模型的底层架构就三大范式——双塔、融合、生成式。CLIP 是双塔的代表,BLIP 偏融合,LLaVA 是生成式。只要把这三类范式的特性吃透,任何新模型都能快速对号入座,判断它适合什么任务。
这一节就按架构维度重新梳理,重点是三类范式在"能做什么、做得多快多准"上的本质差异。
三类架构的区别,根源在图像特征和文本特征在哪里、以什么方式交互。先用一张图把三类的交互时机标出来:
双塔(Dual-encoder):图像和文本各自独立编码成向量,只在最后算一次相似度。图像编码器和文本编码器是两个完全分开的"塔",中间没有信息交流。代表是 CLIP。它的特点是快(两边都可预计算,检索时只算一次相似度),但浅(图文只在最后碰一次面,无法深度理解关系)。
融合(Fusion/Cross-encoder):图像特征和文本特征在一个共享的模型里通过交叉注意力深度交互,图像的每个区域和文本的每个词互相"看到"对方。代表是 BLIP 的理解部分。它的特点是准(深度交互理解细粒度关系),但慢(每对图文都要跑完整融合,无法预计算)。
生成式(Generative):把图像编码成 token 接入语言模型,让语言模型像处理文本一样处理图像,能自由生成文本。代表是 LLaVA。它的特点是全能(复用语言模型的生成、推理、对话能力),但重(要跑完整语言模型,计算量大,且容易幻觉)。
下面这张图把三类架构的图像-文本交互方式画在一起,交互方式的差异直接决定了它们各自能做什么。

理解双塔为什么快、融合为什么准,关键看交互发生的时机。
双塔把图像和文本分别编码成向量后存起来,检索时只需要算两个向量的相似度(一次点积)。这意味着图库里百万张图的向量可以预先算好,检索时拿查询向量去比对,毫秒级。代价是图像编码时看不到文本、文本编码时看不到图像,两边"盲猜"对方,对细粒度关系的理解必然粗糙。
融合则相反——它让图像和文本在一个模型里通过交叉注意力充分交互,图像的每个区域都能"看到"文本的每个词,反之亦然。这种深度交互能捕捉"图里左下角的猫对应文里的'猫'"这种细粒度对应关系。代价是每对图文都得跑完整融合,没法预计算,一百万对图文要跑一百万次融合,扛不住大规模检索。
💡 关键直觉:双塔和融合不是谁好谁坏,而是"快但浅"和"准但慢"的取舍。生产系统里常见的做法是两阶段——先用双塔快速召回 top-100 候选(快),再用融合对这 100 个做精排(准)。这和第 1 章向量检索加重排序的思路如出一辙:粗排保速度,精排保精度。
生成式(LLaVA 范式)的"全能"来自它直接复用了大语言模型的能力。一旦图像被编码成和文本兼容的 token,语言模型的推理、对话、遵循指令、思维链等能力全部自动迁移过来。你不需要为"多模态推理""多模态对话"单独设计能力,语言模型本来就会。
但全能的代价是"重"——要跑完整的大语言模型,计算量远超双塔和融合。而且生成式继承了语言模型的幻觉问题,在多模态场景下更严重(它会编造图中没有的细节)。
把常见图文任务和最合适的架构对应起来:
| 任务 | 首选架构 | 备选 | 理由 |
|---|---|---|---|
| 大规模图文检索 | 双塔 | - | 必须快、可预计算 |
| 图像零样本分类 | 双塔 | - | CLIP 类已足够 |
| 内容审核/匹配打分 | 双塔 | 融合 | 双塔够用且快 |
| 视觉问答(VQA) | 融合 | 生成式 | 融合细粒度理解准 |
| 图像描述生成 | 生成式 | 融合 | 生成式更自然 |
| 多模态对话 | 生成式 | - | 只有生成式能自由对话 |
| 复杂图文推理 | 生成式 | - | 借用 LLM 推理能力 |
| 图文匹配精排 | 融合 | - | 融合最准 |
一个反复出现的模式是两阶段:检索类任务用"双塔召回 + 融合精排";理解类任务直接用融合或生成式。
三类架构的部署成本差异很大,选型时要算这笔账:
| 架构 | 模型大小 | 单次推理延迟 | 适合规模 | GPU 需求 |
|---|---|---|---|---|
| 双塔 | 小(百MB级) | 毫秒级 | 亿级图库 | 低,可 CPU |
| 融合 | 中(GB级) | 十到百毫秒 | 千到百万级 | 中,需 GPU |
| 生成式 | 大(数十GB) | 秒级 | 实时交互 | 高,需大 GPU |
如果你的业务是"给一亿张图建可检索库",双塔几乎是唯一选择(融合和生成式都扛不住这个规模)。如果是"用户发图来问答",生成式最合适(规模小、要对话)。
⚠️ 常见坑:用生成式(LLaVA 类)做大规模检索。有人图生成式能力强,想用它做图库检索,结果发现每检索一次都要跑完整大模型,一百万张图根本检索不动。检索场景老老实实用双塔,生成式留给对话和创作。
生产级多模态系统常组合多种架构。一个典型的"图文问答产品"架构:
这种组合把三类架构的优势都用了:双塔扛规模、融合保精度、生成式做交互。单一架构做不到这种"大规模加精细加交互"的全覆盖。
近期的趋势是统一架构——用一个大模型同时支持检索、理解、生成,而不是组合多个专用模型。比如一些新模型既能输出图文匹配分数(检索),又能生成描述(生成),靠一个模型统一多任务。
统一架构的好处是部署简单(一个模型 vs 三个)、能力可互相增强。但目前统一架构在每个单项上往往不如专用模型极致(检索不如纯双塔快,理解不如纯融合准)。是选"统一的够用"还是"专用的极致",看业务对每个环节的要求。
视觉语言模型选型有几个常见误区,避开能少走弯路。
第一个误区是**"参数越大越准"**。多模态大模型的参数量确实和能力强相关,但不是线性关系。一个 7B 的多模态模型在多数图文任务上已经很强,13B、30B 提升边际递减,而推理成本指数级上升。除非你的任务确实需要更深的推理(如复杂图表分析、多图对比),否则中等参数量是性价比甜点。盲目追大参数,成本扛不住收益却有限。
第二个误区是**"忽略模态对齐质量"**。两个多模态模型参数量相同,效果可能差很多,差异往往在视觉和语言的"对齐"做得好不好。对齐差的模型,看图能力弱,更多依赖语言先验"猜"——表现就是描述很流畅但和图的实际内容对不上(幻觉重)。选型时别只看参数和基准分,要看它在你的真实业务图上的对齐表现。
第三个误区是**"用通用模型处理专业图像"**。通用多模态模型在自然图像(照片、日常场景)上训练充分,但在专业图像(医学影像、工业缺陷图、卫星图、科学图表)上往往不行,因为预训练数据里这类图少。专业图像通常需要用专业数据微调,或选专门训练过的专业模型。拿通用模型硬上专业图像,效果多半不达预期。
💡 关键直觉:多模态模型的选型,"匹配"比"最强"重要。你的图像类型、任务类型、延迟预算、精度要求共同决定最合适的模型。通用基准上的"最强"模型,在你的窄业务上未必比一个针对性优化的中等模型好。选型时一定拿你的真实业务数据测,别迷信榜单。
入门:用 CLIP(双塔)做一次图文检索,再尝试用融合模型对召回结果精排,体会两阶段架构的优势。
进阶:对比双塔和生成式在同一个视觉问答任务上的表现——双塔能答到什么程度,生成式能答到什么程度,理解能力差异。
挑战:设计一个图文问答产品的架构(入库、检索、精排、交互四阶段),说明每阶段用什么架构、为什么,并估算各阶段的延迟和成本。
下一节我们转向对话系统——怎么把 RAG 和多轮对话结合,构建一个能管理上下文、检索知识、追踪状态的知识增强对话系统。