论文解读 | AAAI'25 Cobra:多模态扩展的大型语言模型,以实现高效推理

news/2025/2/22 19:19:00

点击蓝字

faf98c85fc104d08f0de5e93310e9f14.jpeg

关注我们

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需要一个较为复杂的训练流程,这无疑增加了整个模型训练的难度。

65caec80f6e7251a56f89d582b69e9a1.png

在2023年末,随着Mamba模型的提出,大语言模型的架构选择中,除了Transformer也有更多的工作来关注这种线性复杂度O(n)类的架构模型。Mamba是基于SSM的一个框架,输入1a75891ab03aad1749b374bc73d80ffb.png经过映射后得到一个data dependent的矩阵d387722411fd89c7909d4dfd9c8f292f.png90b9fcb6cf343b988ade57cecda93560.png以及将连续时间的参数进行离散化的补偿参数4d66acda896cdbc8d4ebd6c659be1820.png。通过图式(2)中的线性变换,最终将输入序列a85b61d90bdb2c1beaa7864ba9456f43.png变换成一个输出序列e6b997fae1d3dabf318f25d54685bba1.png

f89fad6a3b4be1df9be0eff0da629df4.png

Motivation

SSM结合了注意力机制类模型在训练时并行处理序列的优点,以及在推理时保持生成速度和空间占用恒定的优点。因此,作者希望进一步扩展Mamba在语言建模方面的能力。通过直接将更高计算效率的语言模型backbone和视觉处理模块结合,可以保持高性能的视觉理解能力,避免因模型参数减少或视觉token数量下降造成的性能损失。同时,由于模型对序列长度的时间复杂度是线性,可以保证更高的生成速度。

a6165c7fafa5f71eb7af7b76832e44cf.png

First RNN-Based MLLM

如下图为Efficient MLLM领域的路线图,本文在三月份出版,作为第一篇将线性复杂度的RNN序列模型引入该领域的文章,至今已被引用超过50次。

0b445f7a53479598ecc68601edebd3ab.png

Architecture

Corba的整体模型结构采用了类似层级的设计,通过视觉编码器提取视觉特征,进行嵌入处理。此外,还通过自回归执行指令来生成文本。在视觉编码器中,本文采用了目前广泛应用的一种方法,即Fused Vision Encoders。具体来说,它将DINOv2和SigLIP两个模型输出的特征在特征维度上进行融合,然后通过MLP Projector映射到语言embedding的维度,最后将整个序列输入到Mamba架构的语言模型中。

11b83a54cdb6c4e790ea2f7110876916.png

Training Recipe

训练方案:作者扩展了数据集,除了原始LLaVA v1.5的VQA数据集之外,还增加了两个新的数据集,旨在提升模型的执行能力并减少视觉语言模型的幻觉。这两个能力对模型性能至关重要。其次,在训练过程中,作者直接对模型进行了两个阶段的指令调整,发现这种方式比先进行预训练再进行调整的方式效果更好。

c819d88892847aa36eecb9b599597d73.png

Benchmarking-VQA

下图展示的是Cobra模型和其他模型在Benchmark上的性能比较。可以看到,Cobra-3.5B模型在各种指标上基本与同量级的small scales模型相当,即激活参数在3B或以下的baseline中,Cobra模型性能均能达到第一或者第二位。在各个Benchmark中,Cobra-8B则是在所有baseline中超越了其他模型。

db9084a4276dee00cffe601c359439d0.png

Benchmarking-Grounding

本文也在COCO的三个数据集上对vision grounding任务进行了评估。结果显示,Cobra-8B相较于LLaVa v1.5有显著的性能提升。然而,Cobra-3.5B模型可能受限于模型容量,在此类任务上的表现稍弱。

59d10363e49bf38294f389cc1ed1944d.png

Benchmarking-Latency

Cobra系列模型在推理延迟方面有显著提升。与其他高效基准模型相比,Cobra在大约3B参数的LLaVA-Phi、MobileVLM v2上,token生成速度大约快3到4倍。即使是8B的模型,其生成速度也高于之前提到的模型。

dbff77c4ac27a29dc26f5c8252948fa6.png

Ablation Studies

如下图所示,本文对Cobra架构的各个阶段进行了消融实验。第一行以3.5B作为基准。第二行仅使用SigLIP作为单独的视觉编码器。在缺少另一个编码器的情况下,对于需要精确空间感知的任务,如VSR——一个用于空物体空间关系判断的Benchmark以及包括一些visual grounding任务,在这些任务上表现出了显著的性能下降。因此,本文中最终选择将两个编码器融合。

357437b1bc6cfc4367206590f9fc0b19.png

第三行是将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%。

5d3049f284daeb52b07c3f65d7a29453.png

在遵循LLaVa的测试方法时,作者发现使用OCR提示后,Cobra模型的效果非但没有提升,反而有所下降。深入分析后,作者发现LLaVa在测试中将OCR的结果置于整个问题描述之后。起初,本文采取相同的做法,但结果表明,这会导致性能普遍下降。然而,若让Cobra这类RNN模型先看到这些提示再进行测试,其结果与LLaVa的测试相似,有明显的提升。这一发现使作者意识到RNN模型对信息流输入的顺序极为敏感。因此,在整体输入结构设计上,可能存在进一步优化的空间。在定量实验结果之后,本文还展示了几个典型的例子。

Examples

如下图所示,Corba展示出比LLaVa v1.5更强大的空间理解和场景描述能力。左侧是根据这个问题,LLaVa v1.5回答了一个错误的答案。而Cobra能够正确分析两个物体之间的位置关系。在右边的场景中,Cobra-3.5B提供了更准确、更详细的描述。

615d7096e136466f6d1d6b734fa3bc90.png

在这一示例中,模型能够准确描述图像左下角的部分,比如湖边的碎石,而LLaVa v1.5则错误地将这些理解为湖边的长椅,还有其他场景描述的错误。这证明了Cobra模型在场景细节描述上更加精准和详尽。

1a0641bca7f7c581c89d61e7aedb9aa3.png

Conclusion

总结来说,本文提出了Cobra系列的两个模型,3.5B和8B,它们成功地将多模态信息融合到Mamba类的语言模型中。不仅大幅度提升了MLLM的计算效率,而且与LLaVa等其他基于Transformer类的模型性能相仿,甚至达到了更高水平。

ed09a49f8e5e5cf9e734106309992c7b.png

Potential Implementation

对于基于线性复杂度的RNN类的多模态大语言模型,作者认为还可以从其他方向进行深入研究。例如,利用其高效处理长序列的能力,可以将Cobra扩展为具备视觉模态理解的模型。

55470ba27874374dfadcb15caebb5436.png

在zero-shot情况下,模型已经展现出从单张图片到视频输入的泛化能力。如果在多样本共同协作的情况下中进行微调训练,将能进一步提升其视频理解能力。

f115e8befa96169467c3389bc4c276b9.png

此外,Cobra还有望应用于机器人或自动驾驶等需要快速闭环反馈和精准决策的场景。图中展示的RT-2是Google提出的操控机械臂完成抓取任务的视觉语言行为模型。该模型利用了大量云端GPU算力,但其动作指令的输出频率仅为1到3Hz,这对于高精度的机械臂抓取任务来说远远不足。然而,如果采用Cobra作为backbone或者其他高效的RNN模型,那么可以有效提升控制频率。

fd3491e56eb394003903f3340b0167b7.png

本期文章由陈研整理

近期精彩文章推荐

561a268a3cbc419958adaebf06086dc3.jpeg

跨越边界,大模型如何助推科技与社会的完美结合?

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了2000多位海内外讲者,举办了逾700场活动,超800万人次观看。

 01c1e9901e90826a214636b502d8854b.png

我知道你 

在看

提出观点,表达想法,欢迎 

留言

cb199e12ad5eadb150a20d9ee0e1b978.gif

点击 阅读原文 观看作者讲解回放!


http://www.niftyadmin.cn/n/5862676.html

相关文章

火语言RPA--Excel插入空行

【组件功能】:在Excel内指定的位置插入空行 配置预览 配置说明 在第n行之前 支持T或# 填写添加插入第n行之前行号。 插入n行 支持T或# 插入多少行。 Sheet页名称 支持T或# Excel表格工作簿名称。 示例 Excel插入空行 描述 在第3行之后插入3行。 配置 输…

数据库-SQLite

目录 1.SQLite介绍 2.SQLite特性 3.SQLite使用 3.1.环境准备 3.2.创建数据库文件 3.3.操作数据库 4.API接口 4.1.封装数据库句柄结构体 4.2.数据库句柄初始化 4.3.连接数据库 4.4.创建表 插入数据 修改数据 删除数据 4.5.执行查询语句 4.6.初始化存储查询结果句柄 …

JavaScript系列(79)--Web Worker 高级应用

Web Worker 高级应用 🔄 Web Worker 为JavaScript提供了真正的多线程能力,让我们能够在后台线程中执行复杂的计算而不阻塞主线程。今天让我们深入探讨Web Worker的高级应用。 Web Worker 概述 🌟 💡 小知识:Web Work…

在PyTorch中使用插值法来优化卷积神经网络(CNN)所需硬件资源

插值法其实就是在已知数据点之间估计未知点的值。通过已知的离散数据点,构造一个连续的曲线函数,预测数据点之间的空缺值是什么并且自动填补上去。 适用场景: 在卷积神经网络(CNN)中的应用场景中,经常遇到计算资源有限,比如显存不够或者处理速度慢,需要用插值来降低计…

设计模式之装饰器设计模式/包装设计模式

装饰器设计模式(Decorator Pattern) 也叫包装设计模式,属于结构型模式,它是作为现有的类的一个包装,允许向一个现有的对象添加新的功能,同时又不改变其结构 给对象增加功能,一般两种方式&#…

软考—系统架构设计(案例 | 论文)

系统设计(案例|论文) 系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题,而系统设计阶段解决“怎么做”的问题。 概要设计 系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计&#…

如何成为一名合格的单片机工程师----引言介绍篇(1)

前言 在当今数字化时代,单片机(Microcontroller Unit,MCU)已成为电子设备的核心组件之一,广泛应用于智能家居、工业自动化、汽车电子、物联网等领域。作为一名单片机工程师,你将有机会参与到各种创新项目中…

代码随想录算法训练day62---图论系列6《并查集2》

代码随想录算法训练 —day62 文章目录 代码随想录算法训练前言一、108.冗余连接二、109. 冗余连接II总结 前言 今天是算法营的第62天,希望自己能够坚持下来! 今天继续并查集系列!今日任务: ● 108.冗余连接 ● 109.冗余连接II 一…