前言
近年来,基于Transformer架构的多模态大语言模型(MLLM)在视觉理解和推理任务中展现了出色的性能。然而,这些模型通常需要大量的计算资源和内存,这限制了它们在研究和用户社区中的普及应用。一种直接的解决方案是使用更小的预训练视觉和语言模型,但这往往会导致性能大幅下降。
Bunny,这是一系列基于数据优化的轻量级多模态模型。Bunny提供了灵活的视觉编码器和语言模型组合,通过从更丰富的训练数据中学习,实现了性能超越大型MLLM的效果。特别地,Bunny-3B模型在多个基准测试中,不仅优于同等规模的MLLM,还超过了规模更大(13B)的SOTA模型。
-
Huggingface模型下载:https://huggingface.co/BAAI/Bunny-v1_0-3B
-
AI快站模型免费加速下载:https://aifasthub.com/models/BAAI
Bunny框架概述
Bunny由三个主要模块组成:语言模型(LLM)主干、视觉编码器和跨模态映射器。Bunny提供了多种可选的轻量级组件:
-
语言模型主干:包括Phi-1.5 (1.3B)、StableLM-2 (1.6B)和Phi-2 (2.7B)等最新的小型LLM。
-
视觉编码器:采用SigLIP (0.4B)和EVA-CLIP (0.4B)两种高效的视觉编码器。
-
跨模态映射器:借鉴LLaVA,使用两层MLP作为跨模态映射器,将视觉特征与语言特征对齐。
这种灵活的组件组合,使Bunny能够在不同的应用场景中进行定制和优化。
数据优化技术
模型大小和训练数据质量是影响MLLM性能的两个关键因素。提出了一种基于数据浓缩的训练数据优化技术,以弥补模型尺寸缩小带来的性能下降。
预训练数据方面,从LAION-2B 中提炼出一个包含2M样本的高质量数据集Bunny-pretrain-LAION-2M。具体来说,采用了一种基于CLIP嵌入的三步数据选择方案:
-
首先,对2B张图像进行聚类,并在每个簇内构建相似度图,保留与簇中心距离中位数最接近的样本。
-
然后,按图文相似度对剩余样本进行排序,保留40%-60%排名的样本。
-
最后,按图像与簇中心相似度对剩余样本进行排序,保留15%-35%排名的样本。
通过这种方式,从28亿样本中精选出一个涵盖LAION-2B核心内容和多样性的数据集。细化数据方面,构建了一个名为Bunny-695K的多模态任务调优数据集,其中包含SVIT-mix-665K [17]和WizardLM-evol-instruct-70K 。发现保留足够的高质量纯文本数据有助于缓解模型在多模态训练中可能遭受的认知能力下降。
训练过程
Bunny采用两阶段的训练策略。首先,通过对齐视觉编码器和语言模型的嵌入来完成预训练。然后,应用视觉指令微调来充分发挥MLLM在各种多模态任务中的能力。在两个阶段中,均采用交叉熵损失进行下一个token的预测。在预训练阶段,仅优化跨模态映射器一个epoch;在微调阶段,采用LoRA [34]同时优化跨模态映射器和LLM主干,这在实践中表现更优,可能是因为小模型更容易遭遇灾难性遗忘,而LoRA可以缓解这一问题。
模型性能
在11个常见的多模态基准测试上评估了Bunny的性能,包括视觉问答、视觉常识推理、视觉语言理解等。结果显示,Bunny-3B不仅优于同等规模的轻量级MLLM,例如Imp、MiniCPM-V和LLaVA-Phi,在8个测试中取得最佳成绩,其余3个测试中也位列第二,甚至超过了大型13B MLLM如LLaVA-v1.5-13B。这充分证明了数据优化在缩小模型同时保持甚至提升性能方面的重要性。
还研究了Bunny在不同视觉编码器和语言模型组合下的性能。结果表明,SigLIP-SO和Phi-2的组合取得了最佳效果,体现了Bunny框架的可定制性和训练数据的高质量。
下图展示了 Bunny 的一些真实测试样例。粗体文本为用户输入,未加粗部分则为模型输出。
结论
总之,智源Bunny通过数据浓缩技术,在保持模型规模较小的同时,在视觉理解、常识推理、知识引用、文字识别和数学问题求解等多个方面展现出媲美大型MLLM的强大能力。
模型下载
Huggingface模型下载
https://huggingface.co/BAAI/Bunny-v1_0-3B
AI快站模型免费加速下载
https://aifasthub.com/models/BAAI