作者介绍了Xmodel-VLM,这是一个尖端的多模态视觉语言模型。它旨在高效部署在消费者级GPU服务器上。作者的工作直接解决了阻碍大规模多模态系统广泛采用的昂贵服务成本这一关键行业问题。 通过严格的训练,作者从零开始开发了一个10亿规模的语音模型,采用了LLaVA范例进行模态对齐。作者称之为Xmodel-VLM的结果是一个轻量级但强大的多模态视觉语言模型。 在众多经典多模态基准测试的广泛测试中,尽管Xmodel-VLM的规模更小、执行速度更快,但其性能却与大型模型相当。 模型预训练权重和代码http://github.com/XiaoduoAILab/XmodelVLM。
近年来,自然语言处理(NLP)与计算机视觉的结合在多模态学习领域引发了重大创新和突破。特别是,如GPT-4V [30] 和 Gemini [39]等先进的视觉语言模型(VLMs)利用文本与视觉数据的协同作用,实现了对世界的先进理解和交互。凭借其强大的能力,它们在各种下游视觉语言任务中表现出色。
同时,开源大型语言模型(LLM)的快速发展打破了私有模型技术细节有限获取的瓶颈,也为视觉语言模型的进步奠定了坚实基础。
当前主流的开源视觉语言模型通常表现出色,这通常依赖于背后不少于7B参数的语言模型组件。例如,Openflamingo [1]在使用MPT-7B [40]语言模型时取得最佳结果。BLIP-2 [18]探索了OPT [43]系列的2.7B和6.7B版本以及FlanT5XL(3B)和FlanT5XXL(11B)[9],并在其架构中将语言模型配置为FlanT5XXL(11B)时表现最佳。LLaVA-1.5 [24]在使用Vicuna-13B [7]语言模型时效果最好。
然而,这些大型视觉语言模型日益增加的复杂性和资源密集度,使得一个主要的障碍成为关注焦点:相当高的运营成本。
在这种情况下,对小规模视觉语言模型的研究变得越来越受欢迎。现有研究表明,小规模视觉语言模型仍能实现与更大规模模型相当的性能,例如,LLaVA-Phi [47]结合了开源多模态模型LLaVA-1.5和开源小型语言模型Phi-2(2.7B)[20],以提高多模态模型资源效率。Tiny-LLaVA [44]证明,通过更好的训练方法和数据质量,小规模大型多模态模型(LMMs)可以与更大规模的LMMs实现可比的性能。
MobileVLM [8]专为在移动设备上高效运行而设计,包括MobileLLaMA(2.7B),CLIP ViT-L/14 [32],以及轻量级下采样投影器(LDP)。表1详细比较了每个模型中采用的结构、跨模态设计策略和训练数据来源。
尽管在视觉语言模型领域已经取得了鼓舞人心的进展,但追求真正的性能与效率最优平衡仍然是一个活跃且持续的挑战。为此,作者从零开始训练了一个10亿规模的语言模型,并遵循LLaVA范式倡导的跨模态对齐原则,深入研究模型结构和训练的各种方面,包括图像编码器的选择、图像-文本连接器的设计以及不同数据集的开发,旨在推动小规模模型的可实现边界。
在本文中,作者介绍了Xmodel-VLM,一个由紧凑型语言模型驱动的创新视觉语言助手。
作者的贡献如下:
这些贡献不仅揭示了紧凑型语言模型的效能,也为优化视觉语言模型的设计以提高性能和效率提供了见解。
视觉 Transformer (ViT)是一种开创性的模型,它采用了类似于Transformer的架构,应用于从图像中提取的图块。最初,图像被分割成固定大小的图块,然后对每个图块进行线性嵌入。随后加入位置嵌入,生成的向量序列被输入到标准的Transformer架构中,如图1所示。这种创新方法与传统的卷积神经网络(CNNs)相比有了新的突破,为图像理解和表示学习提供了有希望的研究方向。
LLaVA代表了一种构建成本效益高的通用多模态助手的开创性方法。它体现了一种新颖的端到端训练的大规模多模态模型,巧妙地将视觉编码器与Vicuna[7]结合,以实现全面的视觉和语言理解。受到多模态GPT-4框架的启发,LLaVA不仅在对话交互方面表现出色,而且在科学问答任务中达到了最先进的准确度。
LLaVA利用ChatGPT/GPT-4进行多模态指令跟随数据收集,利用丰富的图像对数据。给定一个图像 和其标题 ,模型提示GPT-4生成一系列问题,旨在指导助手描述图像内容。因此,图像-文本对被扩展为其指令跟随版本,如下所示:
上面的序列展示了多模态指令跟随序列的统一格式。这种转换过程将传统的图像-文本配对提升为全面的指令场景,促进了模型在跨模态理解和响应方面的深入。
对于每个输入图像 ,视觉编码器提取视觉特征 。随后,一个可训练的投影网络将 转换为语言嵌入标记 ,使它们的维度与语言模型中的词嵌入空间对齐:
从而获得一系列视觉标记 。为了生成与每个图像 对应的多轮对话数据 ,所有答案都被视为助手的回应,从而为多模态指令跟随序列产生统一的结构。然后LLM在预测标记上进行指令调优,使用其原始的自回归训练目标。
具体来说,对于长度为的序列,目标答案 的概率计算如下:
p(\mathbf{X_{a}}|\mathbf{X_{v}},\mathbf{X_{q}})=\prod_{i=1}^{L}p_{\theta}(x_{i }|\mathbf{X_{v}},\mathbf{X_{q,<i}},\mathbf{x_{a,<i}}) \tag{2}
其中 表示可训练参数,\mathbf{X_{q,<i}}\mathbf{x_{a,<i}}x_{i}="" 之前的指令和答案标记。<="" p="">
LLaVA模型训练涉及一个两阶段的指令调优过程:
第一阶段:特征对齐的预训练。通过利用从CC3M中筛选出的595K图像-文本对,这些数据被重新格式化为指令跟随格式,这一阶段旨在将图像特征 与预训练的LLM词嵌入对齐。在此阶段,视觉编码器和LLM权重保持冻结。训练集中在投影器内的可训练参数上。这相当于创建一个与冻结的LLM嵌入兼容的视觉标记器。
第二阶段:端到端微调。在继续更新预训练投影器和LLM权重的同时,视觉编码器权重保持冻结。
MobileVLM是一个专为在移动设备上部署设计的多模态视觉语言模型。其效率的核心在于轻量级下采样投影器(LDP),如图2所示。LDP将视觉标记的数量减少了75%,显著提高了推理速度。
作者的网络架构,如图3所示,与LLaVA-1.5非常相似。
它主要由三个关键组成部分构成:
1)一个视觉编码器,2)一个轻量级语言模型(LLM),以及3)一个负责对齐视觉和文本空间的投影器。
作者的模型使用了预训练的CLIP ViT-L/14作为视觉编码器,其分辨率为336x336。
为了降低运营成本,作者从零开始训练了一个轻量级语言模型Xmodel-LM 1.1B。为了确保与现有推理框架的无缝集成,作者的语言模型被设计成与LLaMA非常相似。
作者LLM的详细设置在表3中提供。为了对文本数据进行分词,作者采用了单字算法[17],并使用了SentencePiece[38]提供的实现。
在表4中,作者使用标准的自然语言基准来评估作者的模型,重点关注语言理解和常识推理。评估是使用语言模型评估工具[12]进行的。作者的实验结果表明,作者的Xmodel-LM 1.1B模型与最近的开放源代码模型表现相当,包括OPT 1.3B、Pythia 1.4B、MobileLLaMA 1.4B和TinyLLaMA 1.1B。
作者采用两层MLP来加强视觉编码器与LLM之间的连接,并使用Mish [29]函数作为激活函数。值得注意的是,这个创新性的投影器同时也充当下采样机制,有效地将视觉标记的数量减少了75%。
作者的投影器架构,表示为XDP,如图4所示,体现了简单与高效的范式。
作者的训练过程包括两个主要步骤:预训练和指令调优,如图5所示。
首先,作者在保持视觉编码器和Xmodel-LM冻结的前提下,专注于训练高效的投影器。随后,作者对投影器和语言模型(LLM)进行全面微调,以增强它们的视觉理解和语言处理能力。在预训练阶段,作者使用CC-595K数据集的一个筛选子集进行一个周期的训练,初始学习率为1e-3,批处理大小为64。然后,作者在LLaVA-Instruct-150K数据集上对一个周期进行微调,使用学习率为4e-5,批处理大小为32。作者采用权重衰减为0,并使用AdamW优化器,动量参数为0.9和0.999,以及一个epsilon值为1e-8。在微调期间,LLM中的所有参数都会更新,但不会使用LoRA。
作者在多种数据集上评估了多模态性能:VizWiz [13],SQA[28],VQA[36],POPE [21],GQA [14],MMB [26],MMB[26],MMFV [41],以及MME [11]。如表5所示,作者的分析表明,尽管参数数量较少,作者提出的Xmodel-VLM 1.1B模型展现了具有竞争力的性能。
作者评估了模型的推理延迟,与LLAVA-7B和Mobile-VLM模型进行了比较。在单个配备24GB内存的NVIDIA GeForce RTX 3090 GPU上使用SQA数据集,作者测量了推理速度,不包括预处理时间。
表6中的结果显示,与LLAVA-7B相比,作者的模型具有更快的推理速度,尽管MobileVLM-1.7B仍然更快。这突显了紧凑型模型在提供快速推理结果方面的优势。
在语言模型固定为Xmodel-LM 1.1B,视觉编码器固定为clip-vit-large-patch14-336, Token 数量固定为144的情况下,作者研究了不同的投影器架构及其对多模态性能的影响,如表7所示。
为了探索不同的视觉标记数量对模型性能的影响,作者保持语言模型为Xmodel-LM 1.1B,视觉编码器为clip-vit-large-patch14-336,投影架构为XDP,作者改变标记的数量并评估多模态性能,如表8所示。
为了探究作者方法的可能性,作者基于视觉编码器结构(clip-vit-large-patch14-336)和投影架构(XDP,144个标记)比较了不同大小LLM对性能的影响,结果展示在表9中。
这一结果表明,更大的语言模型是提高作者模型性能的有效途径,这为未来进一步改进作者的方法提供了方向。
总之,作者通过仔细选择视觉编码器、设计高效的投影器以及两阶段训练策略,提出了一种高性能的视觉语言模型。
在流行的VLM基准测试上的大量实验证明了其有效性。作者预计的技术将开启包括客户服务机器人等各种应用领域的新可能性
[1].Xmodel-VLM: A Simple Baseline for Multimodal Vision Language Model.