原文标题:《超越 GPT-4!华人团队爆火 InstructBLIP 抢跑看图聊天,开源项目横扫多项 SOTA》
碾压 GPT-4 识图能力的多模态生成模型来了。华人团队最新提出的 InstructBLIP 在多项任务上实现 SOTA。
GPT-4 看图聊天还没上线,就已经被超越了。
近来,华人团队开源了多模态基础模型 InstructBLIP,是从 BLIP2 模型微调而来的模型。
据介绍,InstructBLIP 模型更擅长「看」、「推理」和「说」,即能够对复杂图像进行理解、推理、描述,还支持多轮对话等。
比如,下图这一场景可能发生了什么?
InstructBLIP 推理出,可能飓风,或者恶劣的天气因素造成的。
给我介绍下这幅画
进行多轮对话
研究人员表示,正是基于强大 BLIP-2,才使得 InstructBLIP「看」的更好。
最最重要的是,InstructBLIP 在多个任务上实现了最先进的性能,甚至在图片解释和推理上表现优于 GPT4。
为啥如此之强?
新王者:InstructBLIP
InstructBLIP 的主要意义就在于解决视觉-语言指令微调中的挑战,并对模型未见过的数据和任务的改进泛化能力进行系统研究。
在论文中,研究人员首先介绍了指令微调数据的构建,然后则是具体的训练过程。
之后,分别从模型和数据的角度阐述了两种提高指令微调性能的技术。
为了保证指令微调数据的多样性,同时考虑到它们的可及性,研究人员收集了大量公开可用的视觉语言数据集,并将它们转化为指令微调格式。
下图中,研究人员最终收集的数据涵盖了 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 非常相似的推理结果。
参考资料:
https://twitter.com/LiJunnan0409/status/1656821806593101827
https://arxiv.org/abs/2305.06500
https://github.com/salesforce/LAVIS/tree/main/projects/instructblip
本文来自微信公众号:新智元 (ID:AI_era)
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。