核心代码仅三行!即插即用的视觉语言连接器,一键提升多模态大模型
©作者 | 吴文灏
单位 | 悉尼大学博士生
很开心和大家分享一下我们最近的工作,和清华小学弟姚欢晋在多模态大语言模型(Multimodal Large Language Model, 以下简称 MLLM)方面进行了一些探索。
项目链接:
DC 能直接应用于不同分辨率的多模态大语言模型(比如 LLaVA-1.5,Mini-Gemini)带来明显提升,与不同视觉骨架模型、不同预训练数据、不同参数的大语言模型(从 2B→70B)都能兼容。我们在 11 个图像评测集都取得不错效果,无需训练直接拓展到视频上也能在 8 个视频指标上也取得领先的表现。
Dense Connector 很荣幸被大 V(推特)AK 转发,被 HuggingFace 选为 Daily Papers,欢迎大家的关注与批评指正。我们也希望 DC 能成为未来多模态大语言模型的基础模块。
Dense Connector 已适配 LLaVA-NeXT!通过将 Dense Connector 与动态高分辨率技术(即 LLaVA-NeXT 中的 AnyRes 技术)结合,我们进一步提升了模型性能,并展示了 Dense Connector 在更广泛应用领域的表现。仅使用 LLaVA-1.5 数据集,Dense Connector 在多个基准测试中超越了 LLaVA-NeXT(指令微调训练数据未开源)。欢迎查看 ModelZoo 中的性能表现!
自从 ChatGPT 引领了一波大语言模型(LLM)的热潮,引入视觉等信息的多模态大语言模型(MLLMs)的研究也如火如荼。目前几个常用的提升 MLLMs 的方式是:使用更多更高质量的图像-文本数据集(预训练数据+指令微调数据)、增加大语言模型的参数量、提高图像分辨率、增加视觉骨干网络的数量等方面来增强 MLLM 的理解能力。
然而,对现有视觉编码器的更有效利用的探索相对较少,目前的主流方法往往使用冻结的视觉编码器来获取高层视觉特征(比如 CLIP ViT-L 的第 24 层特征)以此作为最终的视觉表示。然而,这种方式真的充分利用了视觉特征吗?除了最高层特征,冻结的视觉编码器的各层特征其实都蕴含不尽相同的视觉信息,为何不充分使用这些“免费的午餐”呢?
进一步思考,为了与现有 MLLMs 完全兼容性,有没有一种既简单、又高效、又不引入额外参数的方式来充分利用离线视觉特征呢?于是,我们提出了 Dense Connector,一个即插即用的视觉语言连接器来增强现有的 MLLMs。
现有的 MLLMs(如 LLaVA 和 InstructBLIP)通常将高层特征输入给 MLLM。然而,在计算机视觉的历史长河中,利用多层视觉特征以增强视觉表征是一种经典的策略(如 DenseNet, FPN 等)。
如上图,我们针对 MLLM 进行了相关的探索,以下是 Dense Connector 的三种实例探索,它融合多层视觉特征以获得更强的视觉表征。Dense Connector 分为两个部分:第一部分融合多层视觉特征,第二部分进行特征转换,将视觉特征转换到大语言模型的特征空间上。接下来,我们分别介绍实现这三种实例:
▲ Dense Connector的三种实例。N为token数,D为channel维度。
Sparse Token Integration (STI)
现有方法通过 projector 将高层的 ViT patch token 转换为大语言模型的输入 token。沿着这种思路,我们将浅层视觉特征作为额外的 token 输入给 LLM。然而,随着 token 数量的增加,大语言模型的前向计算时间也会增加,并且相同编码器的不同层特征存在一定的冗余信息。
为了解决这些问题,我们使用 average pooling 对低层视觉 token 进行下采样,同时保持高层特征不变。然后,我们将这些特征沿着 token 维度进行拼接,并输入到一个共享权重的 projector 中进行特征空间转换。
Sparse Channel Integration (SCI)
STI 方法简单有效,但是由于 token 数的增多,影响了其推理效率。受到 DenseNet 的启发,我们提出了本文的一个核心方法:将 multi-level 的视觉特征沿着特征维度拼接,然后将拼接后的视觉特征通过 projector。projector 在这里不仅作为视觉特征的融合器,也作为视觉特征到文本特征的映射器,巧妙的实现了两种功能。
这部分核心代码仅三行!
Dense Channel Integration (DCI)
上述的 STI 和 SCI 方法都取得了不错的效果。然而,由于上述方法需要沿着 token 或者 channel 维度进行拼接,我们仅选择了少数几层特征进行拼接。选择过多的特征会导致维度过高,导致效果不好。
为了融合更多层的视觉特征,我们在 SCI 的基础上提出了一种更有效的方法融合更多的视觉特征层。我们的做法如下:首先将 ViT 层(例如,24 层的 ViT-L/14)分为 3 组,分别是第 1~8 层,第 9~16 层,第 17~24 层三组视觉特征。我们对这三组特征分别进行特征相加后,将 24 层视觉特征缩减为 3 个视觉特征表征。然后我们将这三个融合后的视觉特征和 ViT 原本的高层特征沿着 channel 维度进行拼接,并通过 projector 进行特征融合和特征映射。
下图是 Dense Connector 的三种实例化结果,以 Baseline LLaVA-1.5 为参考,三种实例都有明显提升,也能看到其中 Dense Channel Integration (DCI) 实现了最好的结果。
此外,我们测试了利用不同视觉编码器的多层视觉特征的效果,我们将 CLIP-L 替换成更先进的 SigLIP-SO,验证了 Dense Connector 能适用于其他的视觉 backbone。为了验证 Dense Connector 能轻松集成到现有的 MLLM 框架中,除了 LLaVA-1.5,我们也将 Dense Connector 应用于最近的高分辨率双流架构的 Mini-Gemini,并实现了进一步的性能提升。同样,基于更大的预训练数据,效果提升也明显。
▲ 兼容性分析
我们基于 LLaVA-1.5 的训练数据,提供了基于不同参数量(2B-70B)大语言模型的结果,能看到其 scale up 能力。不过由于计算资源的限制(大部分模型都使用 8 卡 A100 训练),为了训练 34B 模型和 70B 模型,我们只能冻结 LLM 仅训练 LoRA 微调。后面如果有更丰富的 80G A100 多机资源,很显然 full tuning LLM 以及使用比 LLaVA-1.5 更多的训练数据(比如 Mini-Gemini)会有更好的结果。
除了图像模态,我们也直接利用 FreeVA [1] 将我们的模型用于视频对话(没有经过任何的视频数据训练),也取得了不错的结果。
▲ 视频场景结果
参考文献
[1] FreeVA: Offline MLLM as Training-Free Video Assistant https://arxiv.org/abs/2405.07798
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者