点击上方蓝字关注我们
EVLM: An Efficient Vision-Language Model for Visual Understanding
作者:
Kaibing Chen, Dong Shen, Hanwen Zhong, et al.
作者单位:
快手科技
论文链接:
https://arxiv.org/pdf/2407.14177
简介
在多模态语言模型领域,大多数方法都建立在类似 LLaVA 的架构上。这些模型使用单层 ViT 特征作为视觉提示,将其与文本标记一起直接输入语言模型。然而,在处理长序列的视觉信号或视频等输入时,语言模型的自注意力机制可能会导致大量的计算开销。此外,使用单层 ViT 特征使得大型语言模型难以完全感知视觉信号。本文提出了一种高效的多模态语言模型,以最大限度地降低计算成本,同时使模型能够尽可能全面地感知视觉信号。该方法主要包括:(1)对图像-文本交互采用类似 Flamingo 的交叉注意力。(2)利用分层 ViT 特征。(3)引入混合专家 (MoE) 机制来增强模型有效性。该模型在公共多模态基准上取得了有竞争力的分数,并在图像字幕和视频字幕等任务中表现出色。图 1 显示了模型生成的一些定性示例。
研究动机
目前的研究方法侧重于使用多个视觉编码器来增强视觉信号的编码,或者侧重于使用多个视觉编码器来增强视觉信号的编码,旨在通过提高图像分辨率或切片来改善模型对小物体的感知。分辨率图像。这些方法显着提高了视觉语言模型在细节识别方面的性能,特别是在 OCR 和文档分析等任务中。一旦视觉信号被编码成特征,所得特征通常需要很长的标记长度。
尝试使用多个编码器来提取视觉特征、增加输入图像分辨率或对图像进行切片,特别是在处理视频数据或多个图像输入时,这些操作显着增加了视觉标记的长度。在 LLaVA这样的模型中,直接将过长的视觉标记输入到语言模型中将导致大量的计算开销。另一方面,采用类似于 Q-former的方法压缩视觉特征可能会导致视觉信息丢失。因此,选择适当的策略来平衡计算效率和信息丰富度对于设计高效的视觉语言模型至关重要。
论文贡献
提出了一种高效的视觉语言模型,采用类似于 Flamingo 的交叉注意力机制来实现视觉和文本输入之间的交互。采用交叉注意力可以确保即使使用很长的视觉标记,控制交叉注意力中的特征维度也不会导致过多的计算开销。
采用了分层 ViT 特征,使大规模语言模型能够感知不同级别的视觉信号,从而有助于理解不同粒度的任务。
在交叉注意力上应用了专家混合(MoE)来扩展可训练的模型参数。对大规模双语图像-文本对数据集的广泛预训练使我们的视觉语言模型能够获得丰富的视觉语言知识。
EVLM 模型架构
模型架构基于 Flamingo ,主要由视觉编码器、大语言模型和门控交叉注意力层组成。为了使多模态模型能够捕获更细粒度的视觉信号,从视觉编码器的不同层中提取了分层视觉特征,并增加了 Flamingo 媒体标记的长度。图2是模型框架图。
视觉编码器
为了增强多模态模型的视觉感知能力,文中使用了 4.4B EVA2-CLIP-E-Plus 模型。在实施过程中,文中删除了最后一个transformer块之后的范数层和头层。为了提取分层视觉特征,从 Transformer 的最后 40 层均匀采样 8 个特征序列,并将这 8 个特征序列顺序输入到 Flamingo 的不同门控交叉注意力层中。
门控交叉注意力层
与 Flamingo 类似,文中使用门控交叉注意力在视觉和文本之间进行交互。与 Flamingo 不同,文中用一组序列长度为 16 的可学习标记替换媒体标记 <image>,希望这些可学习标记能够携带类似于 Qformer 的视觉特征。因为并非所有文本序列都必然与视觉特征相关,所以在视觉特征序列上填充一组全零向量。可学习标记、文本序列和视觉特征的注意掩模如图2所示,其中每组可学习标记只能与相应的图像交互,文本序列只能与多模态序列中的前一个图像交互。
大语言模型
使用Qwen-14B-Chat 1.0版本的语言模型,在内容理解和逻辑推理方面表现出色。为了根据视觉输入调节语言模型,文中在语言模型的每个transformer层之前插入一个门控交叉注意力层。
高效训练讨论
文中分析了 EVLM 的计算预算估算,并将其与当前主流模型架构(例如 LLaVA 系列和 Flamingo 系列)的结果进行比较。在 FLOPs 估计中,评估了 LLM 中单个 Transformer 层中的注意力层和 FFN 层。如图3所示,表示LLM的隐藏状态大小,而表示视觉表示的维度。此外,在门控交叉注意力层中,注意力层与的比率表示为,FFN层与的比率也表示为$r_{x_f$。文中区分串联和交叉注意力交互模式,分别称为 和 。总 FLOP 可以估计如下:
训练过程由三个阶段组成:多模态预训练、多任务持续预训练和多模态指令微调。
多模态预训练主要针对两个目标:1)图像和文本的跨模态对齐,2)对多模态数据内的内在关系进行建模。基于这些目标,文中收集了大规模的图像文本标题数据集和网络型多模态数据。对于图像文本标题数据,我们实施了数据清理过程,以过滤掉异常情况,例如具有异常长宽比的图像和具有重复单词的文本,并确保图像和文本之间的相关性。表 5 说明了预训练数据的分布。获得了25亿条图文字幕数据和5000万条网页型多模态数据。值得注意的是,这些数据中有60%是中文,其中包括大量自建的中文字幕数据。这样做是为了增强多模态模型的细粒度对齐能力,涵盖特定的视觉概念,例如名人、地标建筑和菜肴。
fine-tuning
为了获得更好的性能,文中通过缩放 Gated Xaaten Layer 来获得更多的训练参数。如图 4 所示,采用细粒度 MoE 架构。首先将 EVLM-Base 的 FFN 参数复制 N 次。随后,每个复制的FFN被分割成M个细粒度专家,总共产生N M 个细粒度专家。选择一个routing层,该层选择适当的 k 个细粒度专家集来计算当前令牌的输出。在配置中设置了 n = 4、m = 4 和 k = 4。
文中引入了负责学习常识的世界专家。该专家参与每个token的处理。然后,将世界专家的输出与细粒度专家的输出相结合,得出最终结果。文中采用与密集基线模型相同的训练数据和配置,并冻结 LLM 并仅调整交叉注意层和最后一个季度的 ViT 层。此阶段获得的模型称为EVLM-MoE。
实验结果
如表 4 所示,与其他方法相比,EVLM-Chat 和 EVLM-MoE 在大多数基准测试中都表现出了卓越的性能。
致谢作者,转载请注明出处,关于论文的详细实施过程和具体解释请阅读论文原文哦~❤️❤️
喜欢的话,请别忘记点赞👍➕关注哦
推荐阅读
NeurIPS 2024|多模态学习重磅论文全览!最新研究集锦,不容错过!(上)
NeurIPS 2024|多模态学习重磅论文全览!最新研究集锦,不容错过!(下)