为什么多模态大模型中使用Q-Former的工作变少了?附Q-Former结构简介

同屿Firmirin 2024-08-25 17:01:01 阅读 98

面试中遇到的问题,自己在实践中注意到了却没有深究原因,没有回答好,特此记录和探讨这个问题。

多模态大模型中需要一个输入投影模块,将视觉特征投射到LLM能理解的语言特征维度,这里就可以选择各种不同的模块。LLaVA最初用了简单的线性投射,然而作者提到这么做是为了做实验更快一点,使用复杂的模块可能会有更好的效果。

后来就有用MLP的,代表工作有LLaVA后续系列、Intern-VL。

还有用Q-Former的,这个是BLIP2提出的,代表工作还有Qwen-VL。

用Q-Former的越来越少,肯定是它不如MLP好用,实验得来的,笔者这么答,但显然面试官不满意。认识来自实践,实践也要反过来作用于认识嘛。

目前网上的讨论有以下原因:

观点一:Q-Former导致视觉token的有损压缩。

Q-Former使用query token来压缩视觉信息,不能保证是无损的,压缩越多导致的幻觉越多。以BLIP2为例,Q-Former会把任意长度的 visual token 序列转译成 32 个token。

Q-Former只是在计算资源和数据有限的情况下的低效压缩器。

而且文章:DeCo: Decoupling Token Compression from Semantic Abstraction in Multimodal Large Language Models。中论证了,简单的average pooling表现就比Q-former更好、训练收敛也更快。

观点二:相比于MLP参数量更大,收敛更慢,也没有明显性能优势。

来自知乎用户Weiyun​。

首先是针对以上观点,Qwen-VL在类似的结构上将448分辨率的图像转译成 256 个token,同样算有损压缩。而InternVL-1.2 通过MLP+PixelShuffle的方案得到的 visual token 数量也是 256 个token。而两个模型的性能都不错,也差距不大。所以所谓有损压缩不一定会导致性能下降。

那么为什么都转向选择MLP?

作者认为“MLP和Q-Former的竞争其实就是LLaVA系列和BLIP系列的竞争,大家选择了MLP其实主要是选择了 follow LLaVA的工作”。

选择LLaVA的原因如下:

LLaVA代码依托HuggingFace构建,HuggingFace提供了很多开源LLM,用起来更方便,而BLIP是自己的codebase。LLaVA和BLIP2其实可以看成同期工作,但LLaVA的后续工作1.5仍然能架构不变取得SOTA,BLIP2的后续工InstructBLIP改变了架构后,无法推广至多轮对话。Q-Former参数量更大,收敛更慢,小数据量不如MLP,大数据量(如Qwen-VL)对比MLP也没有优势。

下面是关于 Q-former结构的介绍,不了解的可以先看一下:

在这里插入图片描述

可以看到,其核心就是预设一组可学习的query tokens,通过cross attn,把image encoder输出的image tokens融合进来。query tokens的数量是一个超参,一般设置得比image tokens少。

背后的思想其实就是在做image token的语义提取。提取到的token是稀疏的,只包含有限的视觉concepts,还会丢失图片的空间信息。

而LLaVA本身证明了,经过多模态训练的LLM具备image token的理解能力,完全不需要一个Q-Former去做语义预提取。

而Avg Pooling训练很快,还能保留图像空间信息。

当然,Q-Former在视频理解中还是很重要的,视频中的视觉tokens太多了。

参考:

https://www.zhihu.com/question/626796690/answer/3524920516

DeCo: Decoupling Token Compression from Semantic Abstraction in Multimodal Large Language Models



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。