Just MLPs: Efficient Visual State Reconstruction for Multimodal Language Models
Jingdi lei, Junxian Li, Di Zhang, Zhanqiu Zhang, Yiwen Guo, Soujanya Poria
cs.CV, cs.AI
2026-09-28
用低秩MLP按层重建视觉KV、不丢token,Qwen3-VL-4B平均74.4,比5%剪枝高9.1分
多模态大模型处理高分辨率图和视频时,视觉编码器会吐出很长的 token 序列。这些 token 有两份工作:给文本当检索上下文,以及自己在 LLM 每一层当活跃状态,生成 query、吃 attention、过 FFN,把表示再改写成该层的视觉状态。序列一长,后一份工作会把推理成本抬得很高。
现有加速几乎都在砍序列长度:剪掉、合并、压缩「冗余」视觉 token。算力下来了,被扔掉的位置对后续层不可逆。高分辨率、多物体、视频里后几层才用得上的细节,剪完就没了。这篇把问题换成:token 全留着,能不能别让它们每层都走完整 Transformer。
支撑这个替换的是两组观测。把各层视觉 hidden 投到低秩子空间再重建,rank 远小于原 hidden 维时,下游精度大部分还在。再给每一层单独训一个 d→d→d 的轻量 MLP,用初始视觉 embedding 拟合该层演化后的状态,余弦相似度高、重建 MSE 低。层间视觉状态既扁,又可被小网络近似。
δ-Vision 据此把视觉 token 在 Transformer 里的演化,换成低秩适配器按层造视觉记忆。视觉编码器、projector、LLM 骨干全部冻结,只训适配器。
适配器是残差修正:输出仍是完整 d 维,修正量落在 rank 不超过 r 的子空间,上投影零初始化,从恒等映射开训。
记忆只当只读 KV。它过原层 LayerNorm 和冻结的 K/V 投影,文本 query 同时看视觉记忆和文本上下文。视觉 Q、视觉 attention 输出、视觉 FFN 全部跳过。该层记忆用完即弃,下一层由对应适配器重新生成,不跟文本 attention 回写。文本侧计算保持原样,包括因果 mask。
训练是 Supervised-KD:教师为原版 MLLM,学生为 δ-Vision,双方在同一条标准答案前缀上 teacher forcing,最小化答案位置的前向 KL。附录里它平均优于普通 SFT 和 on-policy 蒸馏,且没有 rollout 开销。
默认骨干是 Qwen3-VL-4B-Instruct,默认适配器是 Embedding。单图九项未加权平均如下。
| 方法 | 设置 | 平均分 |
| 原模型 | 100% token | 80.1 |
| DivPrune | 留 5% | 65.3 |
| LLaVA-Mini | 训练压缩,留 5% | 65.0 |
| EPIC | 训练压缩,留 5% | 66.9 |
| δ-Vision (Emb.) | 全留 token | 74.4 |
| δ-Vision (Rec.) | 全留 token | 75.4 |
74.4 相当于原模型的 92.9%,比 5% 留存里最强的 DivPrune 高 9.1 分,也略高于留 20% token 的最强剪枝。Recurrent 再抬 1.0 分。Embedding 分项:MMStar 54.4(原 64.9)、RWQA 62.9(原 71.2)、GQA 56.7(原 61.6)、MMB 84.5(原 87.5)、POPE 87.6(原 89.3)、SQA 82.3(原 93.3)、VQAv2 78.0(原 80.9)。SQA 掉 11.0 分,是单图里伤得最重的一项。
Video-MME 上相对未压缩模型,δ-Vision 用 17.90% FLOPs,总加速 1.30×,prefill 1.50×,峰值显存 12.97 GB,原模型是 12.94 GB。同一张表里 DivPrune 是 16.58% FLOPs、1.30× / 1.47×、10.60 GB。速度和 5% 剪枝同一档,显存没省下来,精度高一截。
换骨干、对照 5% 剪枝:LLaVA-1.5-7B 平均 61.9(原 65.6,DivPrune 59.8);Qwen3-VL-30B-A3B 78.6(原 82.7,DivPrune 71.3);Qwen3.5-4B 71.6(原 74.7,DivPrune 62.7)。三台都留住原模型约 94% 到 96% 的分数。Qwen 系上对剪枝的优势比 LLaVA-1.5 更大。
多图和视频三项 MuirBench、Video-MME、MVBench:只在单图数据上训,平均 49.5;补多图和视频数据后到 52.0,超过 5% 剪枝最强的 50.2。单图配方在 MuirBench 上只有 40.7,低于 DivPrune 的 46.1。全留 token 并不自动解决跨图对齐。
把视觉到文本的影响压到低维再往后续层传:Qwen3-VL-4B 全层切断后,RWQA 从 71.2 掉到 46.1,MMStar 从 64.9 掉到 25.6;只还原 128 个方向就回到 70.7 和 64.6。中间 10 层(第 13 到 22 层)最敏感,前 5 层和最后 10 层几乎不痛。未改动模型里,视觉 attention 输出的 r95 在 Qwen3-VL-4B 上为 38.0 到 103.5。
MLLM 推理加速多了一根轴:不缩短序列,改压缩视觉状态的生成方式。细粒度空间证据还在位置上,适合剪枝容易误伤的高分辨率、多目标、长视频。适配器轻、骨干冻着,多训一小截就能接到现成模型上。
速度没有赢过 5% 剪枝,显存几乎等于原模型,因为视觉 KV 位置一个没少。它是精度优先、接受显存不降的替代方案,谈不上全面压过剪枝。附录提到可以和 DART、DivPrune 合用,主文没把合用数字放进主表。
若剪枝总在细粒度题上掉点,可以改走这条通路:证据留下,用低秩修正拟合各层视觉记忆。
主文没有独立 Limitations 节,缺口得从表格里读。
精度仍低于原模型。Qwen3-VL-4B 上 Embedding 74.4、Recurrent 75.4,对 80.1 还差 5.7 到 7.1 分。SQA 从 93.3 掉到 82.3,科学问答对层间视觉演化更敏感,低秩残差可能不够。
主对比对象多数是 training-free 剪枝,δ-Vision 要额外蒸馏,对照不完全对称。即便比同样要训的 LLaVA-Mini、EPIC 高 7.5 到 9.4 分,主表也没放 EE-MLLM 这类只去视觉自注意力的方法。
视觉记忆对文本只读,层内没有从文本到视觉的回写。需要图文共同改写视觉状态的任务,主文没测。单图配方已经在 MuirBench 上输给剪枝。
可预测性实验用的是每层满秩 d→d→d MLP,上线是低秩瓶颈适配器,两套不是同一个东西。瓶颈秩 r 写在附录,主文没给。
峰值显存 12.97 GB,略高于原模型 12.94 GB。瓶颈如果是显存,这篇帮不上忙。总加速 1.30× 低于 prefill 的 1.50×,解码阶段仍要读完整视觉 KV,长输出场景收益会再缩一截。