原始的llava仍旧存在一些问题,比如说如何处理高分辨率图像(如OCR任务可能需要较大的分辨率才能很好地解决),PT、SFT数据集选择什么样的? 模型的scaling能力如何?本篇文章主要是原始llava的一个很好地扩展。
1、Response formatting prompts
- 动机:在
Visual instruction tuning with polite flamingo
发现这种长句和短句VQA的不平衡性,这种可能会导致LLM 更容易偏向于短句,比如上面的例子不同的问题相同的答案,类似给模型做了正则化的操作; - 解决:在VQA问题中加入一些:
Answer the question using a single word or phrase.
一些不同的数据集可能response formatting prompts有细微差距;
2 Scaling results on data, model, and resolution
情况1:仅使用Instrunct BLIP子集:
- 1、加入VQAv2 [12] in training, MME 提升非常明显;
- 2、Format prompt是有效的;
- 3、两层的MLP替换之后的linear probe 是有作用的;
- 4、加入一些OCR和OKVQA也是有增益的;
情况2:额外的一些scaling
- 1、加入一些区域的VQA数据集、GQA、shareGPT是有帮助的;
- 2、扩大模型输入分辨率是有益的;模型可以看到更多的细节
- 3、扩大模型的参数量从7B→ 13B是有效的;
3. 预训练重要还是SFT更重要?视觉样本是否越多越好?大规模预训练的必要性?
总结诶:
-
1、对比Qwen-VL-Chat和Instruct BLIP,LLAVA-1.5采用简单架构,完全开源的PT和IT数据集,在12个benchmark上取得了比较有竞争力的结果;(基本排除了评估数据集泄漏的风险);
-
2、这里作者在PT阶段完全是采用了和LLAVA一样的结果,主要数据集变化是在SFT阶段,那么这是否可以表示visual instruct tuning阶段比pt阶段更重要了。传统的观点认为LLM和visual需要大量数据进行对齐,
虽然这两个模型已经有很好的的初始化了,这种对这种普遍的认识提出质疑;
4. 高分辨率实现
从上面的消融实验可以看出了 提高分辨率的用处,由于目前open-clip的是336,如何进一步提高图像的分辨率了?(插值可能导致视觉模型欠优)
包括了两种:一种是原始的图像的切图,另外一种是原始图像直接resize的全局特征,然后直接拼接。
5. LLM消融
在NLP中已经验证了LLM在指令微调阶段扮演着是否可以成功训练的关键因素。
实验::LLaMA-based (Vicuna-v1.1, Vicuna-v1.3) and LLaMA2-based (Vicuna-v1.5, LLaMA-2-Chat).
发现:
1、Vicuna-v1.5 效果优于Vicuna-v1.3,尽管二者使用的数据是相同的;表示了语言模型扮演的角色还是蛮大的;
2、LLaMA-2-Chat (SFT数据集不同,而且经过了RLHF)and Vicuna-v1.5 在指标上相同,但是MMBench-CN效果要差一点,因为混合的数据集中文较少,可能会破坏之前的ShareGPT(多语言)的特性,以及TextVQA表现是类似的;说明了SFT数据集分布也是很重要的;
6. Data Efficiency
这里作者了做了消融实验,验证了数据量的影响。
做法:在原始的数据集上抽样:0.1 to 0.5.
发现:
- 1、100%效果是最好的;
- 2、数据集下降50%,仍保留98%的100%数据性能;
- 3、50%, the model’s performance on MMBench, ScienceQA, and POPE does not decrease at all, and it even slightly improves on MMBench.
7. Limitations
这种visual resamples 降低收入LLMs的token,可能不如llava 收敛起来快,比如q-former等,可能需要额外的数据进行训练;或者cogvlm的visual experts,需要更多的数据预训练;
总结:LLAVA1.5通过进行了扩大分辨率的早期尝试(增加子图),并进行了一系列的消融实验,促进了MLLM的发展。