GPT-4V 的推出引爆了多模态大模型的研究。GPT-4V 在包括多模态问答、推理、交互在内的多个领域都展现了出色的能力,成为如今最领先的多模态大模型。
然而,近期很多工作发现 GPT-4V 在很多基本能力上却意外的出现短板。例如,在微软一篇长达 166 页的技术报告《The Dawn of LMMs:Preliminary Explorations with GPT-4V (ision)》中,作家发现,对于一个不太复杂的图象中的苹果数目,GPT-4V 竟然怎么数也数不对。
然而,学术界和工业界尚不清楚导致这些问题的底层原因。
这个问题在清华大学、新加坡国立大学和中国科学院大学的一篇题为《LLaVA-UHD: an LMM Perceiving Any Aspect Ratio and High-Resolution Images》的论文中得到了解释。
论文链接:https://arxiv.org/pdf/2403.11703.pdf
项目链接:github.com/thunlp/LLaVA-UHD
其原因在于 GPT-4V 很可能存在:视觉编码毛病。
该工作对当前最强的商业大模型 GPT-4V 和最受欢迎的开源模型 LLaVA-1.5 进行了尝试,揭示了目前多模态大模型中的视觉编码毛病。
毛病 1:GPT-4V 将图象进行有堆叠的切片后再编码
作家首先设计了一个尝试来观察:图象中的位子如何影响 GPT-4V 的计数回覆。
具体来说,作家合成了如图 1 (a) 所示的图象,并向 GPT-4V 提问题:“图象中有多少个圆圈?” 同时,通过改变圆圈的位子而保持提问不变,进一步生成了一系列图象变体。
图 1 (b) 中以热图的形式显示了 GPT-4V 对图象中每个位子平均回覆的数目,作家发现了一个与图象中目标位子高度相关的有趣模式如图 1(b)所示,具体表现为被 256×256 的正方形网格分割的三种不同模式:
(1) 中央正方形地区展示了最高的呼应数目,
(2) 中间边缘地区的呼应数目较低,
(3) 角落地区的呼应数目最接近于真实值。
在对 GPT-4V 的呼应进行数值区分后,作家发现除了正确谜底和接近正确谜底的情况,还有两种异常谜底(8 个圆和 16 个圆),这些异常谜底呈现了谜底数目翻倍或四倍的错误模式。结合 OpenAI 公开的信息,这一现象的最可能原因是,当图象分辨率无法被 512 整除时,GPT-4V 处理图象的切片之间会出现堆叠。如图 1 (e) 所示,两个切片之间的堆叠地区导致数目翻倍,而四个切片的交叉堆叠地区会使得识别出的数目增加至四倍。
作家设计了另一个尝试来观察:图象分辨率如何影响 GPT-4V 的计数回覆。
具体来说,作家将图 2 (a) 中的图象按比例缩放至连续递增的分辨率,并询问 GPT-4V 其中圆圈的个数。
图 2 (b) 中展示了 GPT-4V 的回覆结果。随着图象分辨率的变化,GPT-4V 的回覆显示出显著的相位变化:(1)在第 1 阶段,由于没有图象切片,大多数谜底是正确的;(2)在第 2 阶段,谜底 12 在呼应中占主导地位,可能是由于每个切片中的圆不完整;(3)第 3 阶段显示了 9、12 和 16 的混合谜底。请注意,16 可以很好地解释图 1 (e) 中的错误模式。
以上两个尝试结果揭示了 GPT-4V 在处理高分辨率图象时存在堆叠切片,导致错误呼应,启发作家需要进一步研究更合理的图象预处理和编码方式。
毛病 2:LLaVA-1.5 进行大范围的图象弥补(Padding)
LLaVA-1.5 作为出色的开源多模态大模型被学术界广泛关注。
为了处理具有不同长宽比的图象,LLaVA-1.5 在将图象输出视觉编码器之前将其弥补为正方形。这种编码方法导致非正方形图象的计算浪费。例如,将 1:4 图象弥补为正方形后,有效计算量仅为 25%。
更重要的是,LLaVA-1.5 实际上无法确定弥补像素是来自图象预处理还是原始输出图象的实际部分。
为了演示这个问题,作家合成了一系列输出图象,如图 3(右)所示,其中不同长宽比的绿色矩形被灰色(即弥补对应的 RGB 值)所包围。给定输出图象,作家提示:“最左 / 最右 / 最上 / 最下地区的颜色是什么?” 从图 3(左)的结果中,作家观察到 LLaVA-1.5 忽略了灰色输出地区(将其视为弥补),并置信地回覆了中心矩形的颜色。
综合以上 2 个明显的视觉编码毛病可以知道,多模态模型中的视觉策略必须谨慎设计。常见做法,如弥补、形状扭曲调整和重复切片,可能导致计算资源的浪费、模型能力的丧失,甚至容易受到对抗性攻击。
于是,作家提出 LLaVA-UHD,该模型可以对 180 万像素任意长宽比图象进行编码,相比于 LLaVA-1.5 在 9 个主流评测基准实现提升,训练和推理计算开销相比于 LLaVA-1.5 均有显著下降。
LaVA-UHD 包括三个关键部分:一种图象模块化策略,将原始分辨率的图象分成更小的可变大小的切片,以便进行高效和可扩展的编码;一个收缩模块,进一步收缩来自视觉编码器的图象 tokens,一个空间装饰模式,用于为 LLMs 组织片段 tokens。
图象模块化策略中主要包含两个部分:
1. 高分辨率图象区分策略(如图 4 左侧)。目标是确定高分辨率图象的区分方式,使每个切片的分辨率变化最小。给定图象分辨率和和在固定分辨率上预训练的 ViT,首先确定处理图象所需的切片数。然后将切片数因式分解为和几种区分方式。为了选择最合适的区分,作家定义一个评分函数来衡量与 ViT 标准预训练设置的偏差,进而选择最佳的区分方法。
2. 任意宽高比切片编码(如图 4 右侧)。目的是等比例调整图象以适应预训练模型的位子嵌入数目。首先将 ViT 的 1D 位子嵌入转换为 2D 格式,并进行插值以匹配动态切片分辨率,从而获得自适应图象尺寸的视觉编码。尝试表明,此方法在保持 ViT 和位子嵌入参数不变的情况下,通过后期微调即可提升性能。此外,还编码一张低分辨率概览图象,有助于提供全局语义信息,增强模型对图象的整体理解。
LLaVA-UHD 利用收缩模块(Resampler)收缩每张切片的 tokens,实现比 LLaVA-1.5 在 336×336 分辨率图象中更低的计算成本来编码 672×1008 分辨率的图象。由于图象切片在不同图象之间是动态的,因此有必要通过位子修饰符来告知 LLM 图象切片的相对位子。
表 1 报告了主要的尝试结果。在性能表现上,LLaVA-UHD 相对于 LLaVA-1.5 取得了显著的改进。通过简单地感知原生高分辨率图象,LLaVA-UHD 在 TextVQA 上实现了 6.4 的准确率提升,在 POPE 上实现了 3.2 的准确率提升。原因在于低分辨率图象中的模糊内容可能会阻止 LMMs 准确识别具有挑战性的细粒度目标和 OCR 字符。在计算效率和可拓展性上,LLaVA-UHD 仅使用 94% 的推理计算即支持任意宽高比的 672×1088 分辨率图象,能够适应更大分辨率的拓展。
为了更直观地展示 LMM 在处理高分辨率图象方面的能力,在图 5 中提供了 LLaVA-UHD 和 LLaVA-1.5 的定性结果。可以看到,LLaVA-UHD 可以正确识别课表上的密集内容,小海报上的文字以及手机上的图标和文字,实现了细粒度的识别和推理。
未来展望
LLaVA-UHD 将图象分辨率限制在最大 672×1008。但是在未来,考虑到其具有潜力的效率和可扩展性,将探索更高分辨率的图象以及更具挑战性的任务,如小目标检测和分割。此外,目前图象片段是独立编码的,只在 LLMs 中进行交互。计划通过改进的视觉编码策略,在图象片段之间建立高效的连接,实现细粒度全局信息交互。