Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

骁龙888实时运行,美团、浙大等打造全流程移动端多模态大模型MobileVLM

大模型涌向移动端的浪潮愈演愈烈,终于有人把多模态大模型也搬到了移动端上。近日,美团、浙大等推出了能够在移动端部署的多模态大模型,包含了 LLM 基座训练、SFT、VLM 全流程。也许不久的将来,每个人都能方便、快捷、低成本的拥有属于自己的大模型。

MobileVLM 是一款专为移动设备设计的快速、强大和开放的视觉语言助手。它结合了面向移动设备的架构设计和技术,包括从头开始训练的 1.4B 和 2.7B 参数语言模型、以 CLIP 方式预训练的多模态视觉模型,以及通过投影实现的高效跨模态交互。在各种视觉语言基准测试中,MobileVLM 的性能可媲美大型模型。此外,它还在高通骁龙 888 CPU 和英伟达 Jeston Orin GPU 上展示了最快的推理速度。

图片

  • 论文地址:https://arxiv.org/pdf/2312.16886.pdf
  • Code 地址:https://github.com/Meituan-AutoML/MobileVLM

简介

大型多模态模型(LMMs),尤其是视觉语言模型(VLMs)系列,由于其在感知和推理方面的能力大大增强,已成为构建通用助手的一个很有前途的研究方向。然而,如何将预训练好的大型语言模型(LLMs)和视觉模型的表征连接起来,提取跨模态特性,完成如视觉问题解答、图像字幕、视觉知识推理和对话等任务,一直是个难题。

GPT-4V 和 Gemini 在这项任务上的出色表现已经被多次证明。不过,这些专有模型的技术实现细节我们还知之甚少。与此同时,研究界也提出了一系列语言调整方法。例如,Flamingo 利用视觉 token,通过门控交叉注意力层对冻结的语言模型进行调节。BLIP-2 认为这种交互是不够的,并引入了一个轻量级查询 transformer(称为 Q-Former),它能从冻结的视觉编码器中提取最有用的特征,并将其直接输入到冻结的 LLM 中。MiniGPT-4 通过一个投影层将 BLIP-2 中的冻结视觉编码器与冻结语言模型 Vicuna 配对。另外,LLaVA 应用了一个简单的可训练映射网络,将视觉特征转换为嵌入 token,其维度与语言模型要处理的单词嵌入相同。

值得注意的是,训练策略也在逐渐发生转变,以适应多样性的大规模多模态数据。LLaVA 可能是将 LLM 的指令调整范式复制到多模态场景的首次尝试。为了生成多模态指令跟踪数据,LLaVA 向纯语言模型 GPT-4 输入文本信息,如图像的描述语句和图像的边界框坐标。MiniGPT-4 首先在综合性的图像描述语句数据集上进行训练,然后在【图像 - 文本】对的校准数据集上进行微调。InstructBLIP  基于预训练的 BLIP-2 模型执行视觉语言指令调整,Q-Former 是在以指令调整格式组织的各种数据集上训练的。mPLUG-Owl 引入了一种两阶段训练策略:首先对视觉部分进行预训练,然后使用 LoRA ,基于不同来源的指令数据对大语言模型 LLaMA 进行微调。

尽管 VLM 取得了上述的进展,人们也存在着在计算资源有限的情况下使用跨模态功能的需求。Gemini 在一系列多模态基准上超越了 sota,并为低内存设备引入了 1.8B 和 3.25B 参数的移动级 VLM。并且 Gemini 也使用了蒸馏和量化等常用压缩技术。本文的目标是建立首个开放的移动级 VLM,利用公共数据集和可用技术进行训练,以实现视觉感知和推理,并为资源受限的平台量身定制。本文的贡献如下:

  1. 本文提出了 MobileVLM,它是专为移动场景定制的多模态视觉语言模型的全栈级改造。据作者表示,这是首个从零开始提供详细、可复现和强大性能的视觉语言模型。通过受控和开源数据集,研究者建立了一套高性能的基础语言模型和多模态模型。
  2. 本文对视觉编码器的设计进行了广泛的消融实验,并系统地评估了 VLM 对各种训练范式、输入分辨率和模型大小的性能敏感性。
  3. 本文在视觉特征和文本特征之间设计了一种高效的映射网络,能更好地对齐多模态特征,同时减少推理消耗。
  4. 本文设计的模型可以在低功耗的移动设备上高效运行,在高通的移动 CPU 和 65.5 英寸处理器上的测量速度为 21.5 tokens/s。
  5. MobileVLM 和大量 多模态大模型在 benchmark 的表现不相上下,证明了其在众多实际任务中的应用潜力。虽然本文主要关注的是边缘场景,但 MobileVLM 优于许多最新的 VLM,而这些 VLM 只能由云端强大的 GPU 支持。

MobileVLM

总体架构设计

考虑到为资源有限的边缘设备实现高效的视觉感知和推理的主要目标,研究者设计了 MobileVLM 的整体架构,如图 1 所示,模型包含三个组件:1) 视觉编码器,2) 定制的 LLM 边缘设备 (MobileLLaMA),以及 3) 高效的映射网络(文中称为 “轻量级下采样映射”,LDP),用于对齐视觉和文本空间。

图片

以图像 图片为输入,视觉编码器 F_enc 从中提取视觉嵌入 图片 用于图像感知,其中 N_v = HW/P^2 表示图像块数,D_v 表示视觉嵌入的隐层大小。为了缓解因处理图像 tokens 效率问题,研究者设计了一种轻量级映射网络 P,用于视觉特征压缩和视觉 - 文本模态的对齐。它将 f 转换到词嵌入空间中,并为后续的语言模型提供合适的输入维度,如下所示:

图片

这样,就得到了图像的 tokens图片和文本的 tokens图片,其中 N_t 表示文本 tokens 的数量,D_t 表示单词嵌入空间的大小。在目前的 MLLM 设计范式中,LLM 的计算量和内存消耗量最大,有鉴于此,本文为移动应用量身定制了一系列推理友好型 LLM,在速度上具有相当的优势,能够以自回归方式对多模态输入进行预测图片,其中 L 表示输出的 tokens 长度。这一过程可表述为图片

视觉编码器

根据原文第 5.1 节中的经验分析,研究者利用分辨率为 336×336 的预训练 CLIP ViT-L/14 作为视觉编码器 F_enc。视觉 Transformer(ViT)将图像分割成大小一致的图像块,并对每个图像块做一次线性嵌入。随后和位置编码整合后,将结果向量序列输入正则变换编码器。通常情况下,分类用的 token 会被添加到该序列中,用于后续的分类任务。

MobileLLaMA

对于语言模型,本文缩小了 LLaMA 的规模,以方便部署,也就是说,本文提出的模型可以无缝地支持几乎所有流行的推理框架。此外,研究者还评估了边缘设备上的模型延迟,来选择合适的模型架构。神经架构搜索(NAS)是比较不错的选择,但目前研究者没有将其立马应用到当前的模型上。表 2 显示了本文架构的详细设置。

具体来说,本文使用 LLaMA2 中的 sentence piece tokenizer,词表大小为 32000,并从头开始训练嵌入层。这样作有利于后续进行蒸馏。由于资源有限,所有模型在预训练阶段使用的上下文长度都是 2k。不过,如《Extending context window of large language models via positional interpolation》中所述,推理时的上下文窗口可以进一步扩展到 8k。其他组件的详细设置如下。

  • 应用 RoPE 注入位置信息。
  • 应用预归一化来稳定训练。具体来说,本文使用 RMSNorm 代替层归一化, MLP 膨胀比使用 8/3 而不是 4。
  • 使用 SwiGLU 激活函数代替 GELU 。

图片

高效的映射网络

视觉编码器和语言模型之间的映射网络对于对齐多模态特征至关重要。现有的模式有两种:Q-Former 和 MLP projection 。Q-Former 明确控制每个 query 包含的视觉 tokens 数量,以强制提取最相关的视觉信息。但是,这种方法不可避免地会丢失 tokens 的空间位置信息,而且收敛速度较慢。此外,它在边缘设备上的推理效率也不高。相比之下,MLP 保留了空间信息,但通常会包含背景等无用的 tokens。对于一幅 patch 大小为 P 的图像,有 N_v = HW/P^2 个视觉 token 需要注入到 LLM 中,这大大降低了整体推理速度。受 ViT 的条件位置编码算法 CPVT 的启发,研究者利用卷积来增强位置信息,并鼓励视觉编码器的局部交互。具体来说,研究者对基于深度卷积(PEG 的最简单形式)的移动友好操作进行了调研,这种操作既高效又能得到各种边缘设备的良好支持。

为了保留空间信息并最大限度地降低计算成本,本文使用了步长为 2 的卷积,从而减少了 75% 的视觉 token 数量。这种设计大大提高了整体推理速度。然而,实验结果表明,降低 token 取样数量会严重降低下游任务(如 OCR)的性能。为了减轻这种影响,研究者设计了一个更强大的网络来代替单个 PEG。高效的映射网络(称为轻量级下采样映射(LDP))的详细架构如图 2 所示。值得注意的是,这个映射网络只包含不到 2000 万个参数,运行速度比视觉编码器快约 81 倍。

图片

本文使用 "层归一化"(Layer Normalization)而不是 "批归一化"(Batch Normalization),以使训练不受批量大小的影响。形式上,LDP(记为 P)将视觉嵌入图片作为输入,并输出有效提取和对齐的视觉标记 图片

公式如下:

图片

实验结果

MobileLLaMA 的评估结果

在表 3 中,研究者在两个标准自然语言 benchmark 上对本文提出的模型进行了广泛的评估,这两个 benchmark 分别针对语言理解和常识推理。在前者的评估中,本文使用了语言模型评估工具(Language Model Evaluation Harness)。实验结果表明, MobileLLaMA 1.4B 与 TinyLLaMA 1.1B、Galactica 1.3B、OPT 1.3B 和 Pythia 1.4B 等最新开源模型不相上下。值得注意的是, MobileLLaMA 1.4B 优于 TinyLLaMA 1.1B,后者是在 2T 级别的 token 上训练的,是 MobileLLaMA 1.4B 的两倍。在 3B 级别,MobileLLaMA 2.7B 也表现出与 INCITE 3B (V1) 和 OpenLLaMA 3B (V1) 相当的性能,如表 5 所示,在骁龙 888 CPU 上,MobileLLaMA 2.7B 比 OpenLLaMA 3B 快约 40%。

图片

图片

与 SOTA VLM 的比较

本文评估了 LLaVA 在 GQA 、ScienceQA 、TextVQA 、POPE 和 MME 上的多模态性能。此外,本文还利用 MMBench 进行了综合比较。如表 4 所示,MobileVLM 尽管参数减少、训练数据有限,但性能却很有竞争力。在某些情况下,它的指标甚至优于之前最先进的多模态视觉语言模型

图片

带有 LoRA 的 MobileVLM

Low-Rank Adaptation(LoRA)可以用较少的可训练参数实现与全微调 LLM 相同甚至更好的性能。本文对这一做法进行了实证研究,以验证其多模态性能。具体来说,在 VLM 视觉指令调整阶段,本文冻结了除 LoRA 矩阵之外的所有 LLM 参数。在 MobileLLaMA 1.4B 和 MobileLLaMA 2.7B 中,更新后的参数分别只有完整 LLM 的 8.87% 和 7.41%。对于 LoRA ,本文将 lora_r 设为 128,lora_α 设为 256。结果如表 4 所示,可以看到,在 6 个 benchmark 上,带有 LoRA 的 MobileVLM 达到了与全微调相当的性能,这与 LoRA 的结果一致。

在移动设备上的延迟测试

研究者在 Realme GT 手机和英伟达 Jetson AGX Orin 平台上评估了 MobileLLaMA 和 MobileVLM 的推理延迟。该手机配备了骁龙 888 SoC 和 8GB 内存,可提供 26 TOPS 的计算能力。Orin 配备 32GB 内存,可提供惊人的 275 TOPS 计算能力。它采用 CUDA 11.4 版本,支持最新的并行计算技术,可提高性能。

消融实验

视觉骨干网络

在表 7 中,研究者比较了不同规模和不同视觉 token 数量下的多模态性能。所有实验均使用 CLIP ViT 作为视觉编码器。

图片

VL 映射网络

由于特征交互和 token 交互都是有益的,研究者对前者采用了深度卷积,对后者采用了点卷积。表 9 显示了各种 VL 映射网络的性能。表 9 中的第 1 行是 LLaVA 中使用的模块,该模块只通过两个线性层对特征空间进行转换。第 2 行在每个 PW(pointwise)之前添加了一个 DW(depthwise)卷积,用于 token 交互,该卷积使用 2 倍下采样,步长为 2。加两个前端 PW 层会带来更多的特征级交互,从而弥补 token 减少带来的性能损失。第 4 行和第 5 行显示,增加更多参数并不能达到预期效果。第 4 和第 6 行显示,在映射网络末端对 token 进行下采样具有正面效果。

图片

视觉分辨率和 token 数量

由于视觉 token 数直接影响整个多模态模型的推理速度,本文比较了两种设计方案:降低输入分辨率(RIR)和使用轻量级下采样投影器(LDP)。

SFT 的定量分析

在 LLaMA 上进行微调的 Vicuna 被广泛用于大型多模态模型 。表 10 比较了两种常见的 SFT 范式 Alpaca 和 Vicuna 。研究者发现,SQA、VQA、MME 和 MMBench 的得分都有显著提高。这表明,在 Vicuna 对话模式下,利用 ShareGPT 的数据对大型语言模型进行微调,最终可获得最佳的性能。为了更好地将 SFT 的提示格式与下游任务的训练相结合,本文删除了 MobileVLM 上的对话模式,发现 vicunav1 的表现最佳。

图片

结论

简而言之,MobileVLM 是一套专为移动和物联网设备定制的高效、高能的移动版视觉语言模型。本文对语言模型和视觉映射网络进行了重置。研究者进行了广泛的实验,以选择合适的视觉骨干网络,设计高效的映射网络,并通过语言模型 SFT 等训练方案(包括预训练和指令调整的两阶段训练策略)和 LoRA 微调来增强模型能力。研究者在主流 VLM benchmark 上对 MobileVLM 的性能进行了严格评估。在典型的移动和物联网设备上,MobileVLM 也显示出前所未有的速度。研究者们认为相信,MobileVLM 将为移动设备或自动驾驶汽车上部署的多模态助手以及更广泛的人工智能机器人等广泛应用开辟新的可能性。
产业MobileVLM
相关数据
图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

变换编码技术

变换编码是从频域的角度减小图像信号的空间相关性,它在降低数码率等方面取得了和预测编码相近的效果。进入80年代后,逐渐形成了一套运动补偿和变换编码相结合的混合编码方案,大大推动了数字视频编码技术的发展。90年代初,ITU提出了著名的针对会议电视应用的视频编码建议H.261,这是第一个得到广泛使用的混合编码方案。之后,随着不断改进的视频编码标准和建议如H.264,MPEG1/MPEG2/MPEG4,H.264的推出,混合编码技术逐渐趋于成熟,成为一种应用最广泛的数字视频编码技术。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

自动驾驶汽车技术

自动驾驶汽车,又称为无人驾驶汽车、电脑驾驶汽车或轮式移动机器人,是自动化载具的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

批归一化技术

批归一化(Batch Normalization,BN)由谷歌于2015年提出,是一个深度神经网络训练的技巧,它不仅可以加快模型的收敛速度,还能在一定程度上缓解深层网络中的“梯度弥散”问题,从而使得训练深层网络模型更加容易和稳定。目前BN已经成为几乎所有卷积神经网络的标配技巧了。从字面意思看来Batch Normalization(简称BN)就是对每一批数据进行归一化。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

美团机构

美团的使命是“帮大家吃得更好,生活更好”。作为中国领先的生活服务电子商务平台,公司拥有美团、大众点评、美团外卖、美团打车、摩拜单车等消费者熟知的App,服务涵盖餐饮、外卖、打车、 共享单车、酒店旅游、电影、休闲娱乐等200多个品类,业务覆盖全国2800个县区市。

www.meituan.com
常识推理技术

常识推理是人工智能(AI)的一个分支,它关注模拟人类每天遇到的普通情境的类型和本质的假设。这些假设包括对人和物体的物理特性,目的,意图和行为的判断,以及他们的行为和相互作用的可能结果。展示常识推理的设备将能够预测结果并得出类似于人类民间心理学(人类对人们的行为和意图进行推理的天生能力)和天真物理学(人类对物理世界的自然理解)的结论。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~