美团、浙大等于近日推出了 MobileVLM V2,其中包含参数量 1.7B、3B、以及 7B 的一系列视觉-语言模型。代码与模型以及适配的端侧推理方案都已开源。
论文地址:
https://arxiv.org/abs/2402.03766
模型地址:
https://huggingface.co/mtgv
代码地址:
https://github.com/Meituan-AutoML/MobileVLM
大模型涌向移动端的浪潮愈演愈烈,作为第一个针对端侧的视觉语言模型的工作,归功于 MobileVLM 在小参数量下的强大性能和完善的端侧实时运行端侧推理方案,MobileVLM 一经推出就受到了国内外开源社区的广泛关注。
在延续前作优势的基础上,MobileVLM V2 进行了显著的改进,使用了新颖的架构设计、针对移动端 VLM 量身定制训练方案、并丰富了高质量数据,使 MobileVLM V2 的性能表现更上一层楼的同时,也为业界对于端侧视觉语言模型解决方案提供了新的思路。
具体而言,与参数量更大的 3B VLM 相比,MobileVLM V2 1.7B 在标准 VLM 基准测试中达到了同等甚至更好的的性能;特别是 MobileVLM V2 3B 模型在某些标准测试基准上甚至优于参数规模 7B 甚至更大的 VLM。
简介
视觉-语言模型(VLM)已成为当今人工智能领域的一个研究热点。通过融合大型语言模型(LLM)和多模态功能,视觉-语言模型展现出前所未有的多功能性。例如,Gemini 和 GPT-4V 等专有模型在多种任务中展示了卓越的性能。尽管 VLM 表现出色,但如何将其部署到如移动设备、自动驾驶汽车和嵌入式人工智能系统等实际应用中,依然面临着挑战。
最近,MobileVLM 在探索移动端硬件架构导向的小规模 VLMs 的能力方面走在了前列。MoE-LLaVA 采用了 mixture-of-experts 方法,显著提升了小型模型的性能,使其超越了许多大型模型。新研究显示,VLMs 正朝着扩展模态、优化训练流程、高效架构和高质量训练数据集的方向发展。
本文基于 MobileVLM 进行了大幅改进,主要集中在三个方面:首先是训练数据的利用:本文通过使用 ShareGPT4V 收集的 120 万对高质量图像-文本配对数据,有效地对齐了视觉-语言特征。这一数据集的引入提高了数据的多样性,并增强了模型遵循指令的能力,同时纳入了更多学术任务,例如 ScienceQA、TextVQA、SBU 等。
其次是训练策略的探索:在训练策略方面,该方法在预训练和指令微调阶段对投影网络和语言模型的所有参数进行了训练,这种做法在充分利用高质量数据潜力方面显示出了有效性。
轻量级高性能投影网络的更新:引入了一个更加精简而强大的轻量级投影机制并通过该机制连接视觉和语言模型。通过改进图像 token 的表示、增强了位置信息的手段,MobileVLM V2 能够在几乎不降低性能的情况下显著减少语言模型所需的输入图像 token 的数量。本文的主要贡献如下:
1. 本文探索并评估了增加小型视觉-语言模型训练数据的性能,显著缩小了如 MobileVLM 这样的小型 VLMs 与大参数量视觉-语言模型之间的性能差距。
2. 本文深入研究了对于移动端场景下更友好的训练策略,并设计了一种新颖的训练方案,以充分利用更多高质量多模态数据的潜力。本文提出了一个非常轻量级的投影网络,以显著减少视觉 token 的数量,同时对性能只有轻微的影响。
3. 本文提出的方法在多个视觉-语言基准测试中取得了性能与推理速度之间的最佳平衡。通过将 MobileVLM V2 模型的参数规模扩展到70亿,本文的方法大幅超越了之前最先进的模型。
MobileVLM V2
2.1 总体架构设计
本文的方法延续了与 MobileVLM 相似的框架。如图 2 所示,MobileVLM V2 的整体架构包括一个预训练的用于提取图像特征视觉编码器,一个预训练的端侧语言模型 MobileLLaMA 来处理多模态 token 并生成最终回答,以及一个针对端侧设计的投影网络,即轻量级下采样投影器(表示为 LDPv2),用于将图像特征在特征空间层面与语言模型对齐。
2.2 视觉编码器
延续 MobileVLM 的思想,本文使用 CLIP ViT-L/14 作为视觉编码器 ,该编码器通过对比学习在数百万图像-语言对上进行预训练,并已被证明对 VLMs 有效。
特别地,图像 首先被调整大小至 336 × 336 分辨率,并以 14 为步长 切割成块。然后提取高级视觉嵌入 来表示图像的语义信息,其中 表示视觉嵌入的序列长度, 表示视觉嵌入的 hidden size。具体如下式所示:
2.3 语言模型
本文采用 MobileLLaMA 系列作为基础的语言模型(LLM)。该选择有三个原因:首先,MobileLLaMA 设计用于即插即用部署,并已在资源有限的设备上展示了实时推理能力和可靠的性能。保持语言模型不变有助于进行受控实验,以探索其他因素的影响,例如扩大数据语料库、改进训练策略、更新投影网络等新设计。
其次,MobileLLaMA 与 LLaMA2 共享相同的分词器,这有助于进行无障碍的知识蒸馏。最后,它是在开放数据集上训练的,并且没有因数据泄露而导致评估污染的风险。这也有助于确认这个模型是否能够在性能上取得优势。
具体来说,本文采用 MobileLLaMA-1.4B-Chat 和 MobileLLaMA-2.7B-Chat 作为语言模型。文本输入 首先被分词并处理成文本 token ,其中 表示文本 token 的序列长度, 是单词嵌入空间的隐藏尺寸。文本 token 和视觉 token 通过投影网络转换,以便作为语言模型的输入串联起来。最终响应 的长度为 ,以如下的自回归方式生成,

2.4 轻量级的降采样投影网络

受 MobileVLM 的 LDP 设计启发,本文引入了一个新的投影网络,以更少的参数实现更好的视觉-语言特征对齐。它包含三个组成部分,即特征转换、减少 token 数、位置信息增强。
首先,投影网络在图像 token 上使用两个逐点卷积层来匹配 LLM 的特征维度。然后,引入了一个平均池化层来极度压缩图像 token 的数量。最后,应用了一个非常简单但有效的模块 PEG,它带有跳跃连接,能够增强位置信息。与 LDP 相比,该投影网络更加高效,减少了 99.8% 的参数数量,并且在运行速度上略有提升。
在公式化中,轻量级降采样投影网络 LDPv2(标记为 )将视觉嵌入 转换为具有位置增强的模态对齐视觉 token 。这种设计针对部署十分友好,因为它由主流推理框架支持的算子组成。给定一个平均核 ,剩余 token 的数量只有输入特征的 。具体来说,如下 LDPv2 的公式化如下所示:
其中 PW 和 DW 分别代表逐点卷积和深度卷积,GELU 是 GELU 激活层,AvgPool2×2 是 2×2 平均池化层。
2.5 训练策略
MobileVLM V2 的训练过程分为两个阶段:预训练和多任务训练。如表 1 所示,与LLaVA-1.5 和之前的 MobileVLM 的训练范式不同,MobileVLM V2 在两个阶段中始终训练投影网络和大型语言模型的权重,同时冻结视觉编码器的权重。
2.5.1 预训练
大多数视觉-语言模型(VLMs)在预训练期间通常会冻结视觉编码器和语言模型,以避免优化难题。ShareGPT-4V 部分冻结视觉编码器并训练语言模型。在本文中分别从 CLIP ViT-L/14 和 MobileLLaMA 初始化视觉编码器和语言模型的权重。这种初始化为随后的统一训练过程提供了一个坚实的基础。
本文对投影网络和 LLM 进行完整训练,同时微调视觉编码器,在训练过程中冻结 ViT 降低了训练成本。然后,模型利用一个自回归损失函数,将训练目标集中在下一个 token 的预测上。通过专注于这个特定任务,模型更好地学习视觉信息背景下语言生成的复杂性,从而提高了多模态任务的性能。
如表 2 所示,在预训练阶段,模型使用 ShareGPT4V-PT 数据集进行训练,该数据集包含 120 万图像-文本对。该数据集在提高模型的图像-文本对齐能力方面起着至关重要的作用,是多模态表示学习的一个关键方面。

2.5.2 多任务训练

在图像-文本对齐学习的预训练阶段之后,MobileVLM V2 已经获得了基本的图像内容理解能力。然而,它利用视觉信息进行分析和对话的能力还不成熟,尤其是在一系列特定的下游任务中。因此,在多任务训练阶段,本文引入了多个视觉-语言任务,通过对训练过程中的参数进行调整,使模型具备多任务分析和图像-文本对话的能力。
在多任务训练阶段,本文使用了大量的数据集,包含了多种任务,以进一步扩充模型的能力集合。如表 2 所概述,这些数据集根据功能不同精挑细选,例如使用 Visual Dialog 数据集提高对话能力,通过 TextVQA 数据集提高 OCR 技能,通过 COCO Caption 和 SBU 数据集提高场景理解能力,以及通过 VSR 数据集等提高位置理解能力。
总的来说,这一阶段的聚合数据包含了 240 万个样本,确保了跨不同模态和任务的全面学习。

实验结果

表三中列出了本文方法在训练过程中所涉及的参数设置:
3.1 与SOTA视觉-语言模型的比较
本文评估了 MobileVLM V2 的性能,并在表 4 中展示了准确性结果。与 MobileVLM 相同,本文采用了一系列基准测试,包括图像问答系列 GQA、SQA、TextVQA,综合基准测试 MME、MMBench,以及物体幻觉基准测试 POPE。
本文的模型的目标虽然是针对真实应用场景而取得准确性与运行时延迟两个方面的平衡,但它们的性能超过了大多数以前的模型,并有在实时推理性能上具有明显的优势。凭借快 75% 的推理速度优势,MobileVLM V2 3B 在平均性能上仍然比最近的工作 MoE-LLaVA-2.7B×4 高出 1.4 个百分点。
值得注意的是,MoE-LLaVA-2.7B×4 与许多 7B+ 的 VLMs 相比展现出可比或更好性能。这些 VLM 中的大部分都引入了大量的额外训练成本。相比之下,本文的方法在达到最均衡的性能表现的同时,训练成本与计算友好的 LLaVA-1.5 相当。
3.1.1 与MoE-LLaVA比较
MoE-LLaVA 利用多个专家模型来实现良好的性能,每个专家模型规模都较小,以提高推理速度。尽管只有一部分参数被激活,但它仍然需要存储所有参数,这在移动端应用场景中不可避免地会导致 IO 开销。此外,将模型压缩技术应用到这些模型上非常困难。
相比之下,本文的方法在实际优化部署方面优势很大。本文所提出的模型在 Tesla A100 GPU 上评估的推理速度领先于 MoE-LLaVA,如果在真实的端侧环境中测试,优势将会进一步扩大。原则上,MobileVLM V2 也可以与其 MoE 设计相结合,但在不牺牲 MobileVLM V2 的内存占用和推理延迟优势前提下提出一种新的结合方式,还有待研究。
3.1.2 与MobileVLM比较
表 4 显示,MobileVLM V2 显著提高了 MobileVLM 的性能表现,平均准确率提高了 5.3 个百分点。由于这两种方法共享相同的视觉-语言模态编码器,性能的提高归功于更优的数据、更好的训练策略、以及更有效的投影网络。
MobileVLM V2 的良好性能表现说明,MobileLLaMA 作为小型语言模型也能够成为一个很好的基线,因为它是基于开放资源数据集 Redpajama 构建的,该数据集可复现且评估数据泄露的风险低。
3.1.3 NVIDIA A100上的运行延迟比较
由于许多模型尚未得到最新的移动推理框架支持,本文使用 PyTorch 框架在 NVIDIA A100 GPU 上比较了一些模型的推理延迟,如图 3 所示。
MobileVLM V2 模型在 token 生成速度和测试基准平均得分两方面通常都有优势。MoileVLM V2 1B/3B 的速度分别为 37.37tokens /秒和 28.97tokens /秒,这比 MoE-LLaVA 的对应参数量的模型快 1.65 倍,且平均性能更好。
3.2 模型规模分析
虽然本文的目标是设计应用在端侧的多模态模型,但本文进一步扩大了模型的参数规模到 7B,以验证性能的上限。这也使得 MobileVLM V2 能够与许多现有 VLM 进行同异性比较。在都使用 Vicuna-7B 作为 LLM 模型的条件下,MobileVLM V2 在图 4 中的结果展现出全面的多模态性能改进。
如图 5 和表 5 所示,文中将 MobileVLM V2 7B 与主流的大型 VLM 如 LLaVA-1.5 7B 和 ShareGPT4V 7B 在性能和推理速度上进行了比较,可以看出 MobileVLM V2 7B 不仅在多个基准测试中获得了显著的性能优势,而且在推理速度上也明显领先。
在几乎快了 20% 的情况下,MobileVLM V2 7B 在平均性能上比 ShareGPT4V 高出 1.3%。这进一步说明了本文数据扩展策略、训练策略和新的投影网络设计的有效性。
可以观察到,7B 模型的推理速度差距较小,所以在去除了减少 token 数的组件的设置下,本文的 7B 模型具有与 ShareGPT4V 相同的延迟速度,并且能够达到性能上界。
表 4 的最后一行展示了这种设置下的比较结果,MobileVLM V2 7B(无 AvgPool)达到了 73.5% 的平均得分,显著优于 LLaVA-1.5 4.7 个百分点。与MobileVLM V2 7B(带 AvgPool)相比,性能提升主要来自 TextVQA 任务分数的提高,这是一个 OCR 任务,这项任务包含许多小物体,因此 token 数减少可能是有害的,本文作者将持续关注如何在未来的工作中有效利用高分辨率输入的问题。
3.3 NVIDIA Jetson Orin上的运行延迟
在 Jetson Orin 平台上, MobileVLM V2 在相同参数规模下展现了比其他模型更低的推理延迟。如表 5 所示,MobileVLM V2 具有最快的推理速度,这归功于更加轻量化的投影网络设计:将原始的 576 个视觉提示 token 数优化为 144 个,同时在平均准确率上的表现保持不变甚至更好。
消融实验
4.1 数据规模的影响
如表 6 所示,第一行代表 MobileVLM 1.7B 的基线。本文用 ShareGPT4V 数据集替换了预训练数据集,并将指令调优数据集规模扩展到 240 万图文对,训练策略和模型架构与基线保持一致。
在 GQA、SQA 和 TextVQA 上的性能提升表明,模型在认知和对话方面的能力在数据增强后有所提高。然而,在更高质量数据的配置下,保持原始训练策略不能充分利用数据优势,因此模型在 MME 和 MMBench 上的性能下降。

4.2 训练策略的影响

基于对训练数据规模影线的观察,本文进一步探索了更合理的训练策略。在增强数据和小参数量 VLMs 的设置下,在全部阶段对语言模型进行训练能够实现更高效的学习。因此,本文选择同时对投影网络和语言模型进行微调。比较结果显示在表 6 的第二行和第三行,可以看到,这种训练设置使模型在大多数 VLM 基准测试中都实现了全面的性能提升,平均准确率提高了 2%。

4.3 投影网络的影响

表 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 的平均性能改提升。
值得一提的是,在 MobileVLM V2 1.7B 中应用的 PEG 层只包含 0.02M(2048×3×3)参数,与 MobileVLM 中的 [DW^PW] 块相比,可学习参数的数量减少了近 630 倍(从 12.64M 减少到 0.02M),但总体性能提高了 1.4,这证明了本文投影网络结构设计的有效性。

结论

本文提出了一系列基于 MobileVLM 的高效视觉-语言模型,称为 MobileVLM V2。本文深入探索了数据配比、训练策略、以及模态对齐网络的设计,以在小参数量 VLM 模型的设置下提高整体性能。
在与 LLaVA-v1.5 相当的训练成本下,本文的方法在精度和实时推理性能方面达到了当前针对真实的应用环境的最优综合性能。在性能相当的前提下,本文的模型在推理优势方面超越了许多更大的模型,这为在资源有限的场景中应用先进的 AI 技术提供了有效的方案。
更多阅读
#投 稿 通 道#
 让你的文字被更多人看到 
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected] 
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·
继续阅读
阅读原文