多模态大模型:关于Better Captions那些事儿

发布时间:2023年12月23日

一、ShareGPT4V

题目: 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

BLIP model

1.1、Motivation

利用GPT4-V去构造更加详细准确的图像文本描述(相比COCO-Caption以及LLaVA-Instruct等数据集而言)

  1. 100K直接从GPT4-V直接生成的captions
  2. 利用上述子集去训练一个caption模型,进而把数据集扩充自1.2M
  3. ShareGPT4V用于SFT阶段可以明显提升LLaVA-7B, LLaVA-1.5-13B, and Qwen- VL-Chat-7B 在MME和MMBench等数据集上的指标
  4. 利用这个数据集,进行预训练和微调,提出一个模型ShareGPT4V-7B

本文认为现在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)
BLIP model

当然,在上面的100K GPT4-V构造的数据,尝到甜头后,也驱使作者去构造更多的数据用于预训练阶段(可能是从成本考虑,间接去训练了一个captioner,而非直接去调用GPT4-V去构造超过1M量级的数据集)

1.2、ShareGPT4V数据集构建

BLIP model BLIP model

值得注意的是这100K的图像,还是有针对性的做了一些配比以及源的选取的,比如

  • 50K images from COCO [29]
  • 30K images from ’LCS’ (which abbreviates LAION [48], CC-3M [50], and SBU [41])
  • 20K images from SAM [21]
  • 500 images from TextCaps [51]
  • 500 images from WikiArt [47]
  • 1K images from web- crawled data (split evenly between images of landmarks and images of celebritie

对于1.2M用于训练share captioner的图像,分别来自:

  • 118K images from COCO [29]
  • 570K images from SAM [21]
  • 558K images from LLaVA-1.5 pre-training data [30].

最终得到ShareGPT4V-PT这样一个预训练的数据集

1.3、ShareGPT4V-7B模型

模型设计:
采用了类似LLaVA- 1.5的架构设计,其中包含三个主要部分:

  1. 一个视觉编码器,CLIP-Large,输入分辨率336 * 336,patch size 14,的到576个视觉tokens。
  2. 一个projector,两层MLP
  3. 一个大语言模型,Vicuna-v1.5(训练自LLaMA2),7B规模

预训练阶段:
数据: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)

BLIP model

论文也做了一些消融实验,比如Effectiveness of ShareGPT4V Dataset,Pre-training Caption Quality,下面选择了两个比较有意思的展示:

Number of Captions in Pre-training.
BLIP model

Number of Learnable ViT Blocks in Pre-training.
BLIP model

文章来源:https://blog.csdn.net/pku_langzi/article/details/135171264
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。