多模态大模型系列:LLaVA+LLaVA1.5/1.6+LLaVA-Med - 知乎就在前两天LLaVA 1.6发布了,带来了更大的分辨率,更强的LLM,在最后补充了这一部分的介绍。 LLaVA repo:https://github.com/haotian-liu/LLaVA/ LLaVA 1.0:Visual Instruction Tuning LLaVA 1.5:Improved Base…https://zhuanlan.zhihu.com/p/6797987371.llava
训练数据量:158K包括两类,Captions和Bounding boxes,先人工标准一些,作为In-context-learning的few-shot examples给GPT4,标注,llava_instruct_158k.json。
2.llava1.5
训练数据量:llava_v1_5_mix665k.json=150kGPT(llava_instruct_150k.json)+515VQA 学术data。
3.llava 1.6
训练数据量:LAION-GPT-V+ShareGPT-4V+15k visual instruction data,TextVQA+DocVQA+SynDog-EN+ChartQA+DVQA+AI2D
4.llava-med
训练数据量:pt=llava_med_alignment_500k.json,sft=llava_med_instruct_60k.json
5.qwen-vl
包括三个阶段,两个预训练阶段和一个指令微调阶段,
5.1 预训练阶段:清洗之后保留14亿数据,77.3%英文,22.7%中文,
在这个阶段,冻结了大语言模型,只优化视觉编码器和VL adapter,输入图像被调整为224x224,训练目标是最小化文本token的交叉熵,adamw,余弦学习率,最大lr=2e-4,最小lr=1e-6,训练过程中,图像-文本对的bs=30720,第一阶段预训练总共50000步,大约消耗了15亿图像-文本对样本和5000亿个图像-文本token。
5.2 multi-task pre-training
在预训练第二阶段,引入了高质量和精细化的VL注释数据,使用更大输入分辨率图片,同时训练了7个任务,
将视觉编码器的输入分辨率从224x224增加到448x448,减少了下采样导致的信息丢失,解锁了大语言模型并对整个模型进行了训练,进行了19000步。
5.3 sft
多模式指令微调数据主要来源于标题数据或通过LLM自我生成的对话数据,这些数据通常只涉及单幅图像的对话和推理,并且仅限于对图像内容的理解,通过手动标注、模型生成和策略连接构建了一组额外的对话数据,已将定位和多图理解能力纳入QWen-VL中。总量为350k。
在训练过程中,仅通过监督答案和特殊标记(蓝色标记)来确保预测和训练分布的一致性,在这个阶段,将视觉编码器冻结,优化语言模型和adapter,QWen-VL-Chat的bs=128,最大lr=1e-6,最小lr=1e-6。
6.cogvlm
6.1 pretraining
开源数据集:LAION-2B,COYO-700M,剔除有问题的,大概还有15亿张图像用于预训练。构造一个40M的视觉grounding数据集,在LAION-115M中采样,GLIPv2预测,确保75%的图像都至少有2个边界框。
训练:第一阶段针对image captioning loss,即文本的下一个预测。将CogVLM-17B在15亿个图像文本对上进行了120k迭代训练,bs为8196,得到base模型;预训练第二阶段是Referring Expression Comprehension和image captioning混合训练,15亿图像-文本对,bs为1024,60k迭代,最后30k把图片尺寸从224提升到490,得到CogVLM Grounding model。REC通过给出对象的文本描述,预测图像中的边界框,以VQA的形式进行训练,即Question:对象在哪里?Answer:[[x0,y0,x1,y1]]。可训练参数为65亿,消耗4096个A100/天。
6.2 alignment
对CogVLM进行微调,使其能够与任何主题自由形式指令相对齐。微调之后的模型为CogVLM-chat。
数据:SFT从LLAVA-Instruct、LRV-Instruction、LLaVAR和内部数据集中收集,共计50w个VQA对。SFT至关重要,LLaVA-Instruct由GPT4生成,手动进行了纠错。
训练:8k迭代,bs为640,lr为10-5,warmup迭代次数为50,为了防止过度拟合数据中的文本答案,使用了较小的学习率来更新语言模型,SFT中除了VIT,所有参数都参与训练。
7.visualglm
VisualGLM-6B 依靠来自于 CogView 数据集的30M高质量中文图文对,与300M经过筛选的英文图文对进行预训练,中英文权重相同。该训练方式较好地将视觉信息对齐到ChatGLM的语义空间;微调阶段,使用高质量图文指令数据对进行训练,模型在长视觉问答数据上训练,以生成符合人类偏好的答案。预训练阶段:学习QFormer和Vit Lora参数。微调阶段:学习Qformer和ChatGLM的Lora参数。
8.minigpt
8.1 pretraining
优化投影层参数,500w图文数据对。
8.2 finetune
作者从Conceptual Caption数据集随机挑选5000图片。用stage1的模型来生成详细的图片描述。作者还对生成的每一个图文对进行了人工check,以此保证数据集的质量。清洗后获得了总计3500个图文对。只优化投影层。
9.minigptv2
架构与minigptv1类似,有所区别的是v2中llm也参与更新,三个阶段都参与更新。
第一阶段:在一组弱标注和精细数据集上训练,8XA100,训练400000步,bs=96,le-4,90h。
第二阶段:只使用精细化数据训练,4XA100,训练50000步,le-5,bs=64,20h。
第三阶段:多模态指导数据集,4xA100,35000步,1e-5,bs=24,7h。
10.monkey
7.7B,重采样90M,编码器1.9B,Lora 117M,整体参数9.8B。数据:使用多级描述生成方法,从CC3M中重建427k个图像文本对。
应该只做了multitask training,VIT通过lora微调,训练了adapter和llm。