动态门控让每层语言模型自选视觉粒度,LLaVA-7B 科学问答提升 4.2

Where to Connect? Boosting MLLMs via Dynamic Gated Pathways across ALL ViT and LLM Layers

Yingying Yan, Jiaqi Tang, Wei Wei, Qianzhou Wang, Lei Zhang, Jianmin Chen, Yuyang Xia, Botong Geng, Jinjian Wu, Qifeng Chen

NeurIPS 2026)

cs.CV

2026-11-05

DGP 让 LLaVA-1.5 的每一层语言模型按自身隐藏状态,给全部 24 层 ViT 分配路由权重并做残差注入,7B 上科学问答从 66.8 升到 71.0,MM-Vet 从 30.5 升到 33.8,参数量增加 5.29%。

这篇在解决什么

主流多模态大模型把图像送进视觉编码器之后,只把最后一层或倒数第二层交给语言模型。编码器通常是 CLIP 的 ViT,把图像切成小块再逐层编码的 Transformer。浅层的边缘、纹理和中层物体结构,就在这次交接里丢掉了。语言模型各层所处的语义状态不同,要的视觉粒度也不一样。固定接一层,所有解码深度只能共用同一份视觉摘要。

后来的多层方案仍把连线做死。进语言模型之前把多层特征揉成一个表示,适应过程在解码开始前就结束了。稀疏或层级连线则事先画好:DeepStack 按固定日程分发视觉 token,CLI 只在抽样 ViT 层和指定注入点做门控。层与层的全组合没有进入训练。

方法

DGP(Dynamic Gated Pathways,动态门控通路)让每一层语言模型看着自己的隐藏状态,给全部 ViT 层打一套权重,再把融合结果注回这一层。视觉塔冻结。CLIP-ViT-L/14-336 有 24 层,每层取 [CLS] token 当摘要。[CLS] 是 ViT 中汇总整图的特殊 token,用来代表这一层的粒度。摘要映射到语言隐空间后,作为所有语言层共享的 key 和 value。

查询是一枚 glimpse token,一个插在首个回答 token 前的可学习向量。因果注意力让它看见前面的全部图文,所以各层在这个位置的隐藏状态,就是解码到这里时上下文长什么样。共享的多头交叉注意力把该状态和 24 个层摘要对齐,再送入该层私有的路由网络,隐层宽 1024,经 softmax 得到 24 维权重。共享的交叉注意力让每一层用同一标准比较视觉层,私有的路由网络才给出这一层的偏好。权重沿空间位置共享:同一层语言对每个图像块用同一套层间配比,按位置把各层 patch 加权求和,并用该层自己的投影器投回语言维度。

写回是带门的残差。门由可学习标量经过 sigmoid,初值 0.3,避免一开始盖掉原有视觉隐藏状态。只改视觉 token,文本 token 不动。

训练照 LLaVA-1.5:预训练 558K,指令微调混合 665K,各一个 epoch,AdamW,学习率 1e-3 和 2e-5。语言模型和新增模块一起更新。预训练加熵正则,系数 0.01,把一个 batch 的平均路由从少数层上推开;指令微调时系数改为 0,路由可以按任务收窄。

结果

对照是同配方的 LLaVA-1.5,骨干为 Vicuna。7B 主要变化如下。

基准LLaVA-1.5-7BDGP-7B变化
SQA-IMG66.871.0+4.2
MM-Vet30.533.8+3.3
VizWiz50.053.1+3.1
LLaVA-Wild63.466.5+3.1
GQA62.064.6+2.6
POPE85.987.0+1.1

在已经报告分数的同骨干多层方法里,DGP 在 GQA、SQA-IMG、SEED(61.5)、LLaVA-Wild、MM-Vet 和 MMBench 中文(60.5)上分数最高。也有更高的对照:VQAv2 上 Sparse Shortcuts 为 80.0,DGP 为 79.7;VizWiz 上 IGVA 为 54.3,DGP 为 53.1;POPE 上 IGVA 为 87.8,DGP 为 87.0;MMBench 英文上 MMFuser 为 67.5,DGP 为 66.7;SEED^I 上 IGVA 为 68.3,DGP 为 67.5。

13B 上 VizWiz 从 53.6 到 57.4,MM-Vet 从 35.4 到 37.5,GQA 从 63.3 到 65.5。LLaVA-Wild 从 70.7 降到 70.0,同表里 MMFuser 为 71.8。换到 Qwen3-VL-2B(SigLIP2 配 Qwen3-1.7B)和 LLaVA-NeXT 时,都用 558K 加 665K 重训,不是各自原来的训练配方。前者 GQA 从 63.9 到 65.4,SQA-IMG 从 85.3 到 86.9;后者 SQA-IMG 从 69.5 到 72.3,MMBench 从 66.5 到 68.7。

消融说明涨点来自挑选。24 层一视同仁地平均后,GQA 掉到 60.2,MM-Vet 掉到 25.3,MMBench 中文掉到 44.9,都低于单层基线。只开门控、不加熵正则时,SQA-IMG 为 70.5,MM-Vet 为 32.4;两项都加上后才到 71.0 和 33.8。

7B 参数从 6759.4M 增到 7117.3M,增加 5.29%,FLOPs 增加 4.07%,峰值显存从 15.51GB 到 15.49GB。13B 参数增加 4.27%,显存增加 4.13%,报告的 FLOPs 少了 0.07%。

路由没有死守最后一层,也没有退回均匀平均,中间 ViT 层被选中最频繁。7B 的语言第 1 层偏向浅层到中层,第 20 层偏向浅层,第 22 层偏向中深层,第 32 层偏向深层。同一张图,问颜色和小区域时权重靠前,问历史意义时权重靠后。

为什么重要

数据不动,视觉塔继续冻结,7B 多出约 5% 的参数,科学问答和 MM-Vet 能多出三个点以上。均匀平均会掉点,能用的是跟着语言状态走的选择。

相对 LLaVA-1.5,7B 提升稳定。相对 MMFuser、IGVA、Sparse Shortcuts 这几家,领先集中在部分基准,感知和抗幻觉项上多是持平或落后,13B 的 LLaVA-Wild 还会退步。更适合看成对注入方式的渐进修改。

局限与存疑

论文没有单列局限。

全连接只在层与层之间。查询是每层一个 [CLS] 摘要,所有图像块共用这组层权重。模型可以随解码深度和问题更换粒度,做不到一张图里背景走浅层、主体走深层。glimpse token 只有一枚,路由问句是整段上文的压缩。

Qwen3-VL-2B 和 LLaVA-NeXT 的实验都用 LLaVA 的数据重训一轮,只说明模块搬得动。那个 Qwen3 配置的 GQA 停在 65.4,推不到现在的强多模态模型。

13B 参数变多后 FLOPs 略降,文中没有解释,更像测量抖动。生成速度没有报告。路由分析停在热力图,没有统计分散程度和单题对错的关系。图 4 里的菜单计算和步骤识别幻觉少一些,例子是挑过的。

术语

原文与代码

社区讨论

相关论文

全部论文解读