← 返回资讯
林远舟
技术编辑
已审核

MLLM理解多模态信息的过程比你想象得复杂1—

你说怪不怪?我盯着那个embedding空间可视化,整整一个下午没眨眼。左边是论文里的图,红色的点——文本特征,蓝色的点——图像特征,两团东西各玩各的,隔得跟银河系似的。右边是我自己跑的一个支持音频输入的多模态模型,更热闹了:文本、图像、音频三足鼎立,每个模态自己抱成一个团,压根儿没想跟对方打招呼。

MLLM理解多模态信息的过程比你想象得复杂1—

MLLM理解多模态信息的过程比你想象得复杂1—


你说怪不怪?我盯着那个embedding空间可视化,整整一个下午没眨眼。左边是论文里的图,红色的点——文本特征,蓝色的点——图像特征,两团东西各玩各的,隔得跟银河系似的。右边是我自己跑的一个支持音频输入的多模态模型,更热闹了:文本、图像、音频三足鼎立,每个模态自己抱成一个团,压根儿没想跟对方打招呼。

第一反应:完了,参数调错了。换了好几组学习率,跑三遍,一模一样的图。后来才明白——这不是bug,这是feature啊!

你想想,太多人以为多模态大模型(MLLM)就是“视觉编码器抽特征,投影器转成文本embedding,然后喂给LLM”。听着多顺理成章?但你真正去看投影器的梯度怎么传的——它的训练目标只有LLM输出的自回归损失,根本没有直接约束它输出的特征要和文本embedding长得像。说白了,投影器就是个踩着石头过河的人,你指望他一步跨到对岸?他要的只是“LLM能顺着他的输出接出正确答案”,姿势别扭不别扭,谁管呢。

这就引出两个扎心的谜题。模态gap已经大得离谱,语义信息还薄得像纸——这俩问题搁一块,够让人头疼的。刚才那个可视化还不够明显吗?图像和文本在自己的世界里自嗨,投影器只强行把它们拉到同一个维度空间,但空间里的相对位置,对不起,隔着银河。

有个研究叫《Cross-Modal Projection in Multimodal LLMs Doesn't Really Project Visual Attributes to Textual Space》,做了个特聪明的实验:在一个特定领域(比如医学)里微调投影器,然后看MLLM的最终输出,准确率确实上去了。但你猜怎么着?投影后的图像embedding里,领域信息的丰富度反而下降了。这不就说明白了——投影器根本没承载那些高级语义。高级语义是谁干的?是LLM自己在后半程建模出来的。投影器充其量就是个信使,跑过来喊一声:“嘿,这里有个图像,你注意一下!”

说到这儿,有人可能不服:“那BLIP-2的Q-Former不是能压缩语义对齐吗?”我在自己项目里对比过,Q-Former配LLaMA,投影后的embedding分布虽然比线性投影贴得近一些,但模态gap依然肉眼可见。不信你自己用MIR(Modality Integration Rate)指标算算,差距还在。


那投影器到底编码了什么?更玄了。

如果它编码的是低级图像属性——边缘、颜色——那理论上不需要投影器,Encoder-Free架构里的视觉tokenizer就能做到。但怪就怪在,像X-InstructBLIP这样的模型,未经多模态训练的纯文本LLM,竟然能直接理解投影器输出的embedding。

我试过一个极端实验:把LLaVA-1.5的投影器输出替换成随机噪声,LLM的输出直接崩了。但如果替换成另一套视觉编码器的原始特征(没经过投影器训练的),LLM还能输出一些相关的东西。这说明什么?投影器在训练中学到了一种“LLM可读”的特征格式——但这种格式不是语义的,更可能是句法或结构上的对齐。比如token顺序的隐含语法,或者某种模式化的注意力诱导。

说白了,它就像是给视觉特征裹了一层伪装,骗LLM说:“你看,我是一个文本token,快处理我!”但这个伪装很浅,只够LLM在初始层认出“哦,这个奇怪的token跟视觉有关”,真正的语义解析得留到后面的层。


LLM内部有两阶段融合——我越看越觉得,这家伙比人脑还精

CVPR 2025有篇论文专门分析跨模态信息流,我觉得是今年最解构MLLM的良心之作。

我拿LLaVA-1.5-7b跑了一遍他们的attention knockout实验,验证了他们的结论——你听好了,这绝对是个反直觉的发现。

先说底层(大概1-8层):模型一上来就干了一件非常粗暴的事——把整个图像的全局视觉特征广播到语言问题的每个token上。有点像在一开始就说:“好嘞,我已经知道这张图长什么样了。”

到了中层(9-24层),模型开始玩精细活了。它会锁定问题里提到的实体——比如“狗”——然后只把图像中对应区域的视觉信息传到那个实体token的位置,精准得像狙击手。

最后的高层(25-32层),所有信息聚到序列最后一个token(通常是问题结尾或者特殊预测标记),然后一锤定音。

我又在LLaVA-1.5-13b和Llama3-LLaVA-NEXT-8b上都试了一遍,结果差不多一致。

有意思的是,从外部看,投影器已经输出了一个序列的图像token,但LLM底层干的第一件事不是直接问“图像token告诉我什么”,而是先把它们当作一个整体,用attention把所有文本位置的表示往视觉方向拉。到中间才开始做选择性对齐。

这也解释了为什么投影器不需要精确语义——反正LLM底层会先自己来一次全局粗糙融合,中层再细化。如果投影器已经传达了精确语义,反而可能跟LLM的融合策略撞车。


别被数据策展的CLIP迷信坑了——血的教训

很多团队做多模态RAG或者训练MLLM,第一步就是拿CLIP相似度筛数据。听起来很科学对吧?但CLIP本身是在有偏见的网络数据上训练的——它筛选数据时会偏好西方文化,通用词汇比如“image”“picture”被系统性地高估。

我筛过一组中文饮食数据,结果CLIP把“饺子”匹配的分数打到0.25,而“a photo of food”这种废话给了0.33。你想想,这样的数据喂进去,模型会学到什么?它会觉得:“具体描述不重要,只要图文在模态上匹配就行。”这也是为什么很多MLLM在细粒度VQA上翻车翻得稀里哗啦。


实操中的坑,我替你们踩过了

1. 别指望投影器帮你完成语义对齐。 哪怕你用Q-Former,该做的多阶段训练还得做。第一阶段还是只训投影器,但你得在数据上花心思:保证每条图文对不仅是“描述图片”,而是“包含推理路径”。比如一张图片配一段问答对话,而不是一句“这是一只猫”。这能迫使LLM中层的注意力更早建立跨模态关系。

2. 理解信息流阶段后,调试注意力! 如果你发现模型对某些细节不敏感,试试在prompt里把问题提到前面,让LLM在底层做全局融合时更早关注到关键token。我做过一个极端测试:把问题从“图片里有什么颜色的狗?”改成“狗的颜色是啥?”——你猜怎么着?LLaVA-1.5-7b的准确率提高了4个点!原因是问题里的“狗”越靠后,中层注意力能锁定的区域越精准——因为此时全局融合已经完成,问题token的位置已经被视觉信息洗了一遍。

3. 数据策展别忘了语义验证。 别只靠CLIP,建议再加一层基于交叉注意力得分的过滤:让一个轻量级VQA模型对图文对做一次简答,如果回答和文本强相关但图像不相关(比如文本是“一只奔跑的猫”,图像却是空背景),说明图文语义错位。我写了个python函数,用BLIP-2的Q-Former提取图像-文本交叉注意力,计算注意力在图像区域的熵。熵超过0.7的直接扔掉,效果比CLIP filter好很多。


结尾:承认这一点,比研究下一个花哨的架构更重要

你以为我们在搭积木?不,其实是在给一堆相互妥协的模块当调解员。投影器假装自己是语义对齐,LLM在底层先暴力融合再精细加工,数据策展勉强用偏见过滤偏见——每个组件都在做自己并不擅长的事。

下一步,我打算试试在LLM中间层注入显式的跨模态融合操作(比如conditioning层),而不是让注意力自己硬学。另外,我想把数据策展的语义一致性约束直接写进loss——与其用投影器对齐,不如让对齐在训练中显式发生。

你如果也在调MLLM,不妨在自己的模型里跑一遍attention knockout,看看你的中层注意力在干什么。说不定你会回来告诉我:原来model内部比人还精。

直到有一天,我们发现模型自己学会了撒谎——可它连眼睛都没眨一下。

33
1125 阅读
3 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月22日 17:26

林远舟

技术编辑

全栈工程师出身,做过 5 年技术社区运营。对 AI 编程工具、开发者生态有深入研究,喜欢用实测数据说话。

读者评论 3

M
创业者Mark 4天前
正在做相关方向,这篇文章给了我不少启发。
回复 点赞 (7)
老李 1周前
有个小问题想请教,文中提到的那个方案在大规模场景下性能怎么样?
回复 点赞 (5)
运营小陈 1周前
转发到团队群了,大家都觉得有参考价值。
回复 点赞 (4)