跳转至

AVG-LLaVA: An Efficient Large Multimodal Model with Adaptive Visual Granularity

会议: ACL 2025
arXiv: 2410.02745
代码: GitHub
领域: 多模态VLM
关键词: 自适应视觉粒度, 视觉token压缩, MoE路由, RGLF训练, LLaVA-NeXT

一句话总结

在 LLaVA-NeXT 上增加视觉粒度缩放器(空间金字塔池化获取多级粒度 token)和视觉粒度路由器(基于图像+指令自适应选粒度),并提出 RGLF 训练范式用 LMM 自身的生成概率作为反馈来训练路由器,在 11 个基准上实现"减少 token 反而提升性能"的效果。

研究背景与动机

领域现状:高分辨率 LMM(如 LLaVA-NeXT、Monkey 等)为了处理高分辨率图像,通常将图像切分为多个局部图像分别编码,再与全局图像 token 拼接送入 LLM。这种做法虽然提升了细粒度感知能力,但代价是视觉 token 数量暴增——例如一张 672×672 的图像在 LLaVA-NeXT 中会产生 2880 个视觉 token。

现有痛点:这些视觉 token 中存在大量冗余。认球衣号码需要细粒度,但问球衣颜色只需粗粒度——现有方法对所有图像-问题对都使用同样多的视觉 token,既浪费计算资源,冗余信息还可能干扰 LLM 的推理。已有的 token 压缩方法(如 FastV 剪枝、LLaVA-PruMerge 合并)虽然能减少 token 数量,但往往伴随性能下降;LLaVA-M3 虽支持多粒度,但需要手动指定粒度级别。

核心矛盾:视觉 token 数量与任务需求之间的不匹配——固定粒度策略无法同时满足"简单问题少用 token 加速推理"和"复杂问题保留细粒度信息"这两个需求。

本文目标 (1) 如何自动根据输入图像和用户指令选择合适的视觉粒度?(2) 如何有效训练这个粒度选择器——直接用视觉指令微调无法学到粒度区分能力?

切入角度:借鉴人类视觉认知——"难题仔细看,简单题扫一眼"。将不同粒度的视觉特征类比为 MoE 中的不同专家,用路由器根据图像和指令动态选择最合适的"专家"(粒度级别)。

核心 idea:用 MoE 风格的路由器根据图像+指令自适应选择视觉粒度,并通过 LMM 自身的生成概率反馈来训练路由器的粒度偏好排序。

方法详解

整体框架

AVG-LLaVA 在 LLaVA-NeXT 的基础上新增两个模块:(1) 视觉粒度缩放器(Visual Granularity Scaler)通过多级池化获得不同粒度的视觉 token;(2) 视觉粒度路由器(Visual Granularity Router)根据图像和指令自适应选择最合适的粒度。整体流程为:图像 → 视觉编码器(CLIP ViT-L/14)→ 视觉粒度缩放器(生成 5 级粒度 token)→ 视觉粒度路由器(选择 1 个粒度)→ 选中粒度的 token 送入 LLM 生成回答。训练分两阶段:先让模型学会处理多粒度视觉信息,再用 RGLF 训练路由器。

关键设计

  1. 视觉粒度缩放器(Visual Granularity Scaler):

    • 功能:将原始视觉 token 变换为多个粒度级别的 token 序列
    • 核心思路:采用空间金字塔池化设计,交替堆叠 1×2 和 2×1 平均池化层。以 CLIP ViT-L/14(输出 24×24 grid)为例,依次获得 24×12(288 token)、12×12(144 token)、12×6(72 token)、6×6(36 token)四级更粗的粒度,加上原始的 24×24(576 token),共 5 级粒度。这种交替池化方式在减半 token 数量的同时尽量保留空间布局信息
    • 设计动机:无需训练参数,纯操作性的模块,利用金字塔结构自然获得由细到粗的多级视觉表示,为后续路由器提供候选粒度
  2. 视觉粒度路由器(Visual Granularity Router):

    • 功能:根据输入图像和用户指令,从 5 个粒度级别中选择最合适的一个
    • 核心思路:受 MoE 启发,将不同粒度视觉特征视为不同专家。路由器包含三层结构——首先将所有粒度的视觉 token 展平拼接为 \(\bar{X}_v = [X_v^1; X_v^2; \ldots; X_v^N]\),同时计算指令 token 与原始粒度视觉 token 的余弦相似度,保留 top-\(k\)\(k=32\))最相关的指令 token \(\bar{X}_{\text{instruct}}\)。然后将视觉 token 和过滤后的指令 token 拼接,送入一个 Transformer 层进行跨模态融合。接着 MLP 对每个 token 预测粒度 logits \(Z_{\text{out}} \in \mathbb{R}^{L \times N}\)。最后一个可学习权重矩阵(Voter)\(W \in \mathbb{R}^{1 \times L}\) 对所有 token 的预测进行加权聚合,得到最终 logits \(Z_{\text{final}} \in \mathbb{R}^{1 \times N}\),softmax 后选概率最高的粒度
    • 设计动机:不同于传统 MoE 用简单线性层做路由,这里需要同时考虑图像内容和指令语义,因此使用 Transformer 层做跨模态融合。top-\(k\) 过滤指令 token 是为了剔除噪声(过多/过少指令 token 都会影响性能,实验显示 \(k=32\) 最优)。Voter 层的设计让每个 token 的预测按学习到的重要性加权,而非简单平均
  3. RGLF 训练范式(Ranking Granularity based on LMM Feedback):

    • 功能:有效训练路由器学习区分不同粒度的优劣,选择最合适的粒度
    • 核心思路:冻结除路由器外的所有模块。对每个训练样本,分别用 5 个粒度的视觉 token 让 LMM 生成回答,计算各粒度下的答案 log 概率作为反馈信号。按 log 概率降序排列粒度,然后用排序损失 \(\mathcal{L}_{\text{rank}} = \sum_{i} \sum_{j>i} \max(0, s_j - s_i + \lambda_{ij})\) 对齐路由器概率与 LMM 偏好,其中 margin \(\lambda_{ij}\) 根据两个粒度间的 log 概率差动态调整。同时加上交叉熵损失 \(\mathcal{L}_{\text{ce}}\) 让路由器学习直接预测 LMM 最偏好的粒度。总损失为 \(\mathcal{L}_2 = \mathcal{L}_{\text{rank}} + \alpha \mathcal{L}_{\text{ce}}\)\(\alpha = 0.1\)
    • 设计动机:直接用视觉指令微调(通过 Gumbel-Softmax 反向传播)训练路由器效果很差,因为路由器无法从端到端训练中学到不同粒度之间的区分能力。RGLF 的关键洞察是:LMM 本身就知道哪个粒度更适合当前样本(通过生成概率体现),因此可以利用 LMM 的反馈作为"监督信号"来训练路由器。排序损失确保路由器学会粒度间的相对偏好顺序,交叉熵损失确保能选出最优粒度,两者互补

损失函数 / 训练策略

Stage 1 - 多粒度视觉指令微调:训练视觉编码器、连接器和 LLM,使用 1M 图文对。对每个样本分别用 \(N\) 个粒度的视觉 token 做 next-token prediction,损失为所有粒度上的交叉熵均值 \(\mathcal{L}_1 = -\frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \log P(x_t | X_v^i, X_{\text{instruct}}, X_{a,<t})\)。这一阶段让模型学会在不同粒度下都能理解图像。

Stage 2 - RGLF 路由器训练:冻结其他模块,只训练路由器。使用相同的 1M 数据,学习率设为 1e-3(远高于 Stage 1 的 1e-5),总训练开销约 14 小时(8×H800),仅为 Stage 1(65 小时)的 1/5。

实验关键数据

主实验

基准 类型 LLaVA-NeXT AVG-LLaVA 提升
GQA 通用VQA 64.2 63.0 -1.2
ScienceQA 通用VQA 70.1 71.1 +1.0
VizWiz 通用VQA 57.6 59.8 +2.2
TextVQA 文本VQA 64.9 67.1 +2.2
ChartQA 文本VQA 54.8 66.3 +11.5
DocVQA 文本VQA 74.4 74.6 +0.2
AI2D 文本VQA 66.6 67.3 +0.7
MME 多模态 1519.0 1557.4 +38.4
MMB 多模态 67.4 69.9 +2.5
POPE 多模态 86.5 87.4 +0.9
MMMU 多模态 35.8 37.4 +1.6

效率对比(AVG-LLaVA vs LLaVA-NeXT):

基准 Token 减少比例 推理加速
AI2D 85.3% 2.53×
MME 69.3% 1.19×
ScienceQA 54.9% 1.41×
GQA 80.0% 1.14×
VizWiz 26.4% 1.77×
MMMU 30.0% 1.87×

消融实验

配置 ScienceQA ChartQA MME MMB
AVG-LLaVA (完整) 71.1 66.3 1557.4 69.9
固定粒度代替自适应 70.0 66.4 1554.5 68.7
随机选择代替路由器 69.7 56.8 1535.7 67.9
路由器仅用图像(去掉指令) 70.1 53.9 1525.2 69.0
减少粒度范围 69.8 65.3 1547.7 66.3
用指令微调训练路由器 70.5 50.9 1514.8 68.6
去掉排序损失 70.1 64.8 1534.6 68.6
去掉交叉熵损失 70.2 66.3 1550.8 69.4

关键发现

  • 指令信息对路由至关重要:去掉指令 token 后 ChartQA 暴跌 12.4 分,说明同一张图对不同问题确实需要不同粒度
  • RGLF 远优于端到端训练:用 Gumbel-Softmax 做视觉指令微调来训练路由器,ChartQA 只有 50.9(比 RGLF 低 15.4 分),说明路由器很难通过端到端梯度学到粒度区分
  • 排序损失比交叉熵损失更关键:去掉排序损失后 MME 下降 22.8,去掉交叉熵损失仅下降 6.6。排序损失提供了粒度间的相对偏好信号,仅靠 CE 学到的是"最优粒度"但缺乏全局排序能力
  • 中间粒度虽然很少被选中,但不能删除:72 和 288 token 的粒度虽然占比极低,但移除后性能下降,说明它们帮助模型渐进式学习不同粒度的差异
  • 文本密集型任务倾向细粒度:TextVQA/ChartQA/DocVQA 中路由器主要选择最细粒度(576 token),而 AI2D/MMMU 等概念性任务倾向粗粒度(36 token),行为符合直觉

亮点与洞察

  • 减少冗余 token 反而提升性能:这是最反直觉的发现。AVG-LLaVA 在 AI2D 上只用 14.7% 的 token 就超过了 LLaVA-NeXT,说明过多的视觉 token 实际上会引入噪声干扰 LLM 推理。这个发现对整个 MLLM 效率研究方向有重要指导意义
  • RGLF 训练范式是核心贡献:利用 LMM 自身的生成概率作为排序信号来训练路由器,巧妙地避免了"需要人工标注每个样本应该用什么粒度"的问题。这种"用模型自身反馈训练辅助模块"的思路可以迁移到其他需要离散选择的场景(如 MoE 专家选择、检索增强中的文档选择等)
  • 动态 margin 设计:排序损失中的 margin \(\lambda_{ij}\) 不是固定的,而是根据 LMM 在不同粒度下的 log 概率差自动计算,让惩罚程度与粒度差异成正比,避免对差异很小的粒度对施加过大的分离力

局限与展望

  • 粒度级别跳跃过大:每次池化直接减半 token 数,导致相邻粒度间差距大(576→288→144→72→36)。在文本密集型任务上路由器几乎只选 576,说明没有足够细的中间粒度可选。设计更平滑的粒度缩放网络(如可变步长池化)可能有帮助
  • 两阶段训练增加开销:Stage 1 需要对每个样本用所有 5 个粒度分别前向传播,训练成本约为单粒度的 5 倍。虽然 Stage 2 很快(14 小时),但能否将两阶段合并为交替训练值得探索
  • 仅验证了 LLaVA-NeXT 架构:是否能推广到 InternVL、Qwen-VL 等其他架构?路由器设计是否需要针对不同架构调整?
  • 路由器参数量小但推理有额外开销:虽然仅增加 1.66% 参数量,但需要先生成所有粒度的 token 再选择一个,在推理时所有粒度的缩放仍然要执行

相关工作与启发

  • vs FastV/VTW(token 剪枝):FastV 在第 2 层 decoder 后按注意力分数剪枝 50% token,VTW 更激进地在某层后删除所有视觉 token。这些方法是"编码后再删",容易丢失关键信息;AVG-LLaVA 是"编码前就选好粒度",保留了所选粒度的完整空间结构
  • vs LLaVA-PruMerge(剪枝+合并):PruMerge 用 class token 相似度来决定保留/合并哪些 token,是静态策略不考虑指令;AVG-LLaVA 的路由器同时看图像和指令,能根据问题动态调整
  • vs LLaVA-M3 / MQT-LLaVA(多粒度):LLaVA-M3 支持多粒度但需要用户手动指定;MQT-LLaVA 用嵌套 dropout 训练兼容多粒度。AVG-LLaVA 的优势在于自动选择+RGLF 训练对齐,无需人工干预
  • RGLF 与 RLHF 的类比:RGLF 本质上是从 LMM 获取偏好信号来训练路由器,类似 RLHF 从人类偏好训练奖励模型。不同之处在于 RGLF 的偏好信号是客观的 log 概率而非主观标注,更稳定

评分

  • 新颖性: ⭐⭐⭐⭐ 自适应粒度选择思路直觉但有效,RGLF 训练范式是亮点;但粒度缩放器本身较简单
  • 实验充分度: ⭐⭐⭐⭐⭐ 11 个基准全面覆盖,消融实验涵盖 7 个维度,路由可视化和注意力图分析深入
  • 写作质量: ⭐⭐⭐⭐ 动机清晰,方法描述层次分明,架构图和可视化丰富
  • 价值: ⭐⭐⭐⭐ 对 MLLM 推理效率有直接实用价值,RGLF 范式可迁移;但仅在 7B 规模验证,缺少更大模型的验证