题目: ShareGPT4V: Improving Large Multi-Modal Models with Better Captions
机构:中科大,上海人工智能实验室
论文: https://arxiv.org/pdf/2311.12793.pdf
代码:https://sharegpt4v.github.io/
任务: 多模态大模型CAPTION数据集质量优化
特点: 提出一个大规模更高质量的图像caption数据集
方法: 利用GPT4V
前置相关工作:LLaVA-Instruct,Qwen-VL
利用GPT4-V去构造更加详细且准确的图像文本描述(相比COCO-Caption以及LLaVA-Instruct等数据集而言)
本文认为现在LMM常规的两段式训练,预训练再微调,在预训练阶段想要达到的模态对齐的目标往往很难达到,其中一个很重要的原因是高质量的图文对比较少,现有的图文对,文本描述往往比较简单,并且主要关注在显著性的目标身上,会丢失很多信息,导致是一个sub optimal的模态对齐。
为了证明上面motivation,做了如下的简单实验,将GPT4-V生成的caption,以一定比例替换掉如下LLM SFT阶段的数据,only 3.5% for LLaVA-1.5 [30] and Qwen-VL-Chat [3]1, and 14.5% for LLaVA [31](值得注意的是千问-VL chat的pre-SFT的模型以及SFT的数据都是没有开源的,因此采取的方式是直接用LLaVA-1.5 SFT的665K数据去做实验微调 Qwen-VL-Chat-7B)
当然,在上面的100K GPT4-V构造的数据,尝到甜头后,也驱使作者去构造更多的数据用于预训练阶段(可能是从成本考虑,间接去训练了一个captioner,而非直接去调用GPT4-V去构造超过1M量级的数据集)
值得注意的是这100K的图像,还是有针对性的做了一些配比以及源的选取的,比如
对于1.2M用于训练share captioner的图像,分别来自:
最终得到ShareGPT4V-PT这样一个预训练的数据集
模型设计:
采用了类似LLaVA- 1.5的架构设计,其中包含三个主要部分:
预训练阶段:
数据:ShareGPT4V-PT
训练参数:视觉编码器, projector, 大语言模型同时打开,lr 2e?5,batch size 256,4700 steps,实验也发现,选择性finetune vit的后半部分参数,能够取得更好的结果,以及更快的训练效率。
SFT阶段:
数据:用的是llava1.5的665K SFT数据,其中有23K是关于详细描述的数据,用ShareGPT4V(100K)随机采样23K来进行替换,即除了详细描述这个数据集替换之外,其他都保留,整体还是665K的量级。
训练参数:固定视觉编码器,训练projector以及大语言模型,lr 2e?5,batch size 128,5200 steps(一个epoch)
论文也做了一些消融实验,比如Effectiveness of ShareGPT4V Dataset,Pre-training Caption Quality,下面选择了两个比较有意思的展示:
Number of Captions in Pre-training.
Number of Learnable ViT Blocks in Pre-training.