-V-3B是vivo人工智能研究院与香港中文大学联合开发的设备端多模态模型。该机型目前已完成对天玑9300和9400芯片的初步适配,未来将逐步推出移动应用,为用户带来更智能、更便捷的体验。
近年来,多模态大语言模型(MLLM)的快速发展给我们的日常生活带来了无限可能。手机作为我们形影不离的“智能伴侣”,无疑是MLLM最理想的落地平台。它可以将强大的AI能力无缝融入到我们的日常工作中,让科技真正服务生活。
然而,在手机上部署MLLM并不容易。内存大小和计算能力的限制就像矗立在 MLLM 和手机之间的两座大山。如果没有优化的模型,手机上很难实现流畅、实时的处理,更谈不上给用户带来良好的体验。

为了攻克这一难题,vivo AI全球研究院与香港中文大学多媒体实验室联合推出了-V-3B。这是一款专为移动平台量身定制的MLLM。采用算法与系统协同设计的创新理念,重新设计主流MLLM的动态解析方案,并根据手机硬件特点进行深度系统优化,从而实现在手机上高效、流畅地运行MLLM。
-V-3B具有以下显着特点:
算法与系统协同优化
研究团队分析了经典MLLM所使用的动态分辨率方案,发现了图像过度放大的问题,并提出了针对性的解决方案。
此外,他们还针对硬件感知部署进行了一系列系统设计和优化,使MLLM能够在移动设备上更高效地进行推理,充分发挥硬件的潜力。
优秀的模型性能
-V-3B在性能上表现良好,在具有相似参数大小的模型中达到了SOTA水平(例如,在基准测试中获得66.1的高分)。
更令人惊讶的是,-V-3B甚至超越了一系列参数尺度更大的MLLM(例如-V-2.6、-8B),展现了其强大的实力。
高效移动部署
-V-3B在移动部署中也表现出色。以联发科天玑9300处理器为例,其内存需求仅为2.2GB,可在约2.1秒内完成768×1536分辨率图像的编码,并实现24/s的令牌输出速度。
这意味着用户可以在手机上享受流畅高效的MLLM体验,而无需担心算力瓶颈。


-V-3B设计思路
型号主要结构
-V-3B延续了传统的LLaVA架构,包括视觉编码器-400M、MLP线性映射层和大语言模型-3B。
为了更好地处理高分辨率图像,与主流MLLM一样,-V-3B采用了动态分辨率方案,并改善了1.5和LLaVA-NeXT中存在的图像过度放大问题。
此外,为了应对手机NPU在处理长输入token时的性能限制,-V-3B还引入了token下采样方案,以保证模型在移动设备上的顺利部署。

动态分辨率
为了提高多模态模型处理高分辨率图像的能力,主流MLLM经常使用动态分辨率解决方案来缩放和裁剪图像。团队发现LLaVA-NeXT、1.5等主流动态分辨率方案往往伴随着图像的过度放大。

传统的动态分辨率解决方案通常会选择一个分辨率(例如 )作为基本尺寸,并选择合适的宽高比来缩放图像。
对于LLaVA-NeXT,给定分辨率为394×390的图像,它选择2:2的图片比例,然后将原始图像调整大小并填充到768×768(放大4倍)。
对于.5,给定分辨率为380×76的图像,它会选择5:1的比例,直接将原始图像调整为1920×384(放大25倍)。
这种放大并不一定会丰富图像信息,而是会导致更多的图像图块,从而增加图像代币的数量并增加在移动设备上部署的难度。
鉴于此,-V-3B基于LLaVA-NeXT设计了一种松散长宽比选择算法,综合考虑缩放后图像的有效信息分辨率和浪费的空间,有效提高了图像信息的利用率,减少了图像大小部署期间的令牌长度并减少图像处理延迟。


图像并行编码:经过动态分辨率处理后,图像被分为多个局部图块和一个全局缩略图图块。为了加速推理的部署,-V-3B采用并行策略来利用NPU的计算能力。
与高级语言(例如)不同,硬件加速设计需要对计算资源进行低级控制,例如内存布局和基于寄存器大小的计算优化。
由于NPU的计算能力有限,无法同时高效处理所有图像瓦片;相反,-V-3B 一次处理固定数量的图块,以获得并行处理和硬件性能之间的平衡。

流水线并行处理:在模型推理过程中,-V-3B实现了流水线并行方案来优化图像瓦片的编码效率。
具体来说,-V-3B 为视觉嵌入模块层和 ViT 层设计了一种管道并行方案,用于从单个图像中提取的不同图块。该方法有效隐藏了操作的执行延迟,提高了整体处理速度。

令牌下采样
尽管-V-3B设计了宽松的长宽比选择算法来减少部署过程中的图像令牌数量,但动态分辨率带来的图像令牌数量仍然非常大。
为此,-V-3B采用了VILA提出的token数量下采样方案,将每2×2图像token合并为一个token,并使用线性层进行信息融合,降低了部署难度。
分块计算输入token:在LLM推理过程中,传统GPU通过并行计算技术同时处理所有输入token,以加速计算。然而,由于图像token长度较长、上下文信息复杂以及NPU计算能力有限,并行处理效率低下。逐一顺序处理令牌也不是最佳选择。
因此,-V-3B在移动设备上采用阻塞策略,每次迭代并行处理128个输入令牌(t128),然后合并结果,以实现并行处理和NPU计算资源之间的平衡。
模型量化和整体推理框架
混合参数精度:-V-3B 通过混合精度量化减少内存使用并提高推理速度。权重方面,MLP和MLP的线性映射层采用INT8精度,而LLM采用INT4精度,平衡了计算效率和模型精度。
由于激活值对量化比较敏感,因此LLM的激活使用INT16精度,映射层的激活使用FP16以保证模型性能。推理时,KV缓存采用INT8精度存储。

为了提高部署效率,-V-3B 将图像处理与用户输入解耦。在模型初始化过程中,ViT和LLM模型同时加载到内存中。用户上传图片时,由于MLLM部署在本地,上传几乎没有延迟。图片上传后,ViT立即开始处理,同时用户可以输入命令;对于音频命令,-V-3B 会首先将它们转换为文本。
图像处理完成后,用户的命令被提交给LLM生成响应,ViT就可以从内存中释放。这种并行处理减少了第一次令牌生成的等待时间,提高了响应能力,并将 -V-3B 的峰值内存使用量限制为 2.2GB。

-V-3B训练流程
培训流程
-V-3B从-3B语言模型开始分两个阶段进行训练。在第一阶段,线性映射层被预训练,同时保持 ViT 和 LLM 冻结。在第二阶段,使用大量图像文本对对模型进行全面微调。
训练数据
第一阶段旨在赋予模型基本的多模式能力。在此阶段,团队利用开源数据集创建了一个包含来自 LLaVA 的 250 万个图像文本对的综合预训练数据集,以及 .
现阶段,研究团队精心构建了包含6亿+图文对的数据集,包括开源数据集和内部数据集。该数据集涵盖了各种下游任务和多种数据类型,例如图像描述、视觉问答、文本图像识别和纯文本数据。
除了开源数据集之外,他们还添加了大量的内部数据来增强模型的能力。例如,从各个网站爬取大量的纯文本数据和图文对。针对不同的数据类别,如PDF、公式、图表、解题数据、多语言数据等,团队还手动渲染并创建了大量的图文对,以丰富训练数据的多样性。
除了图像渲染之外,研究团队还使用GPT-4o和Pro来构建和修改图像描述和视觉问答对。开源和专有数据的结合显着提高了模型从不同示例中学习并提高跨多个任务和模式的性能的能力。
实验结果
宽松的长宽比选择算法
团队验证了改进后的解决方案是否可以降低 LLaVA 665k 训练集上的部署成本。为了公平比较,他们将LLaVA-NeXT的最大块数设置为1.5,并将改进方案设置为9。
与LLaVA-NeXT相比,该方法在29000个样本中选择了更小的长宽比;与1.5相比,523,000个样本中使用了较小的长宽比,25,000个样本中选择了较大的长宽比。这显着提高了 NPU 的推理效率。

研究团队在两个模型-2B和-3B(参数大小均为2.7B)上进行了实验,第一阶段训练使用LLaVA 558k,第二阶段训练使用LLaVA 665k。比较LLaVA-NeXT, 1.5和改进方案在评估集上的性能。
由于3B模型的学习速度较慢,因此每个阶段训练两轮。该团队在多个常用测试集上汇总了结果。

可以看出,新设计的动态解析方案不仅降低了部署成本,而且提高了评估集上的准确率。
不同评估集上准确率比较
下图展示了完全微调的-V-3B模型在评估集上的准确率表现,并与总参数大小小于等于10B的模型进行了比较。

可以看到,-V-3B模型在4个测试项目中取得了最高分,平均分排名第二。这展示了-V-3B型号的强大能力。
下图展示了参数量相似的多模态模型-V-3B与多语言多模态数据集MTVQA的评估结果。

可以看到-V-3B在OCR相关任务上取得了非常有竞争力的结果,并且在多语言评估中远远超越了主流的多模态模型。
-V-3B部署效率
团队报告了在搭载天玑9300处理器的vivo X100手机上的部署结果。
实验中采用2:4分块方案(手机屏幕处理采用2:4方案),总共2x4=8个局部块和1个全局块。该团队测试了同时处理 1、2、4 和 6 个图像块的 NPU 处理延迟。


可以看到,同时处理4个切片的总延迟最低,仅为1.9秒。
团队在CPU和NPU上设计了模型和ViT部分的流水线并行化,并测试了2:4分块方案下的部署效率。如上面的 管道所示,可以屏蔽 200 毫秒的处理延迟。
团队在 NPU 上采用了阻塞处理策略,每次迭代并行处理 128 个输入令牌(t128),以平衡并行处理和 NPU 性能。这里我们展示了并行处理不同数量的输入标记时的 LLM 第一个字延迟:t32、t128、t512 和 t2048。
论文还列出了输出 token 的生成速度,这里只显示了 t1 的情况,因为 LLM 在输出时一次处理一个 token。输入token长度固定为2048,KV缓存长度设置为2048。

可以看出,t128/t1实现了最低的延迟和最快的生成速度。
该团队对 -V-3B 和 -V 论文中提供的统计数据进行了直接比较。 -V论文仅报道了使用llama.cpp在天玑9300芯片的CPU上部署8B参数的-V 2.5模型。 -V-3B团队使用分辨率为768×1536的图像,固定输入token长度为2048,并将KV缓存长度设置为2048。
-V 将模型加载时间纳入延迟中。对于-V-3B,在系统初始化阶段,加载ViT和LLM的时间仅为0.47秒。结果表明-V-3B由于其较小的参数大小和出色的系统设计,在延迟和令牌吞吐量方面具有优势。
总结
在-V-3B的开发过程中,vivo和中国香港团队在保证良好用户体验的同时,注重算法系统协同设计和硬件感知优化。根据实验和统计分析,-V-3B在移动设备上表现良好,性能强劲,部署高效。
未来,团队将继续致力于提高设备端模型的可扩展性,探索先进的算法,并持续优化性能和可用性以适应更多的移动设备。






