点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
点击 阅读原文 观看作者讲解回放!
个人信息
作者:赵晗,浙江大学-西湖大学联合培养博士生
内容简介
近年来,在各个领域应用多模态大语言模型(MLLMs)取得了显著的成功。然而,作为许多下游任务的基础模型,MLLMs通常包含著名的Transformer网络,其计算复杂度呈二次方增长,效率较低。在本文中,我们介绍了一种基于状态空间模型构建的多模态大规模语言模型Cobra,该模型在高效处理长序列方面表现出显著潜力,并且在序列长度方面具有快速推理和线性可扩展性。具体而言,Cobra涉及用预训练的Mamba语言模型替换基于Transformer的主干模型(例如LLaMA或Phi)。然后,我们通过实验探索了有效对齐视觉和文本模态的策略,并将不同预训练的Mamba模型变体与视觉编码器进行整合。在多个多模态基准测试中的实验表明:(i)Cobra的性能比目前最高效的现有方法(例如LLaVA Phi和MobileVLM v2)快3至4倍。此外,由于实现了线性序列建模,其性能得到了显著提升。(ii)Cobra仅微调了少量参数(约占模型参数的48%),与LLaVA相比,整体性能显著提升。
论文地址:
https://arxiv.org/pdf/2403.14520
代码链接:
https://sites.google.com/view/cobravlm
Background
多模态大语言模型(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)中的线性变换,最终将输入序列
变换成一个输出序列
。
Motivation
SSM结合了注意力机制类模型在训练时并行处理序列的优点,以及在推理时保持生成速度和空间占用恒定的优点。因此,作者希望进一步扩展Mamba在语言建模方面的能力。通过直接将更高计算效率的语言模型backbone和视觉处理模块结合,可以保持高性能的视觉理解能力,避免因模型参数减少或视觉token数量下降造成的性能损失。同时,由于模型对序列长度的时间复杂度是线性,可以保证更高的生成速度。
First RNN-Based MLLM
如下图为Efficient MLLM领域的路线图,本文在三月份出版,作为第一篇将线性复杂度的RNN序列模型引入该领域的文章,至今已被引用超过50次。
Architecture
Corba的整体模型结构采用了类似层级的设计,通过视觉编码器提取视觉特征,进行嵌入处理。此外,还通过自回归执行指令来生成文本。在视觉编码器中,本文采用了目前广泛应用的一种方法,即Fused Vision Encoders。具体来说,它将DINOv2和SigLIP两个模型输出的特征在特征维度上进行融合,然后通过MLP Projector映射到语言embedding的维度,最后将整个序列输入到Mamba架构的语言模型中。
Training Recipe
训练方案:作者扩展了数据集,除了原始LLaVA v1.5的VQA数据集之外,还增加了两个新的数据集,旨在提升模型的执行能力并减少视觉语言模型的幻觉。这两个能力对模型性能至关重要。其次,在训练过程中,作者直接对模型进行了两个阶段的指令调整,发现这种方式比先进行预训练再进行调整的方式效果更好。
Benchmarking-VQA
下图展示的是Cobra模型和其他模型在Benchmark上的性能比较。可以看到,Cobra-3.5B模型在各种指标上基本与同量级的small scales模型相当,即激活参数在3B或以下的baseline中,Cobra模型性能均能达到第一或者第二位。在各个Benchmark中,Cobra-8B则是在所有baseline中超越了其他模型。
Benchmarking-Grounding
本文也在COCO的三个数据集上对vision grounding任务进行了评估。结果显示,Cobra-8B相较于LLaVa v1.5有显著的性能提升。然而,Cobra-3.5B模型可能受限于模型容量,在此类任务上的表现稍弱。
Benchmarking-Latency
Cobra系列模型在推理延迟方面有显著提升。与其他高效基准模型相比,Cobra在大约3B参数的LLaVA-Phi、MobileVLM v2上,token生成速度大约快3到4倍。即使是8B的模型,其生成速度也高于之前提到的模型。
Ablation Studies
如下图所示,本文对Cobra架构的各个阶段进行了消融实验。第一行以3.5B作为基准。第二行仅使用SigLIP作为单独的视觉编码器。在缺少另一个编码器的情况下,对于需要精确空间感知的任务,如VSR——一个用于空物体空间关系判断的Benchmark以及包括一些visual grounding任务,在这些任务上表现出了显著的性能下降。因此,本文中最终选择将两个编码器融合。
第三行是将MLP替换成VLM中使用的轻量化下采样的projector。但却发现,这种替换在大多数任务上导致了一定程度的性能下降。然而,减少视觉token并未加快模型的生成速度。因此,在考虑高效的架构时,过度追求视觉token数量的压缩似乎并非必要。
第四行是将经过chat语料微调过的模型替换未经过微调的Base模型。其中的两项任务,VizWiz和VSR有较大的性能下降。所以最终本文选择的是通过直接使用经过chat语料微调后的模型。
最后两行是关于训练流程的分析。第五行代表模型仅仅进行了一个epoch的微调。第六行则是完全按照LLaVa的训练方案,先进行一个epoch的pre-alignment,然后再进行微调。可以明显看到,如果模型没有经过充分的微调,会始终处于欠拟合的状态。在所有任务上,特别是在visual grounding任务上,表现非常差。在这种情况下,作者发现,即使进行了pre-alignment,也可能损害模型的最终性能。
Additional Evaluation
此外,作者在Text-VQA的Benchmark中有一个有趣的发现。在先前的LLaVa测试中,其测试方法是将图片先通过一个OCR系统对图像进行文字识别,然后将所有识别出的文字结果作为一个额外的prompt输入给大模型。从图中可以看出这种提示方法对于LLaVa模型非常有效,引入OCR提示后,准确率相比没有引入提示的情况下提升了约12%。
在遵循LLaVa的测试方法时,作者发现使用OCR提示后,Cobra模型的效果非但没有提升,反而有所下降。深入分析后,作者发现LLaVa在测试中将OCR的结果置于整个问题描述之后。起初,本文采取相同的做法,但结果表明,这会导致性能普遍下降。然而,若让Cobra这类RNN模型先看到这些提示再进行测试,其结果与LLaVa的测试相似,有明显的提升。这一发现使作者意识到RNN模型对信息流输入的顺序极为敏感。因此,在整体输入结构设计上,可能存在进一步优化的空间。在定量实验结果之后,本文还展示了几个典型的例子。
Examples
如下图所示,Corba展示出比LLaVa v1.5更强大的空间理解和场景描述能力。左侧是根据这个问题,LLaVa v1.5回答了一个错误的答案。而Cobra能够正确分析两个物体之间的位置关系。在右边的场景中,Cobra-3.5B提供了更准确、更详细的描述。
在这一示例中,模型能够准确描述图像左下角的部分,比如湖边的碎石,而LLaVa v1.5则错误地将这些理解为湖边的长椅,还有其他场景描述的错误。这证明了Cobra模型在场景细节描述上更加精准和详尽。
Conclusion
总结来说,本文提出了Cobra系列的两个模型,3.5B和8B,它们成功地将多模态信息融合到Mamba类的语言模型中。不仅大幅度提升了MLLM的计算效率,而且与LLaVa等其他基于Transformer类的模型性能相仿,甚至达到了更高水平。
Potential Implementation
对于基于线性复杂度的RNN类的多模态大语言模型,作者认为还可以从其他方向进行深入研究。例如,利用其高效处理长序列的能力,可以将Cobra扩展为具备视觉模态理解的模型。
在zero-shot情况下,模型已经展现出从单张图片到视频输入的泛化能力。如果在多样本共同协作的情况下中进行微调训练,将能进一步提升其视频理解能力。
此外,Cobra还有望应用于机器人或自动驾驶等需要快速闭环反馈和精准决策的场景。图中展示的RT-2是Google提出的操控机械臂完成抓取任务的视觉语言行为模型。该模型利用了大量云端GPU算力,但其动作指令的输出频率仅为1到3Hz,这对于高精度的机械臂抓取任务来说远远不足。然而,如果采用Cobra作为backbone或者其他高效的RNN模型,那么可以有效提升控制频率。
本期文章由陈研整理
近期精彩文章推荐
跨越边界,大模型如何助推科技与社会的完美结合?
关于AI TIME
AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
迄今为止,AI TIME已经邀请了2000多位海内外讲者,举办了逾700场活动,超800万人次观看。
我知道你
在看
提出观点,表达想法,欢迎
留言
点击 阅读原文 观看作者讲解回放!