通向高分辨率VLM (7): Ferret-V2

文摘   科技   2024-06-22 09:30   上海  

Github: https://github.com/apple/ml-ferret

Paper: https://arxiv.org/abs/2404.07973


摘要

苹果提出Ferret模型的改进版本Ferret-V2,摆脱了固定视觉编码器的限制,开始支持任意动态的高分辨率输入,并且在更广泛的任务上提升了性能。

目前主流MLLM基本都采取了类似的路径去提升输入分辨率,任意分辨率的优势已经无需赘述了,但苹果论文中同样给出了证明:

如上图,显而易见的是,“任意分辨率”要显著好于低分辨率。(在任意分辨率支持下,更新视觉编码器总是比冻结要更好,而在“直接上采样”中,有时冻结视觉编码器甚至更好,如TextVQA)

和上篇推送的InternVL 1.5极其类似,Ferret-V2也是使用了动态高分辨率切patch+全局视图双重输入,相信读者都已经非常熟悉这套最近开源MLLM工作中几近范式化的操作方法。一图看懂Ferret-V2的任意分辨率输入是如何实现的:

方法

为了弥合全局低分辨率图像与局部分割图像块之间的粒度差异,Ferret-V2采用了两种不同的视觉编码器来分别处理这两种图像类型。具体来说,我们选择了CLIP模型来编码全局图像,而DINOv2模型则用于编码局部分割块。选择这两种模型的原因在于它们各自独特的预训练范式。CLIP模型通过图像-文本对比学习目标,能够从标题中抽取图像的全局语义信息。然而,由于对比学习的文本caption中包含的细粒度信息有限,CLIP模型可能无法充分捕捉到丰富的像素级细节。与此相对,DINOv2模型通过结合图像级和块级的自监督学习目标进行训练,能够更深入地捕捉局部对象的特征,如形状或纹理,展现出更强的细粒度感知能力。高低分辨率使用不同的两个视觉编码器,这点也是和InternVL相比不一样的地方,即视觉双基座

此外,为了进一步区分并学习全局与细粒度视觉信息的不同底层上下文,Ferret-V2为这两种视觉编码器配置了独立MLP projector。这样的设计旨在优化模型对于不同视觉信息的识别和理解能力,从而提升整体的图像处理性能。

而训练过程中,使用了三阶段的训练策略:

第一阶段,Image-Caption对齐任务,单独训练projector,连接视觉模型和语言模型,可以视为一个比较好的projector初始化过程,(其实在一些其他工作中,证明这一步可能并不有用);

第二阶段,高分辨率密集对齐,设计了两种类型的任务和输入数据:1)密集指代:给定图像,输入问题逐个指代所有对象的区域,并询问它们的类别;2)密集检测:给定图像,输入问题要求定位所有对象;

第三阶段,开放所有权重可学习,进行指令微调。

评测

一些ablation study证明了其输入分辨率的设计,包括视觉“双基座”是有意义的:

与不支持高分辨率的同期MLLM比,是有不少优势的,但最近开源的高分辨率MLLM已经有卷爆的趋势,苹果的这个工作相比之下,也显得稀松平常了。



[高分辨率VLM系列解读]

通向高分辨率VLM (1): Monkey

通向高分辨率VLM (2): LLaVA-UHD

通向高分辨率VLM (3): mPLUG-DocOwl 1.5

通向高分辨率VLM (4): Idefics2

通向高分辨率VLM (5): InternLM-XComposer-4KHD

通向高分辨率VLM (6): InternVL 1.5


点击👇关注 “思源数据科学

👇点个“赞”和“在看”吧

思源数据科学
Towards AGI
 最新文章