当前位置: 首页 > news >正文

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

点击蓝字

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

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

相关文章:

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

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 点击 阅读原文 观看作者讲解回放! 个人信息 作者:赵晗,浙江大学-西湖大学联合培养博士生 内容简介 近年来,在各个领域应用多模态大语言模型(MLLMs&…...

uniapp修改picker-view样式

解决问题&#xff1a; 1.选中文案样式&#xff0c;比如字体颜色 2.修改分割线颜色 3.多列时&#xff0c;修改两边间距让其平分 展示效果&#xff1a; 代码如下 <template><u-popup :show"showPicker" :safeAreaInsetBottom"false" close&quo…...

HDFS Java 客户端 API

一、基本调用 Configuration 配置对象类&#xff0c;用于加载或设置参数属性 FileSystem 文件系统对象基类。针对不同文件系统有不同具体实现。该类封装了文件系统的相关操作方法。 1. maven依赖pom.xml文件 <dependency><groupId>org.apache.hadoop</groupId&g…...

【华三】STP的角色选举(一文讲透)

【华三】STP的角色选举 一、引言二、STP基础概念扫盲三、根桥选举过程详解四、根端口选举过程详解五、指定端口选举过程详解六、阻塞端口七、总结与配置建议七、附录**1. BPDU字段结构图&#xff08;文字描述&#xff09;****2. 华三STP常用命令速查表** 文章总结 一、引言 在…...

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解 在 C# 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态可以分为静态多态和动态多态,下面将详细介绍它们以及各自包含的知识点。 多态概述 多态性使得代码更加灵活、可扩展…...

宇树科技13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 Humanoid 100清单清单中…...

Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战

一、LinkedHashMap ①LinkedHashMap集合和HashMap集合的用法完全相同。 ②不过LinkedHashMap可以保证插入顺序。 ③LinkedHashMap集合因为可以保证插入顺序&#xff0c;因此效率比HashMap低一些。 ④LinkedHashMap是如何保证插入顺序的&#xff1f; 底层采用了双向链表来记…...

goland无法debug项目

1、其实个原因是因为正在使用的Delve调试器版本太旧&#xff0c;无法兼容当前的Go语言版本1.2。Delve是Go语言的一个调试工具&#xff0c;用于提供源码级别的调试功能。Go语言每隔一段时间会发布新版本&#xff0c;而相应的调试器Delve也可能会更新以提供新的特性或修复已知问题…...

深入探索 DeepSeek 在数据分析与可视化中的应用

在数据驱动的时代&#xff0c;快速且准确地分析和呈现数据对于企业和个人都至关重要。DeepSeek 作为一款先进的人工智能工具&#xff0c;凭借其强大的数据处理和可视化能力&#xff0c;正在革新数据分析的方式。 1. 数据预处理与清洗 在进行数据分析前&#xff0c;数据预处理…...

python面试题整理

Python 如何处理异常&#xff1f; Python中&#xff0c;使用try 和 except 关键字来捕获和处理异常 try 块中放置可能会引发异常的代码&#xff0c;然后在except块中处理这些异常。 能补充一下finally的作用吗&#xff1f; finally 块中的代码无论是否发生异常都会执行&#xf…...

大型装备故障诊断解决方案

大型装备故障诊断解决方案 方案背景 在全球航空工业迅猛发展的背景下&#xff0c;我国在军用和民用飞机自主研发制造领域取得了显著成就。尤其是在国家大力支持下&#xff0c;国内飞机制造企业攻克了诸多关键技术难题&#xff0c;实现了从设计研发到生产制造再到售后保障的完整…...

基于SpringBoot+vue+uniapp的智慧旅游小程序+LW示例参考

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…...

小怿学习日记(七) | Unreal引擎灯光架构

灯光的布局对于HMI场景中车模的展示效果有着举足轻重的地位。本篇内容将简单介绍ES3.1的相关知识&#xff0c;再深入了解Unreal引擎中车模的灯光以及灯光架构。 一、关于ES3.1 1.1 什么是ES3.1 ES3.1这个概念对于美术的同学可能比较陌生&#xff0c;ES3.1指的是OpenGL ES3.1&…...

网络运维学习笔记 013网工初级(HCIA-Datacom与CCNA-EI)DHCP动态主机配置协议(此处只讲华为)

文章目录 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;网关配置DHCP服务器配置如果没有DHCP服务器&#xff0c;只在网关上做DHCP服务器&#xff1a; DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主…...

javaEE-14.spring MVC练习

目录 1.加法计算器 需求分析: 前端页面代码: 后端代码实现功能: 调整前端页面代码: 进行测试: 2.用户登录 需求分析: 定义接口: 1.登录数据校验接口: 2.查询登录用户接口: 前端代码: 后端代码: 调整前端代码: 测试/查错因 后端: 前端: lombok工具 1.引入依赖…...

HTML/CSS中并集选择器

1.作用:选中多个选择器对应的元素,又称:分组选择器 所谓并集就是或者的含义. 2.语法:选择器1,选择器2,选择器3,......选择器n 多个选择器通过,连接,此处,的含义就是:或. .rich,.beauty{color: blue;} 3.注意事项 1.并集选择器,我们一般竖着写 2.任何形式的选择器,都可以作为并…...

可编辑35页PPT | DeepSeek如何赋能职场应用

DeepSeek作为一款基于人工智能技术的多模态AI工具&#xff0c;近年来在职场应用中迅速崭露头角&#xff0c;以其强大的功能和高效的表现赢得了广泛的赞誉。DeepSeek融合了文本生成、图像创作、数据分析与可视化等多种功能&#xff0c;为职场人士提供了前所未有的便利和效率提升…...

CSS `transform` 属性详解:打造视觉效果与动画的利器

CSS transform 属性详解&#xff1a;打造视觉效果与动画的利器 引言一、transform 属性简介二、平移&#xff08;Translation&#xff09;三、旋转&#xff08;Rotation&#xff09;四、缩放&#xff08;Scale&#xff09;五、倾斜&#xff08;Skew&#xff09;六、组合变换&am…...

Windows使用docker部署fastgpt出现的一些问题

文章目录 Windows使用docker部署FastGPT出现的一些问题1.docker部署pg一直重启的问题2.重启MongoDB之后一直出现“Waiting for MongoDB to start...”3.oneapi启动不了failed to get gpt-3.5-turbo token encoder Windows使用docker部署FastGPT出现的一些问题 1.docker部署pg一…...

Spring Boot中如何使用Thymeleaf模板引擎

Thymeleaf 是一个现代化的服务器端 Java 模板引擎,在 Spring Boot 项目中使用它可以方便地将 Java 代码和 HTML 页面进行整合,生成动态的 Web 页面。以下将详细介绍在 Spring Boot 中如何使用 Thymeleaf 模板引擎。 1. 添加依赖 如果你使用的是 Maven 项目,在 pom.xml 中添…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...