想象一下,你有一张繁忙城市街道的超高清巨幅照片。你希望一个超级智能的 AI 助手(多模态大语言模型,即 MLLM)查看这张照片并回答相关问题,例如“面包店的招牌上写的是什么?”或“有多少人正在过马路?”
问题在于,这张照片过于巨大,包含了数百万个微小的细节(像素)。如果你将整个照片一次性喂给 AI,它会不堪重负。这就像试图在一秒钟内读完图书馆里所有的书。AI 会陷入试图同时处理所有信息的困境,导致运行速度慢且成本高昂。
本文的作者,LLaVA-UHD v4,决定重新思考如何将这些巨型图像喂给 AI。他们发现了两个巧妙的技巧,可以在不丢失任何重要细节的情况下加快处理速度。
1. “切片与分割”策略(而非整块派)
旧方法: 传统上,人们试图将整张巨型图像一次性输入 AI 的“视觉大脑”(称为视觉 Transformer)。AI 必须查看每一个像素,并弄清楚它与整张图像中其他所有像素的关系。这计算量巨大,就像蒙着眼睛试图拼好一万块的拼图,然后再摘下眼罩检查你的工作。
新方法(基于切片的编码): 作者意识到,将巨型图像切割成更小、更易管理的切片(就像将大披萨切成单独的片),然后逐一查看,效果更好。
- 类比: 想象你试图阅读一张巨大且详细的地图。与其盯着整张地图试图同时记住每一条街道,不如使用放大镜一次查看一个街区。
- 结果: 令人惊讶的是,当 AI 查看切片时,它实际上能更好地理解细节。通过专注于小的局部区域,AI 比试图一次性处理整个混乱图像时,能更清晰地发现微小事物(如招牌上的文字或特定物体)。
2. “提前退出”策略(在重负荷工作前压缩)
旧方法: 即使将图像切片后,仍有太多碎片让 AI 难以高效处理。旧的方法是让 AI 先完整处理所有切片,然后在最后尝试压缩信息。
- 类比: 这就像雇佣 100 名搬运工将房子里的每一个箱子都搬到卡车上,然后才意识到“哦,我们只需要 25 个箱子”,于是扔掉了其中 75 个。你浪费了大量精力搬运了不需要的箱子。
新方法(ViT 内部早期压缩): 作者构建了一个特殊的“压缩器”模块,位于 AI 视觉大脑的内部,就在起始位置附近。
- 类比: 与其搬运所有 100 个箱子,这个新压缩器就像前门处的智能分拣员。它立即将相似的箱子分组,并在重型搬运团队开始工作之前就扔掉重复的箱子。
- 秘诀: 为了在不破坏 AI 大脑的前提下实现这一点,他们并非随意丢弃碎片。他们使用了“热启动”技术。他们利用 AI 已有的关于如何观察图像的知识,来教导新压缩器如何压缩数据。这就像让新员工跟随资深专家学习,而不是从零开始。
最终成果:LLaVA-UHD v4
通过结合切片(分部分查看图像)和早期压缩(在重负荷处理开始前缩小数据),他们创建了一个名为LLaVA-UHD v4的新系统。
- 速度: 它将计算工作量(能耗和时间)减少了约56%。
- 智能: 尽管工作量减少了,但它回答问题时的表现与旧系统一样好,有时甚至更好。它特别擅长在高分辨率图像中阅读文字和发现细微细节。
简而言之: 本文表明,要让 AI 理解图像,并不需要强迫它一次性盯着整张巨幅图像。通过将图像分解成碎片,并在早期智能地总结信息,你可以让 AI 变得更快、更便宜,而不会让它变“笨”。
技术摘要:LLaVA-UHD v4
问题陈述
视觉编码是多模态大语言模型(MLLMs)中的主要计算瓶颈,特别是在处理高分辨率图像时。当前的主流范式采用全局编码,即将完整图像直接输入视觉 Transformer(ViT),随后在送入大语言模型(LLM)之前进行ViT 后压缩以减少 token 序列。
该方法存在两个关键的效率缺陷:
- 二次方注意力成本:全局编码迫使 ViT 在任何缩减发生之前,就必须在巨大的 token 序列(随图像面积缩放)上计算完整的全局自注意力。
- 无效的压缩时机:ViT 后压缩仅减轻了下游 LLM 的负担;由于完整的编码器计算已经执行,它并未降低 ViT 内部产生的计算成本。
随着图像分辨率的提高,这种"token 爆炸”使得高分辨率视觉编码成为现代 MLLMs 的核心效率障碍。
方法论
作者提出了LLaVA-UHD v4,这是一种高效的视觉编码方案,重新思考了编码策略和 token 压缩的时机。该方法建立在两个核心支柱之上:
1. 基于切片编码(SE)与全局编码(GE)
与社区普遍认为全局编码在保留上下文方面更优越的共识相反,作者证明基于切片的编码对高分辨率输入更为有效。
- 机制:不是将完整图像输入 ViT,而是根据感知长宽比的网格策略,将图像分解为一个低分辨率缩略图和一组高分辨率切片。这些视图被独立编码。
- 优势:这种方法通过允许编码器专注于每个切片内的细粒度模式,保留了局部细节。关键在于,它在结构上避免了在整个图像上进行全局自注意力所关联的二次方计算爆炸。
2. ViT 内部早期压缩
为了解决 ViT 内部剩余的计算成本,作者引入了一个参数复用早期压缩器,将其插入ViT 流水线内部,而非之后。
- 位置:压缩器(D)被插入 ViT 的特定浅层之后(SigLIP 2 骨干网络中的k=6层)。
- 架构:该模块包含:
- 窗口注意力:一个2×2不重叠的窗口注意力块,允许 token 与其直接的空间邻居进行交互。
- 下采样与融合:一个2×2像素打乱(Pixel-Unshuffle)操作,随后是一个融合通道的 MLP,将 token 数量减少4×。
- 初始化策略:为了防止破坏预训练的视觉表征,压缩器并非随机初始化。相反,它复用了前一层 ViT 的权重(具体为注意力投影和 FFN 权重)。这种“热启动”确保新模块从第一个训练步骤起就在与原始 ViT 相同的表征流形上运行。
3. 两阶段压缩流水线
最终架构采用两阶段缩减:
- ViT 内部:在编码器早期(第 6 层之后)发生4×缩减,确保后续大部分 ViT 层仅在原始 token 预算的25%上运行。
- ViT 之后:标准的基于 MLP 的连接器(使用像素打乱)在进入 LLM 之前执行额外的4×缩减,从而实现16×的端到端总压缩比。
主要贡献
- 重新审视编码范式:本文通过实证表明,基于切片的编码在多样化的基准测试(包括 OCR 和细粒度感知任务)及数据规模上始终优于全局编码,挑战了“全局上下文对于高分辨率理解总是必要”的假设。
- ViT 内部压缩架构:作者提出了一种新颖的早期压缩模块,在 ViT内部减少 token。通过将窗口注意力与参数复用初始化相结合,他们在不牺牲预训练模型表征能力的情况下实现了巨大的计算节省。
- LLaVA-UHD v4:基于切片编码与 ViT 内部压缩的集成,产生了一个将视觉编码 FLOPs 降低**55.75%**的系统,同时匹配或超越了强大的 ViT 后基线性能。
实验结果
作者在八个涵盖通用 VQA、推理和细粒度感知(例如 OCRBench、MMMU、MathVista)的基准测试上,将 LLaVA-UHD v4 与强大的 ViT 后基线(基于切片编码配合 16 倍 ViT 后 MLP 压缩器)进行了评估。
- 效率:对于单个切片,所提出的方法将视觉编码 FLOPs 从3555.1 G降低至1573.1 G(降低了 55.75%)。
- 性能:在从 400 万到 6400 万样本的训练数据规模范围内,LLaVA-UHD v4 的表现与基线持平,偏差可忽略不计(平均偏差为$-0.29$分)。
- 消融研究:
- 压缩时机:过早插入压缩器(例如第 3 层)会破坏性能,而过晚插入(例如第 15 层)则收益递减。第 6 层被确定为最佳权衡点。
- 模块设计:简单的合并(平均池化)或随机初始化无法恢复基线准确率。窗口注意力与参数复用初始化的结合对于维持性能至关重要。
- 连接器设计:基于 MLP 的空间合并连接器优于基于查询的重采样器,特别是在较低的压缩比下。
意义与主张
本文主张,通过将压缩范式从"ViT 之后”转变为"ViT 内部”,可以在不牺牲下游性能的情况下显著提高视觉编码效率。
- 设计方向:这项工作为高效的高分辨率 MLLMs 提供了实用的设计方向,表明激进的 token 缩减可以在视觉编码器内部执行。
- 可扩展性:通过降低 ViT 内部的计算瓶颈,该方法使得能够处理超高分辨率输入的可扩展多模态基础模型成为可能。
- 适度范围:作者承认,他们当前的模块使用固定的、均匀的下采样率。他们指出,未来的工作可以探索动态的、内容感知的 token 缩减机制(例如,将更多 token 分配给文本密集区域),并且最优的插入深度可能因不同的骨干网络架构而异。
总之,LLaVA-UHD v4 表明,通过重新思考视觉 token在哪里以及如何被压缩,可以在保持高级多模态任务所需的细粒度感知能力的同时,实现显著的计算节省。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。