多模态大语言模型(MLLM)在众多视觉场景理解任务,包括视觉问答任务上取得了显著的成功。然而,基于Transformer的大型模型,如著名的LLaVa系列等,在处理视觉语言token时,其时间复杂度随序列长度呈二次方增长。而且在推理过程中,实际空间占用也会随着生成长度的增加而增加。因此,它在端侧计算资源有限的场景,或者对实时性有较高要求的机器人操作任务中部署受到了限制。
先前Efficient MLLM领域的研究主要有两种解决方案。一种是采用轻量级语言模型,另一种是对视觉token进行token reduction以缩短序列长度。如图所示,右侧的两张图,是比较典型的token reduction方案。一种是通过视觉特征做卷积操作进行下采样来减少token数量,也就是LDP方案。第二种是Q-Former,通过cross-attention的方式减少token数量。这种做法虽然效果明显,但LDP会导致有一定程度的信息损失,从而降低模型性能。Q-Former需要一个较为复杂的训练流程,这无疑增加了整个模型训练的难度。
在2023年末,随着Mamba模型的提出,大语言模型的架构选择中,除了Transformer也有更多的工作来关注这种线性复杂度O(n)类的架构模型。Mamba是基于SSM的一个框架,输入
经过映射后得到一个data dependent的矩阵
和
以及将连续时间的参数进行离散化的补偿参数
。通过图式(2)中的线性变换,最终将输入序列
变换成一个输出序列
。
SSM结合了注意力机制类模型在训练时并行处理序列的优点,以及在推理时保持生成速度和空间占用恒定的优点。因此,作者希望进一步扩展Mamba在语言建模方面的能力。通过直接将更高计算效率的语言模型backbone和视觉处理模块结合,可以保持高性能的视觉理解能力,避免因模型参数减少或视觉token数量下降造成的性能损失。同时,由于模型对序列长度的时间复杂度是线性,可以保证更高的生成速度。
如下图为Efficient MLLM领域的路线图,本文在三月份出版,作为第一篇将线性复杂度的RNN序列模型引入该领域的文章,至今已被引用超过50次。
Corba的整体模型结构采用了类似层级的设计,通过视觉编码器提取视觉特征,进行嵌入处理。此外,还通过自回归执行指令来生成文本。在视觉编码器中,本文采用了目前广泛应用的一种方法,即Fused Vision Encoders。具体来说,它将DINOv2和SigLIP两个模型输出的特征在特征维度上进行融合,然后通过MLP Projector映射到语言embedding的维度,最后将整个序列输入到Mamba架构的语言模型中。