点击下方卡片,关注“CVer”公众号
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
AI/CV重磅干货,第一时间送达
添加微信号:CVer2233,小助手会拉你进群!
扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!
添加微信号:CVer2233,小助手会拉你进群!
扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!
基于大模型的输入冗余,提出iLLaVA对输入进行逐层合并,仅需处理约1/3输入(对于视频缩减至1/12),在单图、多图和视频任务的近二十个数据集上可降低约2×计算量、提升1.7×-2×运行速度并实现相近精度,在LLaVA-Onevision和QWen2-VL等多个7B、13B和34B不同大小的大模型上广泛验证。
与之前方法相比,创新点在于(1)之前方法往往只对视觉-语言大模型中的语言大模型进行轻量化。然而,我们观察到图像编码器在不同任务中也占据相当计算量,因此提出同时对图像编码器和语言大模型进行轻量化,进一步提升模型效率;(2)之前轻量化方法往往简单地将冗余特征去除。然而,冗余特征中往往也包含有对任务有益地信息。我们提出将冗余特征合并至已有特征中,降低信息损失。
思路来源
图1:大模型中特征冗余情况
首先,如图1(a)所示,我们观察到在不同(单图、多图和视频)任务中,图像编码器占据比例不等但相当重要的计算量。而之前方法往往只对其中的语言大模型进行轻量化,忽略了图像编码器。我们提出同时对图像编码器和语言大模型进行轻量化。
其次,如图1(b)所示,我们展示图像编码器(ViT)中不同层对输入图像的注意力图。有两个发现:(1)输入中存在特征冗余,并且模型能通过自注意力机制自行关注到输入中的重要区域;(2)只有低层(1-10层)的注意力图能较好判断输入中重要区域,而高层(>10层)的注意力图可能由于倾向于关注语义特征,而难于判断输入中重要区域。因此,我们提出使用低层的注意力图帮助ViT筛选输入冗余。
再次,如图1(c)所示,我们仿照FastV展示了语言大模型中不同输入(System prompt,image tokens和user instructions)之间的相互注意力,颜色越浅、注意力越高。我们观察到在浅层的LLM层,image tokens尚可接收到较高的注意力,但是在较深的LLM层,image tokens接收的注意力远低于其他输入(System prompt和user instructions),证明在LLM中image tokens存在冗余性。因此可以对LLM的输入进行筛选对模型进行轻量化。
方法框架
图2:模型框架
如图2(b)所示,大模型基础框架为:输入图像首先被送入图像编码器提取图像特征,然后经过一个Projector将特征投影至LLM特征维度,随后作为image tokens与文本输入System prompt和user instructions一起送入LLM中。我们在图像编码器和LLM中分别插入数量不等的Token merging层来逐层合并输入tokens,以减少模型计算量。
与之前方法仅仅简单去除冗余特征不同,我们提出根据注意力大小来合并冗余特征。最直接的方法是使用贪心算法依次合并token直至达到目标数量。然而,我们发现反复使用贪心算法求注意力最小值会产生严重延迟,约增加模型1/3运行时间。因此我们提出单步合并算法,在一个计算步内合并多个冗余token。我们首先根据模型中attention计算得到的注意力图,求得注意力最低的K个token,然后依次将其根据注意力的倒序,与前一个token合并。由于这一过程中合并次序和权重是固定的,可以预先计算所有待合并token的权重,为[K,K-1,…,1]。将所有待合并token与其对应权重相乘后归一化,得到合并的一个token作为其统一表示,和其他token一起继续参与运算。由于在这一过程中,注意力图是模型已经有的且合并操作在单步内完成,所需额外计算量可以忽略不计。图2(a)展示了我们在ViT不同层合并token的可视化(红色为保留token,黑色为丢弃token)。
实验部分
对于膨胀实验,由于空间限制请参照原文
图3:模型有效性
模型有效性:我们在图3中用不同大小(7B、13B和34B)的模型在不同数据集上对iLLaVA在精度(Accuracy,主纵轴)、显存(Memory,次纵轴)和吞吐量(Throughput,横轴)进行对比。在不同数据集上的结果显示,iLLaVA能有效将吞吐量提升约2×、显存降低1.7×-2×并保持相近精度。
表1:模型泛化性
模型泛化性:我们在表1中将iLLaVA部署在最新两个多模态大模型(LLaVA-Onevision 7B和QWen2-VL 7B),在近二十个单图、多图和视频数据集上测试。多数数据集上iLLaVA能维持在0.3%-0.5%的精度损失,将吞吐量提升约2×、显存降低1.7×-2×。
图4:部署在较大模型上与小模型对比
部署在较大模型上与小模型对比:我们在图4中分别将iLLaVA部署在13B和7B模型上,与较小的7B及2B规模的模型对比精度(Accuracy,纵轴)和吞吐量(Throughput,横轴)。iLLaVA能够实现远高于较小模型的精度,同时具有相当或者更佳的吞吐量。
图5:在单图、多图和视频数据集上保留token的可视化
Token合并过程可视化:图5展示了iLLaVA在单图、多图和视频数据集上保留的输入token。对于不同输入而言,在仅保留少量输入的情况下,iLLaVA都能保留相对重要的部分,维持识别精度。
何恺明在MIT授课的课件PPT下载
在CVer公众号后台回复:何恺明,即可下载本课程的所有566页课件PPT!赶紧学起来!
ECCV 2024 论文和代码下载
在CVer公众号后台回复:ECCV2024,即可下载ECCV 2024论文和代码开源的论文合集
CVPR 2024 论文和代码下载
在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集
Mamba、多模态和扩散模型交流群成立
扫描下方二维码,或者添加微信号:CVer2233,即可添加CVer小助手微信,便可申请加入CVer-Mamba、多模态学习或者扩散模型微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。
一定要备注:研究方向+地点+学校/公司+昵称(如Mamba、多模态学习或者扩散模型+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer2233,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集上万人!
▲扫码加入星球学习
▲点击上方卡片,关注CVer公众号
整理不易,请赞和在看