GPT-4看图聊天还没上线,就已经被超越了。
近来,华人团队开源了多模态基础模型InstructBLIP,是从BLIP2模型微调而来的模型。
BLIP家族中增加了一个新成员:InstructBLIP
据介绍,InstructBLIP模型更擅长「看」、「推理」和「说」,即能够对复杂图像进行理解、推理、描述,还支持多轮对话等。
比如,下图这一场景可能发生了什么?
InstructBLIP推理出,可能飓风,或者恶劣的天气因素造成的。
给我介绍下这幅画
进行多轮对话
研究人员表示,正是基于强大BLIP-2,才使得InstructBLIP「看」的更好。
最最重要的是,InstructBLIP在多个任务上实现了最先进的性能,甚至在图片解释和推理上表现优于GPT4。
为啥如此之强?
新王者:InstructBLIP
InstructBLIP的主要意义就在于解决视觉-语言指令微调中的挑战,并对模型未见过的数据和任务的改进泛化能力进行系统研究。
论文地址:https://arxiv.org/pdf/2305.06500.pdf
在论文中,研究人员首先介绍了指令微调数据的构建,然后则是具体的训练过程。
之后,分别从模型和数据的角度阐述了两种提高指令微调性能的技术。
为了保证指令微调数据的多样性,同时考虑到它们的可及性,研究人员收集了大量公开可用的视觉语言数据集,并将它们转化为指令微调格式。
下图中,研究人员最终收集的数据涵盖了11个任务类别和28个数据集。
其中包括图像字幕、带有阅读理解的图像字幕、视觉推理、图像问题回答、基于知识的图像问题回答,带阅读理解的图像问题回答,图像问题的生成(与QA数据集相反),视频问题回答,视觉对话问题回答,图像分类,以及LLaVA-Instruct-150K。
对于每一项任务,研究人员都会用自然语言制作10-15个不同的指令模板。这些模板是构建指令微调数据的基础,它阐明了任务并划定了目标。
对于固有的偏向于短反应的公共数据集,研究人员在一些相应的指令模板中使用较短的术语,以减少模型适应总是生成短回应的风险。
对于LLaVA-Instruct-150K数据集,研究人员没有加入额外的指令模板,因为它是自然结构的指令格式。
现有的零样本图像到文本的生成方法,包括BLIP-2,在提取视觉特征时采取了与指令并无关系的方法。
也就是说,LLM中的视觉输入是不知道指令的,这并不利于该模型在不同任务中的灵活性。
相比之下,指令感知的视觉模型可以提高模型从不同指令中学习的能力。
举例来说,咱们考虑两种情况:输入同一图像,模型被要求完成两个不同的任务;以及,给定两个不同的图像,模型被指示完成同一任务。
在第一种情况中,一个指令感知的视觉模型可以根据指令从同一图像中提取不同的特征,在解决不同任务时呈现出更多的信息特征。
而在第二种情况中,一个指令感知的视觉模型可以利用指令中体现的共同知识来提取两个不同图像的特征,从而实现图像之间更好的信息转移。
InstructBLIP通过充分利用BLIP-2模型中的Q-Former架构,提出了一种指令感知的视觉特征提取方法。
如上图所示,Q-Former被设计用来从一个冻结的图像编码器的输出中提取视觉特征。
根据BLIP-2的论文,Q-Former已经分成两个阶段进行了预训练,通过预训练,它学会了提取可以被LLM消化的文本对齐的视觉特征。
在推理过程中,一个指令被附加在视觉提示之后,就可以指导LLM按照规定执行不同的任务。
而在InstructBLIP中,指令文本不仅作为输入给到LLM,同时也给到了QFormer。
由于训练数据集的数量众多,而且每个数据集的大小差异很大,均匀地混合这些数据集可能会导致模型在较小的数据集上过度拟合,而在较大的数据集上拟合不足。
为了缓解这样的问题,研究人员建议按照数据集的大小(即训练样本的数量)进行采样,并进行平方根平滑处理。一般来说,给定D个数据集的大小:
在训练期间,数据样本从数据集d中被选中的概率被表述为,
除了这个加权公式外,研究人员还对某些数据集的权重进行了手动微调,以提高其收敛性。
这是必要的环节,因为各种数据集和任务的内在差异,需要不同程度的训练强度,即使它们有类似的规模也是如此。
具体来说,研究人员降低了A-OKVQA(多选)的权重,增加了OKVQA的权重。
实验结果
零样本评估
研究人员首先在13个数据集上评估InstructBLIP模型,并将InstructBLIP与之前的SOTA模型BLIP-2和Flamingo进行比较。
如表所示,InstructBLIP在所有的数据集上都取得了新的零样本的SOTA结果。
并且在所有的LLM上都超过了BLIP-2,这表明了视觉指令微调的有效性。
此外,指令微调提高了对未见过的任务类别(如视频QA)的零样本泛化能力。
尽管从未用时间视频数据进行训练,但InstructBLIP在MSRVTT-QA上比之前的SOTA提高了47.1%。
最后,研究人员用最小的InstructBLIP FlanT5XL(4B)在所有六个共享评估数据集上评估,其表现优于Flamingo-80B,平均相对改善率为24.8%。
指令调优的消融研究
为了研究指令感知的视觉特征提取和数据集平衡策略的影响,研究人员通过在指令微调过程中分别移除它们来进行消融研究。
在所有的数据集中,视觉特征中缺乏指令感知会使性能明显下降。在涉及空间视觉推理(如ScienceQA)或时间视觉推理(如iVQA)的数据集中,这种性能下降更为严重。
在这些数据集中,给Q-Former输入指令可,以引导它更多地关注信息量更大的图像嵌入。
关于数据平衡策略,移除它会导致不稳定的训练模式,因为不同的数据集在明显不同的训练步骤中达到最佳性能。因此,这种不稳定性损害了整体性能。
定性评估
此外,研究人员进一步使用更加多样化的图像和说明对Instruct-BLIP进行了定性研究。
比如使用GPT-4技术报告中的一张图。「这张图有什么不对劲的地方?」
从给出的回答中看出, InstructBLIP比GPT-4更全面,比LLaVA更视觉化,比MiniGPT-4更有逻辑性。
对于「蒙娜丽莎」这幅画是谁画的问题,InstructBLIP回答非常简短。
在这里,研究人员认为长回应不总是可取的。Instruct-BLIP 可以通过自适应调整响应长度直接解决用户的意图。
而其他模型倾向于生成较长的段落,以及较不相关的句子。
Instructlip能够取得这些优势,是使用多样化的指令调优数据和有效的架构设计的结果。
另外,通过研究发现,指令调整是提高模型零样本泛化能力的关键。
基于BLIP-2 FlanT5XL的指令调优和多任务训练的比较
此外,研究人员进一步对InstructBLIP模型进行微调,研究其在学习特定数据集上的表现。
与大多数以前的方法(如Flamingo,BLIP-2)相比,InstructBLIP在指令微调期间保持相同的图像分辨率(224×224),并在微调期间保持视觉编码器的冻结状态。
这大大减少了可训练参数的数量,从1.2B到188M,从而大大提高了微调效率。
作者介绍
Wenliang Dai
Wenliang Dai (戴文亮)是香港科技大学的博士研究生,导师是Pascale Fung教授。在此之前,他曾获得伦敦大学学院硕士学位,诺丁汉大学计算机学士学位。
Junnan Li
Salesforce亚洲研究院科学家,香港大学电子工程学学士,新加坡国立大学计算机博士,主要研究方向计算机视觉和深度学习、非监督式学习,弱监督学习,迁移学习和社交场景理解。
其他SOTA
网友表示,近来提出类似InstructBLIP的多模态模型还有,MiniGPT-4,以及LLaVA。
MiniGPT-4也能够看图聊天,比如传一张海鲜大餐照片上去,就能直接获得菜谱。
对于,MiniGPT-4能够做到这么好的效果,实现起来却并不复杂。
把图像编码器与开源语言模型Vicuna整合起来,并且冻结了这两者大部分参数,只需要训练很少一部分。
另外,团队让MiniGPT-4与ChatGPT合作创建了3500个图像文本的高质量数据集,也一并开源。
还有LLaVA,是用一个小的多模态指令数据集训练的,但它在一些示例上展示了与多模态模型 GPT-4 非常相似的推理结果。