MLLM中视觉表示定律的关键见解
arXiv: https://arxiv.org/abs/2408.16357
Hugging Face: https://huggingface.co/papers/2408.16357
GitHub: https://github.com/bronyayang/Law_of_Vision_Representation_in_MLLMs
我们给我们的论文起了一个有点耸人听闻的标题。本质上,我们通过控制MLLM内的变量,仅改变视觉表示,识别出两个与模型在下游任务上的性能密切相关的因素:跨模态**对齐**(**A**lignment)和**对应**(**C**orrespondence)。改进视觉表示的这两个因素可以带来更具竞争力的MLLM模型。我们还发现,现有视觉表示难以在这两个因素上同时表现出色,这意味着存在一种权衡。我们的方法只需少量实验即可确定最佳视觉表示,节省了99.7%的成本。更重要的是,与其他工作相比,我们进一步讨论了不同视觉特征对MLLM产生显著影响的具体原因。
这个项目是如何开始的
本文的整体探索基于预训练视觉编码器 + 连接器/对齐模块 + LLM(基于自注意力)的MLLM结构。其动机源于我们之前的论文HallE-Control,我们在其中发现了由CLIP错位引起的幻觉问题。最近,Eyes Wide Shut也强调了CLIP给MLLM带来的挑战。
Eyes Wide Shut以交错的方式结合了CLIP和DINOv2两种视觉特征,并声称DINOv2包含更多“详细信息”。通过这种方式补充详细信息,我们也做了一个小实验,将随机噪声与CLIP嵌入以交错方式组合,惊讶地发现它在基准测试上产生了与原始论文中DINOv2相似的微小改进。我们的第一作者Yang私下和Tong开玩笑。很快,在他们最新论文中,他们几乎通过大量的实验弥补了之前的不足。Saining真正的老板Yann LeCun真是财大气粗。这次,他们发现使用拼接方法比交错方法更好,并且他们还做了大量的数据工作。此外,他们认为MLLM应该被视为视觉表示的下游任务。
直接评估任务性能当然有益,但将整个MLLM管道作为评估方法成本极高。训练一个LLaVA模型需要8块A100 GPU和15小时的训练。如果提高分辨率或组合更多特征,则需要更长时间,更不用说调整参数所需的实验数量了。
一个更重要的原因是,作为一名研究人员,我自然想了解为什么某些特征在MLLM中表现优于其他特征。例如,当Eyes Wide Shut提到DINOv2提供更多细节时,我感到困惑——为什么它有更多细节?这些细节的性质到底是什么?为什么不单独使用DINOv2?例如,我们经常将DINOv2与CLIP或SigLIP结合使用,但如果你单独使用DINOv2,你会发现它虽然有效,但却无法与CLIP相媲美。DINOv2不应该比CLIP拥有更多细节吗?当CLIP的分辨率从224增加到336时,性能有所提升,我们可以简单地将其归因于更高分辨率的优势,但如果我们进一步思考,提高分辨率以何种方式增强了MLLM?为什么224分辨率的CLIP与224分辨率的DINOv2的组合优于CLIP336?这背后一定有更深层次的原因。
这个想法源于徐博士最近关于用于3D检测的扩散模型的工作,他们非常关注对应性。衡量对应性的方法是在两张图片上标记具有相同含义的点,并查看通过最相似特征能够匹配多少个点。基于对应性的定义,我们可以将“细节”解释为确保在特征内保留尽可能多的细粒度映射。这个映射空间可以是基于语言的,也可以不是。
MLLM中视觉表示定律
我们发现的模式非常简单:模型性能与跨模态对齐+对应性之间存在强相关性。
A: 跨模态对齐,在我看来,当你没有预训练的奢侈,并且仅限于微调数据时,MLLM的一个必要因素。在我们的论文中,我们提供了一个相对简单的证明。大体思想是,如果视觉特征的分布更接近语言的分布,那么多模态微调对原始语言模型分布的干扰就会更小,从而导致更稳定的训练。简单来说,如果视觉特征能够处理跨模态对齐,那么语言模型就不必处理,这使得训练更加高效。我们通过直接平均您想要测量的视觉嵌入与CLIP@224和CLIP@336之间的相似性来计算跨模态对齐。(这里是个人笔记:目前,许多人选择通过大型数据集的后训练来实现VLM,这实际上是一种资源受限的解决方案。LLaMA团队和学术界都面临资源限制。如果大型公司进行MLLM预训练,将不可避免地与LLM预训练发生冲突和重叠,导致政治斗争,而MLLM团队通常会输给LLM团队。然而,我相信随着LLM变得更加完善,我们将逐渐转向MLLM预训练,这意味着那些最初从事LLM工作的人将扩大他们的范围。)
C: 当前基于对比的视觉基础模型,由于数据覆盖、对比算法本身和数据粒度问题的限制,难以实现最佳对应关系,导致其他论文中观察到的现象,如偏差对象检测、缺乏细节等。对应关系是指视觉特征使MLLM能够检索图像细节的能力。我们假设如果一个文本查询在图片中关注一个图像嵌入令牌,那么具有良好对应关系的视觉特征可以检索整个图像中与该图像嵌入令牌相关的所有信息(因为准确的对应关系意味着最高的语义相似性)。我们也可以粗略地假设所有与图像块相关的补丁都被索引,或者所有与关注细节相关的细节都被检索。我个人认为这与RAG有些相似,基于这个假设,我也相信这种对应关系将对视频LLM有益。然而,由于GPU资源有限,我们无法在本文中进一步进行与视频相关的实验。我们欢迎任何感兴趣的人跟进,或者如果有任何赞助商愿意提供GPU支持我们进行测试,我们将不胜感激。
总结:**模型在基准测试上的性能与A和C的二次函数变换呈正相关**。同时提高A和C,或者保持一个不变同时增强另一个,都可以带来更好的模型性能。然而,许多当前的技巧和不同模型都无法确保同时改进两者。
有趣的发现和讨论
请允许我在此部分分享一些个人想法。这些想法不一定都经过实验验证,但我渴望与同行讨论。如果有人觉得其中一些观点有趣,我们团队将非常乐意合作。
1. 为什么要使用特征组合和多个视觉编码器?
这实际上是我们希望在这篇论文中探讨的最初点。早期,MLLM普遍使用对比预训练的视觉编码器,如CLIP。当时,我也尝试单独使用SAM和DINOv2特征,但结果并不理想。后来我们尝试使用扩散模型作为编码器,并对数百万数据点进行监督微调(SFT),但结果仍然平平。接着,Eyes Wide Shut讨论了CLIP固有的问题,并声称使用交错式特征拼接可以提高性能。尽管我个人对这种方法持保留意见,但特征组合此后成为主流(感谢AI KOL)。Tong随后发表了一篇论文,重新回归到简单的拼接方法。但是,为什么拼接可以提高性能,而单独使用却不能?基于我们在这篇论文中的发现和定义,**我们认为拼接特征在最大程度地减少跨模态对齐下降的同时,增强了视觉表示的对应性。只有当这种权衡在合适的范围内达到平衡时,才能看到改进。如果对齐度显著下降,那么改进对应性的潜力就会受到限制,这可能会导致负面影响。**
2. MLLM基准测试目前存在哪些问题?
当前的MLLM评估存在一些问题。**许多基准测试混合了不同能力的测试,使得模型诊断不那么清晰。例如,MMMU等基准对语言模型的要求高于视觉能力,导致观察到仅仅增加LLM的大小比增强视觉特征更能带来益处。**此外,当前的基准测试缺乏对涉及文本、手绘和线条图像场景的覆盖,分类相对粗糙,导致对模型性能的分析不那么直观。社区普遍尚未将MLLM中的M(多模态)部分与LLM部分分开进行单独研究。然而,我相信随着“低垂的果实”被摘完,人们将逐渐开始单独研究这些部分。顺便说一句,我建议MLLM社区在资源不足的情况下不要过于深入研究LLM。作为一名在中型公司从事LLM工作的人,我可以证明LLM中存在无数的陷阱——多到甚至Percy Liang教授都曾告诉我他已经没有精力再接触MLLM了。谁知道会引入多少额外的变量?在你完全理解LLM之前,你不会知道添加一种新模态会以何种程度或方式影响LLM本身。
3. 视觉表示的对应关系对于不同类型的图像是否相同?
如下图所示,**DINOv2的对应能力在自然图像(如照片)中具有显著优势。** 这就是为什么在许多基于视觉的基准测试中,拼接DINOv2通常会产生显著改进的原因。**然而,当涉及到大量基于OCR的工作或涉及线条和手写内容的任务时,CLIP特征仍然更有效。** 这使得其他特征难以协助CLIP分析包含文本的图像。通过大量的训练,模型有可能学会优先在不同场景中使用不同的特征。一个大胆的猜测是,如果MLLM在视觉特征部分使用专家混合(MoE),并在LLM部分应用Mistral的方法,可能会有益。当然,MoE训练本身存在许多陷阱,因此可能需要大量的实验和努力。
4. 高对应关系与RAG之间有什么关系?
如前所述,如果视觉表示具有高对应关系,那么图像中的任何细节都可以通过我们的特征与同一图像中其他图像或同一图像中其他部分的相似细节进行匹配。想象一下,一个图像中每一个小的补丁或细节都可以与详细的描述进行匹配。我猜这就是CLIP旨在实现的最终目标。然而,目前,CLIP只能将两只脚(左脚和右脚)映射到“脚”这个通用概念,这意味着不同的脚无法与详细描述匹配,导致对应关系较低。如果我们拼接CLIP和DINOv2特征,即使CLIP通常无法将每个细节直接映射到语言部分,**DINOv2的高对应关系确保一旦语言部分关注视觉细节(CLIP特征的作用),这个视觉细节就可以关注其他相似部分(DINOv2的作用),这有点类似于RAG。** 这就像图像搜索得到了增强,这也解释了为什么需要通道级拼接;否则,检索到的令牌就不会相同。虽然这个想法相当抽象,但基于这种概念理解,我推断这种拼接方法应该对视频任务非常有帮助。我们在一系列视频任务上测试了我们的模型,果然观察到显著的改进,这可以看作是一种验证——尽管不是很强,所以可能需要另一篇论文来充分证明。我的理解是,特征的高对应部分有助于检索CLIP没有很好映射的部分,充当从数据库检索到的参考材料。这个概念相当直观,我们在论文中提供了一个简单的证明。我个人认为,当前的方法通常涉及对现有特征的某种程度的妥协。
5. 视觉特征映射到文本嵌入意味着什么?
这在我脑海中一直是一个悬而未决的问题,因为当我第一次看到LLaVA直接将视觉特征放入嵌入时,我深感震惊。嵌入就像一本字典,其中每个条目都有明确的含义和特定的编码。即使这个视觉特征是经过对比训练的,它也没有与LLaMA的文本嵌入对齐,也没有与另一个语言模型对齐。当这个视觉特征被放入嵌入空间时,它到底是什么?我曾猜测它可能只是一些包含关键词的小标题。我甚至进行了一项实验,计算了特征(经过对齐模块后)与所有文本嵌入之间的两种不同距离(L2/余弦),然后检查最接近的嵌入是否能形成一个可读的句子。结果是乱码,这表明**LLM使用一种模型可理解的语言,或者它将视觉特征映射到人类不使用的语言,将其视为一种外语。** 这让我意识到,跨模态对齐不一定意味着与现有语言的完美对齐;相反,这种“外语”具有稳定的分布。例如,人类的血液是红色的,太阳在天上——这样的分布无论用何种语言都是一致的。无论你说中文、英文还是俄文,天空都是蓝色的,大海也是蓝色的。在映射这些概念时,某些映射可以节省大量精力。我相信这就是为什么现在许多模型都如此数据高效的原因。在NLP社区中,对于机器翻译也有类似的观点。也许CLIP学到的语言对齐仍然不足,因为对比损失不一定保留语法和关系,这可能是这类损失的根本问题。
实验
这是对你实验的简化总结
我们定义了A和C两个因子分数,并计算了13组视觉表示的A和C分数,将其与各种基准测试的性能进行比较。通过将这些分数拟合到二次多项式中,我们探讨了这种组合是否能准确拟合基准测试。实验结果非常喜人。在正向完成这项工作后,我们自然地进行了反向测试。我们检查了是否只使用几个样本点也能生成一个可用函数来预测最佳视觉表示。通过逐步采样更多的点,我们发现平均而言,只需采样3.88组就足以预测13个实验中的最佳结果。实验中,我们观察到我们的定律在OCR相关基准测试上的效果不如传统的基于对象的基准测试。这可能是由于当前对应性计算中固有的偏差,该计算忽略了线条和文本等领域,暗示了现有编码器中存在某些偏差。
问答
Q1: 问题表述中的符号是什么意思?
- 所有可能的视觉表示,它们是编码器的各种组合
- 人们想在你的模型上测试的从中选出的视觉表示的数量
以前,您必须训练所有k个MLLM才能确定哪种视觉表示是最好的,但现在有了AC策略,您只需训练少量k',然后拟合一个函数来预测最佳视觉表示。此外,一旦函数拟合完成,您可以继续扩大搜索空间,几乎没有额外的成本。
Q2: 我不确定我是否理解正确,在计算A分数时,您是否将CLIP嵌入作为“黄金法则”,并直接计算给定特征与CLIP嵌入之间的相似度?您如何确保它们在相同的嵌入空间中?这是一个可靠的指标吗?
这是一个好问题。是的,A分数使用CLIP嵌入作为参考。这是一个旨在量化视觉表示中跨模态对齐的提议。正如我们在局限性部分所写的——完善A分数,存在使用CLIP的问题,例如无意中计算分辨率差异,以及不同的嵌入空间——基于Transformer的编码器比基于卷积的编码器具有稍大的“A分数”。然而,嵌入是通过MLP投影器得到的,该投影器用所有相同的数据进行训练。我想并希望这个投影器能够弥合嵌入空间。我相信这是我们目前能做到的最好的了。如果能有更简单的方法可以直接量化跨模态对齐而不需要使用参考模型,我会非常兴奋,这样就可以将基于视觉的基准拟合从95%提高到100%?
Q3: 如果您能提出更多问题和讨论,我们将不胜感激!
最后
我真心希望多模态大语言模型领域的更多人不仅关注于取得更高的分数,还能更进一步探索每个技巧背后的原因。希望看到更多的消融实验,而不是简单地提出未经深思熟虑的主张。毕竟,我们以研究人员自豪。