文章链接:https://arxiv.org/pdf/2312.14238
发布时间:2023.12
Copyright (c) Wang-Luning. All Rights Reserved.
可以看成是BLIP-2的改进,主要体现在两方面:
使用QLLaMA代替Q-Former,精简了模型框架,并进一步减小了模态之间的gap(可以使vision encoder的特征表示和LLM更接近)。
增大了vision encoder和language middleware(QLLaMA)的体量。
模型结构:
vision encoder:InternViT-6B
是一个6B的ViT
language middleware:QLLaMA
初始化时用的是一个8B的预训练好的LLaMA模型,目的是对齐视觉和语言信息
LLM backbone:Vicuna-13B
训练分为3个步骤:
Vision-Language Contrastive Training
首先将InternViT-6B和一个预训练好的多语言LLaMA-7B模型进行对比学习训练,使用大量的、带噪音的image-text pairs。训练目标使用图像-文本对比损失(类似CLIP),由于LLaMA-7B本身已经进行了预训练,因此可以看成以文本为中心的非对称对齐,这样可以使得InternViT-6B学到的图像特征更偏文本特征。这步训练结束后的LLaMA-7B就被拿来当成了QLLaMA中间件。
Vision-Language Generative Training
该步将InternViT-6B和QLLaMA连起来并冻结,在中间加一个带有learnable queries的cross-attention模块(其本质上是BLIP-2中的Q-Former的精简版),收集高质量数据,并使用image-text contrastive loss、image-text matching loss、image-grounded text generation loss这3种loss来训练这个cross-attention模块。
Supervised Fine-Tuning
进一步连接上后边的LLM decoder(Vicuna-13B),其和ViT与QLLaMA之间使用一个MLP层进行连接,然后执行联合的SFT。