发表时间:15 Jun 2023
论文链接:https://arxiv.org/pdf/2305.06500 作者单位:Salesforce Research
Motivation:大规模预训练和指令调整已经成功地创建了具有广泛能力的通用语言模型。然而,由于额外的视觉输入导致的丰富输入分布和任务多样性,构建通用视觉语言模型具有挑战性。
解决方法:为了确保指令微调数据的多样性,作者收集了来自11种不同任务的26个数据集,并将它们转换为指令调优格式。
实现方式:模型结构基本与BLIP2一致,Q-Former和LLM的输入多了Instruction(instructBLIP将Q-former中的Image Caption换为了Instruction使得Q-former可以感知到指令的信息)。
Architecture. 使用了和BLIP-2 相同的图像编码(VIT-g/14),但是不同的LLMs, 使用了FlanT5- XL (3B), FlanT5-XXL (11B), Vicuna-7B and Vicuna-13B.
训练过程:
-
先冻结image encoder,训练Q-Former,这一步和BLIP-2类似,采用ITC、ITM、ITG三个任务同时训练。其目的是拉近图像特征和文本特征;
-
接着加入LLM模型,并冻结其中的参数。LLM模型将Q-Former的视觉特征结果当做一个soft visual prompts,配合text generation任务来训练Q-Former和全连接层。到了这一步,BLIP-2的预训练就完成了;
-
进一步,冻结image encoder和LLM的参数,将Instruction文本分别加入到Q-Former输入端和LLM的输入端,训练Q-Former参数,具体的交互形式见上面的流程解读。完成这一步以后,InstructBLIP就训练成功了;
亮点:instruction不仅会指导LLM生成文本,同时也会指导image encoder提取不同的视觉特征。这样的好处在于对于同一张图片,根据不同的instruction,我们可以得到基于instruction偏好更强的视觉特征,同时对应于两个不一样的图片,基于instruction内嵌的通用知识,可以使得模型有更好的知识迁移效果。
实验:Zero-shot Evaluation,complex visual reasoning, knowledge-grounded image description, and multi-turn conversations.
结论:这篇论文内容比较简单,基本就是BLIP2的指令微调版本。作者主要提出了两点贡献。 第一点就是提出了指令感知的Q-former,可以提取与指令相关的图像特征。 第二点就是提出了均衡采样策略,对于不同数据集有不同的采样概率。
其他与BLIP2基本一样。
BLIP系列总结:
BLIP系列是一个精彩的多模态模型集合。从BLIP的多任务对齐图文,到BLIP-2的结合大语言模型,再到InstructBLIP的融合Instruction tuning技术,BLIP系列有一个十分清晰的发展脉络。从代码层面,同样能够发掘它们之间的递进关系。LAVIS仓库对三个模型都进行了很好的封装,并且尽可能复用共有的模块,使得三个模型之间的关系更加清晰,源代码的可读性很高。另外,ALBEF可以看成是BLIP的前传,同样和三者的联系很深。