发表时间:22 Feb 2024
论文链接:https://arxiv.org/pdf/2402.14289
作者单位:SKLCCSE, Institute of Artificial Intelligence, Beihang University, Beijing, China
Motivation:当前的大语言模型的参数量太大了,作者想通过实验验证是否需要这么多的参数(于是做了巨多的消融实验),想尝试能不能让参数量小一点,还能达到相当的性能。证明了使用小型 LLM 的情况下,只要模块组合方式和训练数据质量高,也能取得和大型 LLM 相当的效果。
解决方法:
虽然不断扩大模型的容量能够提升模型对很多不同任务的解决能力,但训练庞大的模型需要很多的资源,如 Flamingo 为 80b,PaLM-E 为 562b,所以现在有很多 LLM 的模型也在降低模型参数量,降低到 7B 或 3B,但性能没有下降很多。所以 LMM 也出现了类似的方向,如 OpenFlamingo 和 LLaVA 所做的模型是从 3b 到 15b,这样也能提升模型的效率和可部署性。基于此,本文作者提出了 TinyLLaVA,主要贡献如下:
-
一个利用小型 LLM 实现大型 LMM 的模型框架,框架由视觉编码器、小规模 LLM 解码器和中间连接器以及training pipelines组成的框架。
-
作者探究了不同的 vision encoder、connector、language model、training data、training recipes(配方) 组合起来的效果。
-
证明了通过更好的训练组合方式和更高质量的数据,使用较小的 LMM 就能实现较大模型相当的性能。
结构:
因此,我们提出了 TinyLLAVA,在我们的框架中,我们训练了一系列小规模 LMM。我们最好的模型 TinyLLAVA-3.1B 比现有的 7B 模型(如 LlaVA-1.5 和 Qwen-VL)实现了更好的整体性能。
实现方式:基于这个框架,我们研究了不同视觉编码器、连接模块、语言模型、训练数据和training recipes的影响。我们的经验实验表明,通过更好的训练食谱(training recipes)和质量,较小的 LMM 可以实现与更大对应物相当的性能,为研究领域设置新的基线。
两个training recipes之间的主要区别。在base recipe中,我们保持视觉编码器和小规模LLM的参数冻结,并仅更新连接器。在share recipe中,我们冻结视觉编码器的前 12 层并更新模型的其余部分。此外,我们从base recipe的connector初始化连接器(把base的connector的参数直接复制过来)。
训练 pipeline:
训练的数据是 image-text pairs,训练分为预训练和微调两个阶段。
-
预训练来实现特征对齐:本阶段的目标是为了在 embedding 空间更好的对齐 vision 和 text information.
-
有监督微调,使用图像-文本对(X, Y)进行多轮对话的原始形式。
实验过程:
-
小型 LLM: TinyLlama (1.1B), StableLM-2-1.6B(1.6B), Phi-2(2.7B) .
-
结论:1. Phi-2 对不同的 benchmark 表现都比较好,可能是由于其参数量更大. 2. Phi-2 variants 在 SQA-I 上超过了其他 variants,可能是由于其使用了 text-book 数据进行了训练. 3. TinyLLaVA 在 POPE 上的表现比较好. 4. 大的 language 模型在 base setting 时的表现更好.
-
Vision encoder: 通过对比发现 SigLIP 和小型 LLM 的结合能够生成比 CLIP 更好的效果. 结论:1. 使用SigLIP的模型变体相比于使用CLIP 的模型变体,在模型性能上有显著提升,这在TextVQA和LLaVA-W 基准测试中尤为明显。 2. SigLIP 变体具有更高的输入分辨率(384 vs. 336)和更多的视觉令牌(729 vs. 576),与CLIP相比。这些因素可能使 SigLIP 包含了更多有利于进行细粒度图像理解的视觉信息。
-
Connector: 作者继承了 LLaVA-v1.5 中使用 MLP+GELU 的思想,同样与resampler进行了对比。使用重采样器作为连接器,与MLP相比,在类似的参数设置下性能下降。 结论:MLP 效果更好。
总结:经过上述对比,作者最终使用了如下搭配:
-
较大的 LLM
-
Vision encoder:SigLIP(有更大的输入分辨率和更多的 visual token)
-
Connector: MLP
结论:
-
在LLM上,基本满足越大的LLM可以取得更好的性能,即Phi-2 (2.7 B)>StableLM-2 (1.6B) > TinyLlama (1.1B)。
-
在visual backbone上,SLIP好于CLIP,但是SLIP采用的是384分辨率,而CLIP是334分辨率,所以SLIP更好的效果可能主要是来自于更大的分辨率。
-
在projector上,目前的MLP已经足以做模态对齐。
-
在训练数据上,使用更高质量的数据如ShareGPT4v,效果略好于LLaVA-1.5数据集。
-
在训练方式上,预训练时微调visual encoder会取得更好的效果。
我们的研究结果表明,LMM 的设计空间在很大程度上尚未得到充分探索。我们希望我们的发现可以作为未来研究在数据缩放、训练设置和模型选择方面的基线。