美团、浙大等于近日推出了MobileVLMV2,其中包含参数量1.7B、3B、以及7B的一系列视觉-语言模型。代码与模型以及适配的端侧推理方案都已开源。
在延续前作优势的基础上,MobileVLMV2进行了显著的改进,使用了新颖的架构设计、针对移动端VLM量身定制训练方案、并丰富了高质量数据,使MobileVLMV2的性能表现更上一层楼的同时,也为业界对于端侧视觉语言模型解决方案提供了新的思路。
具体而言,与参数量更大的3BVLM相比,MobileVLMV21.7B在标准VLM基准测试中达到了同等甚至更好的的性能;特别是MobileVLMV23B模型在某些标准测试基准上甚至优于参数规模7B甚至更大的VLM。
视觉-语言模型(VLM)已成为当今人工智能领域的一个研究热点。通过融合大型语言模型(LLM)和多模态功能,视觉-语言模型展现出前所未有的多功能性。例如,Gemini和GPT-4V等专有模型在多种任务中展示了卓越的性能。尽管VLM表现出色,但如何将其部署到如移动设备、自动驾驶汽车和嵌入式人工智能系统等实际应用中,依然面临着挑战。
最近,MobileVLM在探索移动端硬件架构导向的小规模VLMs的能力方面走在了前列。MoE-LLaVA采用了mixture-of-experts方法,显著提升了小型模型的性能,使其超越了许多大型模型。最新研究显示,VLMs正朝着扩展模态、优化训练流程、高效架构和高质量训练数据集的方向发展。
本文基于MobileVLM进行了大幅改进,主要集中在三个方面:首先是训练数据的利用:本文通过使用ShareGPT4V收集的120万对高质量图像-文本配对数据,有效地对齐了视觉-语言特征。这一数据集的引入提高了数据的多样性,并增强了模型遵循指令的能力,同时纳入了更多学术任务,例如ScienceQA、TextVQA、SBU等。
其次是训练策略的探索:在训练策略方面,该方法在预训练和指令微调阶段对投影网络和语言模型的所有参数进行了训练,这种做法在充分利用高质量数据潜力方面显示出了有效性。
轻量级高性能投影网络的更新:引入了一个更加精简而强大的轻量级投影机制并通过该机制连接视觉和语言模型。通过改进图像token的表示、增强了位置信息的手段,MobileVLMV2能够在几乎不降低性能的情况下显著减少语言模型所需的输入图像token的数量。本文的主要贡献如下:
本文的方法延续了与MobileVLM相似的框架。如图2所示,MobileVLMV2的整体架构包括一个预训练的用于提取图像特征视觉编码器,一个预训练的端侧语言模型MobileLLaMA来处理多模态token并生成最终回答,以及一个针对端侧设计的投影网络,即轻量级下采样投影器(表示为LDPv2),用于将图像特征在特征空间层面与语言模型对齐。
延续MobileVLM的思想,本文使用CLIPViT-L/14作为视觉编码器
本文采用MobileLLaMA系列作为基础的语言模型(LLM)。该选择有三个原因:首先,MobileLLaMA设计用于即插即用部署,并已在资源有限的设备上展示了实时推理能力和可靠的性能。保持语言模型不变有助于进行受控实验,以探索其他因素的影响,例如扩大数据语料库、改进训练策略、更新投影网络等新设计。
其次,MobileLLaMA与LLaMA2共享相同的分词器,这有助于进行无障碍的知识蒸馏。最后,它是在开放数据集上训练的,并且没有因数据泄露而导致评估污染的风险。这也有助于确认这个模型是否能够在性能上取得优势。
受MobileVLM的LDP设计启发,本文引入了一个新的投影网络,以更少的参数实现更好的视觉-语言特征对齐。它包含三个组成部分,即特征转换、减少token数、位置信息增强。
首先,投影网络在图像token上使用两个逐点卷积层来匹配LLM的特征维度。然后,引入了一个平均池化层来极度压缩图像token的数量。最后,应用了一个非常简单但有效的模块PEG,它带有跳跃连接,能够增强位置信息。与LDP相比,该投影网络更加高效,减少了99.8%的参数数量,并且在运行速度上略有提升。
其中PW和DW分别代表逐点卷积和深度卷积,GELU是GELU激活层,AvgPool2×2是2×2平均池化层。
MobileVLMV2的训练过程分为两个阶段:预训练和多任务训练。如表1所示,与LLaVA-1.5和之前的MobileVLM的训练范式不同,MobileVLMV2在两个阶段中始终训练投影网络和大型语言模型的权重,同时冻结视觉编码器的权重。
(1)预训练
大多数视觉-语言模型(VLMs)在预训练期间通常会冻结视觉编码器和语言模型,以避免优化难题。ShareGPT-4V部分冻结视觉编码器并训练语言模型。在本文中分别从CLIPViT-L/14和MobileLLaMA初始化视觉编码器和语言模型的权重。这种初始化为随后的统一训练过程提供了一个坚实的基础。
本文对投影网络和LLM进行完整训练,同时微调视觉编码器,在训练过程中冻结ViT降低了训练成本。然后,模型利用一个自回归损失函数,将训练目标集中在下一个token的预测上。通过专注于这个特定任务,模型更好地学习视觉信息背景下语言生成的复杂性,从而提高了多模态任务的性能。
如表2所示,在预训练阶段,模型使用ShareGPT4V-PT数据集进行训练,该数据集包含120万图像-文本对。该数据集在提高模型的图像-文本对齐能力方面起着至关重要的作用,是多模态表示学习的一个关键方面。
(2)多任务训练
在图像-文本对齐学习的预训练阶段之后,MobileVLMV2已经获得了基本的图像内容理解能力。然而,它利用视觉信息进行分析和对话的能力还不成熟,尤其是在一系列特定的下游任务中。因此,在多任务训练阶段,本文引入了多个视觉-语言任务,通过对训练过程中的参数进行调整,使模型具备多任务分析和图像-文本对话的能力。
在多任务训练阶段,本文使用了大量的数据集,包含了多种任务,以进一步扩充模型的能力集合。如表2所概述,这些数据集根据功能不同精挑细选,例如使用VisualDialog数据集提高对话能力,通过TextVQA数据集提高OCR技能,通过COCOCaption和SBU数据集提高场景理解能力,以及通过VSR数据集等提高位置理解能力。
总的来说,这一阶段的聚合数据包含了240万个样本,确保了跨不同模态和任务的全面学习。
表三中列出了本文方法在训练过程中所涉及的参数设置:
本文评估了MobileVLMV2的性能,并在表4中展示了准确性结果。与MobileVLM相同,本文采用了一系列基准测试,包括图像问答系列GQA、SQA、TextVQA,综合基准测试MME、MMBench,以及物体幻觉基准测试POPE。
本文的模型的目标虽然是针对真实应用场景而取得准确性与运行时延迟两个方面的平衡,但它们的性能超过了大多数以前的模型,并有在实时推理性能上具有明显的优势。凭借快75%的推理速度优势,MobileVLMV23B在平均性能上仍然比最近的工作MoE-LLaVA-2.7B×4高出1.4个百分点。
值得注意的是,MoE-LLaVA-2.7B×4与许多7B+的VLMs相比展现出可比或更好性能。这些VLM中的大部分都引入了大量的额外训练成本。相比之下,本文的方法在达到最均衡的性能表现的同时,训练成本与计算友好的LLaVA-1.5相当。
(1)与MoE-LLaVA比较
MoE-LLaVA利用多个专家模型来实现良好的性能,每个专家模型规模都较小,以提高推理速度。尽管只有一部分参数被激活,但它仍然需要存储所有参数,这在移动端应用场景中不可避免地会导致IO开销。此外,将模型压缩技术应用到这些模型上非常困难。
相比之下,本文的方法在实际优化部署方面优势很大。本文所提出的模型在TeslaA100GPU上评估的推理速度领先于MoE-LLaVA,如果在真实的端侧环境中测试,优势将会进一步扩大。原则上,MobileVLMV2也可以与其MoE设计相结合,但在不牺牲MobileVLMV2的内存占用和推理延迟优势前提下提出一种新的结合方式,还有待研究。
(2)与MobileVLM比较
表4显示,MobileVLMV2显著提高了MobileVLM的性能表现,平均准确率提高了5.3个百分点。由于这两种方法共享相同的视觉-语言模态编码器,性能的提高归功于更优的数据、更好的训练策略、以及更有效的投影网络。
MobileVLMV2的良好性能表现说明,MobileLLaMA作为小型语言模型也能够成为一个很好的基线,因为它是基于开放资源数据集Redpajama构建的,该数据集可复现且评估数据泄露的风险低。
(3)NVIDIAA100上的运行延迟比较
由于许多模型尚未得到最新的移动推理框架支持,本文使用PyTorch框架在NVIDIAA100GPU上比较了一些模型的推理延迟,如图3所示。
MobileVLMV2模型在token生成速度和测试基准平均得分两方面通常都有优势。MoileVLMV21B/3B的速度分别为37.37tokens/秒和28.97tokens/秒,这比MoE-LLaVA的对应参数量的模型快1.65倍,且平均性能更好。
虽然本文的目标是设计应用在端侧的多模态模型,但本文进一步扩大了模型的参数规模到7B,以验证性能的上限。这也使得MobileVLMV2能够与许多现有VLM进行同异性比较。在都使用Vicuna-7B作为LLM模型的条件下,MobileVLMV2在图4中的结果展现出全面的多模态性能改进。
如图5和表5所示,文中将MobileVLMV27B与主流的大型VLM如LLaVA-1.57B和ShareGPT4V7B在性能和推理速度上进行了比较,可以看出MobileVLMV27B不仅在多个基准测试中获得了显著的性能优势,而且在推理速度上也明显领先。
在几乎快了20%的情况下,MobileVLMV27B在平均性能上比ShareGPT4V高出1.3%。这进一步说明了本文数据扩展策略、训练策略和新的投影网络设计的有效性。
可以观察到,7B模型的推理速度差距较小,所以在去除了减少token数的组件的设置下,本文的7B模型具有与ShareGPT4V相同的延迟速度,并且能够达到性能上界。
在JetsonOrin平台上,MobileVLMV2在相同参数规模下展现了比其他模型更低的推理延迟。如表5所示,MobileVLMV2具有最快的推理速度,这归功于更加轻量化的投影网络设计:将原始的576个视觉提示token数优化为144个,同时在平均准确率上的表现保持不变甚至更好。
如表6所示,第一行代表MobileVLM1.7B的基线。本文用ShareGPT4V数据集替换了预训练数据集,并将指令调优数据集规模扩展到240万图文对,训练策略和模型架构与基线保持一致。
在GQA、SQA和TextVQA上的性能提升表明,模型在认知和对话方面的能力在数据增强后有所提高。然而,在更高质量数据的配置下,保持原始训练策略不能充分利用数据优势,因此模型在MME和MMBench上的性能下降。
基于对训练数据规模影线的观察,本文进一步探索了更合理的训练策略。在增强数据和小参数量VLMs的设置下,在全部阶段对语言模型进行训练能够实现更高效的学习。因此,本文选择同时对投影网络和语言模型进行微调。比较结果显示在表6的第二行和第三行,可以看到,这种训练设置使模型在大多数VLM基准测试中都实现了全面的性能提升,平均准确率提高了2%。
表7的第一行和第二行显示,MobileVLM提出的LDPv1在减少了75%的token数(从576减少到144)的情况下,几乎保持性能不变。基于新提出的数据配置和训练策略,上述相应的架构分别能够实现平均5.4和4.5的性能提升(见表7的第三行和第四行)。
然而,当尝试继续探索视觉和语言特征更好的对齐方法时,本文观察到增加可学习参数的数量容易导致训练过程陷入优化困境,从而导致整体特征对齐效果的下降。
基于这一现象,本文首先用一个非常简单的无参数操作,即2×2平均池化,替换了LDPv1中的[DW^kPW]块,发现可以获得平均0.4的性能提升(见表7的第五行)。
其次,为了使对齐的视觉特征具有更强的位置信息,本文使用可学习的位置编码对位置信息进行增强,取得了0.5的性能提升。PEG的位置编码是动态生成的,并且取决于输入token的局部邻域,受其启发,本文随后用PEG层替换了可学习的PE,以获得更好的增强特征。表7的第7行显示,这种设计带来了0.5的平均性能改提升。
值得一提的是,在MobileVLMV21.7B中应用的PEG层只包含0.02M(2048×3×3)参数,与MobileVLM中的[DW^PW]块相比,可学习参数的数量减少了近630倍(从12.64M减少到0.02M),但总体性能提高了1.4,这证明了本文投影网络结构设计的有效性。
本文提出了一系列基于MobileVLM的高效视觉-语言模型,称为MobileVLMV2。本文深入探索了数据配比、训练策略、以及模态对齐网络的设计,以在小参数量VLM模型的设置下提高整体性能。
在与LLaVA-v1.5相当的训练成本下,本文的方法在精度和实时推理性能方面达到了当前针对真实的应用环境的最优综合性能。在性能相当的前提下,本文的模型在推理优势方面超越了许多更大的模型,这为在资源有限的场景中应用先进的AI技术提供了有效的方案。