多模态大模型中高分辨率处理trick-通过自适应路由选择模块动态选择合适粒度

大模型机器学习图像处理

前期几篇内容介绍了原生分辨率及相关评估:《多模态大模型中图像分辨率packing策略及原生分辨率NaViT的部分结论》和《多模态大模型中不同分辨率策略研究与原生分辨率的有效性评估》,再来看一个关于多模态大模型处理不同分辨率的trick,提到现有多模态大模型在处理高分辨率图像时,因固定划分图像为全局和局部区域导致视觉token数量过多、推理效率低下,且无法根据任务需求自适应调整视觉粒度的问题。因此提出通过视觉粒度缩放器生成多粒度视觉token,并利用视觉粒度路由器结合图像和指令动态选择合适粒度。

方法

AVG-LLaVA模型结构主要在LLaVA-NeXT的基础上新增了两个核心模块:视觉粒度缩放器视觉粒度路由器 ,整体架构如下图:

picture.image

视觉粒度缩放器

  1. 多粒度特征生成 :token采用空间金字塔池化思想,通过堆叠1×2和2×1的平均池化层,逐步降低视觉token数量(每次减半),生成从细到粗的多粒度视觉特征。 例如,对于CLIP-ViT-L-336编码的24×24token网格,通过缩放器可生成24×12、12×12、12×6、6×6等不同粒度的token。
  2. 优点 :无需额外训练即可生成多粒度特征,同时保留空间信息,为后续动态选择提供基础。

视觉粒度路由器

路由器基于输入图像和指令,从多粒度特征中选择最合适的粒度,结构借鉴MoE,包含三个子层:

  1. 输入处理
  • 拼接所有粒度的视觉token,形成多粒度视觉token

为粒度数量)。

  • 筛选指令token:计算原始指令token

与原始粒度视觉token的余弦相似度,保留Top-k个最相关的指令token

  • 特征融合与预测
  • Transformer层 :融合多粒度视觉token与筛选后的指令token,增强跨模态交互。
  • MLP层 :对每个融合后的token预测粒度类别,输出logits

为token总数)。

  • 投票层 :通过可学习权重矩阵

聚合所有token的logits,得到最终logits

,再通过softmax计算粒度选择概率分布。

  • 输出
    选择概率最高的粒度对应的视觉token输入到LLM进行推理。

训练方法简述

picture.image

各粒度视觉 token 与指令 token连结后,由 LMM 处理以估算相应奖励。视觉粒度路由器依据 LMM 反馈优化粒度选择。

AVG-LLaVA的训练分为两个阶段,采用多阶段训练策略:

  • 阶段1:多粒度视觉指令微调
    训练视觉编码器、视觉-语言连接器和LLM,使其具备处理N种不同粒度视觉特征的能力。通过不同粒度的视觉token进行下一个token预测,仅对回答部分应用交叉熵损失,让模型学习感知和处理多粒度视觉信息。
  • 阶段2:基于LMM反馈的粒度排序(RGLF)
    冻结其他模块,仅训练视觉粒度路由器。利用LLM对不同粒度视觉token生成回答的log概率作为反馈,通过排序损失使路由器对更优粒度赋予更高评分,并结合交叉熵损失让路由器学习LLM偏好的最优粒度,最终通过加权求和得到总损失,实现路由器与LLM偏好的对齐,无需额外人工标注数据。

实验

picture.image

picture.image

AVG-LLaVA: An Efficient Large Multimodal Model with Adaptive Visual Granularity,https://arxiv.org/pdf/2410.02745v3

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
VikingDB:大规模云原生向量数据库的前沿实践与应用
本次演讲将重点介绍 VikingDB 解决各类应用中极限性能、规模、精度问题上的探索实践,并通过落地的案例向听众介绍如何在多模态信息检索、RAG 与知识库等领域进行合理的技术选型和规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论