
1. 多模态大模型中的“偏科”现象当文本主导了视觉最近在跟进几个多模态大模型VLM的实际落地项目时我反复遇到一个令人头疼的问题模型在图文问答、视觉推理任务上有时表现得像个“固执的文科生”。你给它一张复杂的图表它能把图例里的文字描述得头头是道但问及图表中两条曲线的交点意味着什么或者某个物体的空间位置关系它就开始含糊其辞甚至直接忽略图像信息仅凭标题或问题中的关键词“脑补”一个答案。比如你问“图中穿红色衣服、正在挥手的人是谁”它可能根据“红色衣服”这个文本线索从训练数据里关联出一个常见答案而完全无视图中那个人其实穿的是蓝色衣服。这种现象就是典型的“模态失衡”更具体地说是“文本中心结构主导了视觉感知”。听起来有点学术但说白了就是模型在理解和生成时过度依赖甚至“迷信”文本模态的信息而视觉模态的输入更像是一个“配角”或“背景板”其丰富的几何、空间、细节信息没有被充分、平等地利用起来。这直接导致了模型在需要深度视觉理解如几何分析、空间推理、细节对比的任务上表现不佳。为什么会出现这种“偏科”这得从当前主流多模态大模型的“基因”说起。绝大多数VLM都采用“预训练视觉编码器 大语言模型LLM”的架构。视觉编码器如CLIP的ViT、DINOv2负责将图像“压缩”成一系列视觉特征向量或称视觉token然后通过一个投影层Adapter将这些向量“对齐”到LLM的文本嵌入空间最后交给LLM去理解和生成。问题就出在这个流程里LLM天生是为序列化文本而生的它的整个思维结构、注意力机制、知识体系都是围绕语言构建的。当视觉特征被映射进来后LLM倾向于用处理文本的方式来“理解”它们——寻找序列中的模式和关联而视觉信息中至关重要的空间布局、几何关系、像素级细节在特征提取和映射过程中已经被大幅抽象和简化了。这就好比让一位语言大师去鉴赏一幅画他可能会对画作的标题、题跋、历史背景侃侃而谈文本信息但对于画面的构图比例、色彩搭配、笔触细节视觉的几何与感知信息他的感知和描述能力就远不如一位训练有素的画家。我们的多模态模型目前就处于这位“语言大师”的阶段。2. 拆解“文本中心结构”从架构到注意力机制的根源要解决问题先得看清问题的全貌。“文本中心结构”不是一个模糊的感觉它在模型架构和训练动态中有着非常具体的体现。我们可以从几个层面来拆解2.1 架构层面的先天倾向主流架构无论是BLIP-2、LLaVA还是Flamingo其核心都是一个强大的、参数巨量的LLM通常是数十亿甚至上千亿参数配上一个相对“轻量”的视觉编码器和投影层。参数量上的绝对优势使得LLM在联合优化过程中自然成为主导。梯度回传时LLM的参数更新占据了主导地位视觉编码器尤其是其深层表征能力的优化相对容易被“淹没”。这种不平衡的架构设计从物理上就预设了文本处理路径是“主干道”视觉路径是“辅路”。2.2 注意力机制的“语言滤镜”Transformer的核心是自注意力机制。在多模态模型中无论是早期的单流架构图像和文本token一起输入还是现在主流的双流/交叉注意力架构注意力权重的计算都深刻影响着信息融合。在训练初期由于文本token本身带有丰富的语义信息来自海量文本预训练而视觉token是相对“陌生”的连续向量注意力机制会更容易在文本token之间建立强关联形成高效的文本内部信息流。视觉token要“挤进”这个已经成型的强文本注意力模式中并建立起同等强度的跨模态关联需要更长时间、更针对性的训练。更关键的是标准的注意力机制在处理空间关系上存在局限。它将图像网格或分块后的特征视为一个无序的序列原有的二维空间邻接关系被彻底打乱。虽然可以通过位置编码如2D绝对位置编码、相对位置编码注入一些位置信息但这种注入是间接和有限的。模型很难像人类一样直观地理解“左上角”、“包围”、“相交于一点”这类依赖于精确二维坐标关系的概念。2.3 训练数据与目标函数的“隐形引导”目前多模态模型的预训练大量依赖于从互联网爬取的图像-文本对数据。这类数据存在一个固有偏差文本描述往往是高度抽象和语义化的而非几何描述性的。例如一张“猫在沙发上”的图片配文很可能是“一只可爱的猫咪在休息”而不会说“一个质量约4kg的猫科动物其质心位于一个矩形软包家具表面距离家具左边缘约30%宽度距离前边缘约40%深度”。训练模型根据图像预测这类文本本质上是在鼓励模型学习图像与抽象语义的关联而非与精确视觉属性的关联。此外常见的预训练目标如图文对比学习ITC和图文匹配ITM其优化方向也是让模型学会判断“这张图和这段话是否相关”而不是“这段话是否精确描述了图中的几何细节”。这进一步强化了模型对语义层面而非感知层面匹配的追求。3. 视觉感知的几何维度模型到底“看”丢了什么当我们说模型“视觉感知弱”尤其是在几何分析上吃力时我们具体指的是哪些能力的缺失这不仅仅是“看不清楚”那么简单而是涉及多个层次的视觉信息处理瓶颈。3.1 空间关系与拓扑结构理解的缺失这是最直观的一层。人类能一眼看出物体A在物体B的左边、后面或者被物体C部分遮挡。对于模型而言理解这种相对空间关系非常困难。因为视觉特征被扁平化为序列后物体A和物体B的特征token在序列中的远近与它们在图像中的实际空间距离没有直接、可解释的对应关系。模型可能需要从大量的类似样例中隐式地学习到某些视觉模式如“天空”的特征常出现在序列顶部“草地”在底部但这种学习是脆弱且不精确的无法泛化到新颖的布局或视角。拓扑结构如连通性、包含关系的理解则更难。判断一个图形是否是封闭的、一条线是否穿过一个区域这需要模型在特征层面保留并理解轮廓和区域的连续性信息这在当前基于分块patch的特征提取方式下信息损失严重。3.2 度量几何信息的湮没比相对关系更精细的是度量信息大小、角度、距离、比例。例如“图中前景的树大约是背景房子的两倍高”或者“两条道路呈45度角相交”。这些信息在图像以固定分辨率输入并经过多层下采样和特征提取后几乎无法保留。模型或许能分辨“树”和“房子”但“两倍高”这种定量关系除非在训练数据中以文本形式被明确提及并反复出现否则模型极难从像素中可靠地推断出来。它更多是靠文本上下文中的“大”、“小”、“远处”这类定性词汇来模糊应对。3.3 形状与轮廓解析的粗糙化当前视觉编码器如ViT将图像分割成16x16或14x14的patch每个patch被编码为一个特征向量。这个过程相当于用一块块“马赛克”去覆盖图像。对于精细的边缘、复杂的曲线、细小的物体这种粗粒度的划分会导致形状信息的严重失真。一个圆形可能被表征为几个方块的组合一条细线可能直接消失在背景patch中。因此模型对于物体精确形状的感知是粗糙的这直接影响了对“这是什么物体”的识别尤其是相似物体区分更不用说进行基于形状的推理如“这个工具能否放进那个孔里”。3.4 三维感知与视角推理的空白绝大多数VLM训练使用的是二维静态图像。它们缺乏从单张图像推断深度、理解三维结构、想象不同视角下物体样子的能力。这对于需要物理常识或空间想象的任务是致命的。例如“如果我从左边看这个杯子能看到手柄吗”或者“这个积木塔稳定吗”。模型没有内置的3D表征只能试图从2D图像的阴影、遮挡、熟悉物体大小等线索中去“猜”可靠性很低。4. 训练时校正策略从数据、模型到目标的系统性纠偏既然知道了病根就可以对症下药。在模型训练阶段进行校正目标是打破文本模态的“霸权”建立更均衡、更尊重视觉特性的多模态融合机制。这不是单一技巧而是一个系统工程。4.1 数据层面的“几何强化”注入首先要在“喂”给模型的数据上下功夫增加富含几何与空间信息的“营养”。合成数据与程序化标注利用图形引擎如Blender、Unity或CAD软件生成大量包含精确几何属性的场景。关键优势在于我们可以自动获取每一张合成图像中所有物体的精确边界框、像素级分割掩码、三维坐标、相对距离、角度、体积比例等元数据。这些元数据可以转化为结构化的文本描述例如“红色立方体ID:1位于绿色圆柱体ID:2正前方两者中心点在图像平面上的二维欧氏距离为120像素。立方体底部边与图像底边平行。” 用这样的图像精确描述对进行训练直接教会模型将视觉特征与几何语言关联起来。聚焦“描述性”文本的数据筛选与重标注对现有网络数据如LAION进行清洗和增强。可以训练一个分类器筛选出那些包含丰富空间描述词如“左边”、“之间”、“之上”、“环绕”、“对角线”的图文对。更进一步可以对筛选出的图像进行人工或半自动的精细重标注补充原文本缺失的几何信息。引入专门的数据集在预训练或指令微调阶段混入高比例的、专注于几何推理的数据集。例如VQA-v2和GQA数据集中有大量关于空间关系的问题CLEVR及其衍生数据集专门测试组合视觉推理PointQA或基于图表、图解的数据集则强调度量信息和逻辑关系。让模型反复“刷”这些题强化其视觉推理的“肌肉记忆”。4.2 模型架构的“视觉友好”改造在模型设计上需要给视觉信息开辟“专用车道”和“特权”。视觉编码器的增强与 specialization高分辨率处理简单但有效。将输入图像的分辨率从标准的224x224提升到336x336甚至448x448并配合动态分块dynamic patching或滑动窗口sliding window策略可以减少细节损失让小物体和细边缘得以保留。当然这会显著增加计算量需要工程上的优化如分块计算、渐进式训练。专用特征提取头除了通用的CLIP特征可以并行使用专门为密集预测任务如分割、深度估计预训练的模型如DINOv2, SAM提取特征。将这些不同视角的视觉特征语义特征、实例特征、几何特征一起投影给LLM提供更丰富的视觉线索。引入显式的几何表征在视觉编码器后端显式地生成一些几何感知的中间表征。例如在特征图上运行一个轻量化的分割网络分支输出每个图像区域的类别和边界框或者估计一个粗糙的深度图。将这些结构化的几何信息以向量或离散token的形式作为额外的输入提供给LLM相当于给了模型一份“视觉分析报告”。投影层与融合机制的创新感知器重Perceiver Resampler的改进Flamingo使用的Perceiver Resampler是一个将大量视觉token压缩为固定数量“视觉摘要”的模块。可以改进其查询Query的设计让一部分查询专门关注空间位置信息另一部分关注语义内容从而实现特征解耦。空间感知的交叉注意力在视觉特征注入LLM的交叉注意力层中将视觉特征的2D位置编码x, y坐标也作为key的一部分参与注意力权重计算。这样当LLM的某个文本token如“左边的”需要关注视觉信息时注意力机制能更倾向于关注那些在图像中确实位于左侧的视觉token而不是仅基于语义相似度。LLM的适度“视觉化”微调可以考虑对LLM靠近视觉输入层的部分注意力模块进行“解冻”或低秩适配LoRA让它们在多模态训练中更好地适应视觉特征的分布。但需谨慎避免破坏LLM强大的语言先验。4.3 训练目标函数的“几何导向”设计损失函数是指挥棒我们需要增加对几何推理能力直接进行奖励的目标。辅助的几何预测任务在预训练或混合任务训练中加入一些自监督的辅助任务。例如相对位置预测随机遮盖图像中的两个patch让模型预测它们之间的相对位置如“A在B的右上角”。空间关系分类给定图像和其中两个物体的描述让模型判断它们的关系如“支持”、“依附于”、“在...内部”。度量估计对于合成数据或带有标注的数据让模型回归简单的度量值如宽高比、近似面积比分类任务如“A的面积是B的1-2倍/2-3倍/3倍以上”。 这些辅助任务的损失与主任务如文本生成的损失加权相加迫使模型在理解语义的同时必须关注几何属性。基于几何一致性的对比学习构造困难负样本。例如对于一张图及其正确描述“球在盒子左边”构造一个负样本描述“球在盒子右边”。模型不仅要学会匹配图文还要学会区分这种细微的空间关系差异。这比普通的图文对比ITC更难也更有针对性。5. 推理时校正技术不重新训练也能“急救”很多时候我们面对的是一个已经训练好的、存在模态失衡的“黑盒”模型如调用API无法修改其训练过程。这时就需要在推理Inference阶段动脑筋通过“引导”和“提示”来校正其行为。5.1 思维链CoT与程序引导的精细化设计标准的CoT是让模型“一步一步想”。对于几何问题我们需要设计更精细的、强制模型“先看再想”的提示模板。分解式视觉问答不直接问“图中A和B是什么关系”而是设计一系列引导性问题迫使模型分步观察。例如指令请严格按步骤分析图像并回答最终问题。 步骤1首先描述图像中所有主要物体的名称和颜色。 步骤2然后描述这些物体在图像中的大致位置例如左上、居中、底部等。 步骤3接着分析物体A和物体B之间的具体空间关系例如接触、分离、覆盖、左右、上下等。 步骤4最后基于以上分析回答物体A和物体B是什么关系 这种结构化的提示像一份检查清单迫使模型在生成最终答案前必须调用视觉模块去完成每一个子任务从而增加了视觉信息被利用的概率。程序辅助推理对于复杂的几何或数学问题可以引导模型生成可执行的代码如Python利用外部工具进行计算。例如面对一个图表数据分析问题提示可以是“请先描述图表中X轴和Y轴的含义以及每条曲线代表什么。然后如果需要计算趋势或交点请生成相应的Python代码片段。” 模型可能仍然会从文本中提取轴的含义但关于曲线形状、交点位置的信息则必须依赖于对图表图像的解读。5.2 视觉提示Visual Prompting与注意力重定向这是更接近模型内部机制的一种干预。显式区域指代在用户输入中明确用边界框、点或分割掩码等标记出图像中的关键区域。例如在问题中附带“ [x_min, y_min, x_max, y_max] ”这样的标记并在问题中引用“区域1”。这相当于在输入层面进行了人工的空间 grounding极大地降低了模型定位的难度使其注意力能直接聚焦到相关区域。许多最新的VLM API已支持这种输入方式。反向注意力可视化与修正虽然对于API用户是黑盒但如果我们有模型的访问权限可以进行一些分析。通过计算模型在回答问题时其交叉注意力层在图像区域上的权重分布我们可以可视化模型到底“看”了哪里。如果发现对于关键几何问题模型的注意力分散或不相关我们可以尝试注意力惩罚在推理时通过梯度调整等方法轻微地惩罚那些关注无关区域的注意力头鼓励关注相关区域。这属于比较高级的干预需要一定的模型控制权限。迭代式提问基于不满意的回答进行追问并在追问中明确指出上一轮回答中与图像不符的地方引导模型重新审视。例如“你刚才说球在右边但我看到球明明在左边。请你再仔细看一下图球和盒子的位置关系到底是什么”5.3 外部工具集成与后处理校验承认模型的不足用专门工具弥补其短板是工程上务实的选择。调用专用视觉模型构建一个流水线。当用户问题被检测到包含强烈的空间、几何、度量关键词如“距离”、“角度”、“大小”、“左边”、“后面”、“3D”时先调用一个专用的视觉模型进行处理。例如用目标检测模型如YOLO获取所有物体的精确边界框和位置。用实例分割模型如SAM获取物体的精确轮廓。用单目深度估计模型获取场景的深度信息。用OCR模型提取图像中的文字。 将这些结构化信息“图中检测到3个物体一个红色方块中心坐标(120,200)宽高50x50一个蓝色圆中心坐标(300,200)半径25...”作为额外的文本上下文连同原图一起输入给VLM。这样VLM要做的就是从这些精确的描述中进行推理大大降低了其视觉感知的负担。答案的几何一致性校验对于模型生成的答案可以设计一个简单的规则或轻量模型进行校验。例如如果答案中包含了位置描述可以检查这些描述是否与通过外部工具检测到的物体位置信息相冲突。如果冲突则可以触发一个重新生成或给出“可能不确定”的提示。6. 评估与迭代如何量化“失衡”与“校正”效果没有度量就无法改进。我们需要一套超越传统准确率的评估体系来诊断模态失衡的程度并衡量校正策略的有效性。6.1 构建诊断性评测基准我们需要专门的测试集这些问题必须强烈依赖视觉几何信息且仅凭文本先验极易出错。空间关系QA包含大量“左/右”、“前/后”、“上/下”、“包含/被包含”、“接触/分离”等关系的问题且图像中的关系应与常识或语言先验相反例如根据常识“猫通常在地上”但图中“猫在吊灯上”。计数与度量QA精确计数物体数量特别是遮挡情况下的、比较大小、估计相对距离或角度。答案应是具体数字或比例。几何图形推理包含点、线、面、体等基本几何元素要求判断形状、对称性、连续性、交点数量等。图表与图解理解从折线图、柱状图、流程图、示意图中提取数据趋势、比较数值、理解流程逻辑。物理常识推理判断物体的稳定性、遮挡关系、力的作用需从单张图像推断、视角变换等。在评测时不仅要看最终答案的正确率还要分析模型的错误模式是彻底忽略了图像回答基于文本假设还是错误解读了视觉信息这可以通过消融实验如仅给文本问题或仅给图像来辅助判断。6.2 内部表征分析对于可访问的模型进行更深入的分析跨模态注意力图分析可视化在回答不同类型问题时LLM的文本token对视觉token的注意力权重分布。对于几何问题健康的注意力应聚焦在相关的物体区域上如果注意力分散或始终集中在某几个固定区域如可能是文本描述对应的区域则表明模态融合不佳。特征相似性分析计算同一图像在不同问题一个依赖几何一个依赖语义下其视觉特征经过投影层后在LLM嵌入空间中的表征差异。如果差异很小说明视觉特征的表征过于泛化没有针对不同任务进行特异性编码。消融与干预实验尝试在推理时屏蔽部分文本输入如问题中的位置关键词观察模型表现是变好还是变差。如果变好说明模型过度依赖了文本线索如果急剧变差说明模型可能根本没看懂图。6.3 持续迭代的闭环校正不是一个一劳永逸的动作而是一个持续的过程评估使用诊断性基准对现有模型进行评估量化其在不同类型几何任务上的短板。归因通过错误分析和内部表征分析定位问题根源是数据问题、架构问题还是目标函数问题。干预根据归因结果设计和实施相应的校正策略训练时或推理时。再评估再次评测确认干预是否有效并观察是否有新的问题被引入例如视觉能力提升是否以牺牲语言流畅性为代价。调整根据结果调整校正策略的强度或方式进入下一个循环。在实际项目中我通常会为每个重要的VLM应用建立一个这样的“健康检查”流程定期用一批精心构造的几何推理问题去“考一考”它确保其视觉感知能力没有在持续的文本数据微调中退化。这就像给模型做定期的“视力检查”和“思维体操”对于维持其在复杂场景下的可靠表现至关重要。毕竟一个真正智能的多模态系统不应该是一个只擅长读图说的“解说员”而应该是一个能看清世界脉络、进行空间思考的“分析师”。