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》的论文中得到了解释。
其原因在于 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。
图像模块化策略中主要包含两个部分:
-
高分辨率图像划分策略(如图 4 左侧)。目标是确定高分辨率图像的划分方式,使每个切片的分辨率变化最小。给定图像分辨率和和在固定分辨率上预训练的 ViT,首先确定处理图像所需的切片数。然后将切片数因式分解为和几种划分方式。为了选择最合适的划分,作者定义一个评分函数来衡量与 ViT 标准预训练设置的偏差,进而选择最佳的划分方法。
-
任意宽高比切片编码(如图 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 中进行交互。计划通过改进的视觉编码策略,在图像片段之间建立高效的连接,实现细粒度全局信息交互。