SCOPD: Sparse-Context On-Policy Self-Distillation for Efficient Vision-Language Models
Ahmadreza Jeddi, Enming Zhang, Jasper Gerigk, Hakki Karaimer, Mozhgan Nasr Azadani, Jiayun Luo, Minh Ngoc Le, Gholamali Aminian, Hugo Buurmeijer, Yongchao Chen, Leonid Sigal, Igor Gilitschenski, Konstantinos G. Derpanis, Marco Pavone, Babak Taati
cs.CV
2026-09-28
把视觉token剪到10%后,同一稀疏上下文上Pass@64从greedy的53.2%回到79.6%,纯文本对照几乎不动。SCOPD+用全图教师只蒸馏视觉敏感位置,13项均值从Vanilla的86.37%升到92.43%。
推理视觉语言模型把图像和视频编成成百上千个 visual token,语言模型 prefill 因此很贵。免训练的 token 剪枝能把视觉上下文砍得很短,但压得太狠时分数会掉一截。常见说法是:任务相关的视觉信息被不可逆地删掉了。
固定上下文的 Pass@K 实验说明这个说法不完整。500 道无剪枝 greedy 就能做对的自由数值题,用 VisionZip 一次剪到 10% token,然后在同一套稀疏视觉表示上反复采样。greedy 成功率掉到 53.2%,Pass@64 回到 79.6%,其中至少 4 条有效轨迹的比例是 74.20%;去掉图像的纯文本对照只从 2.8% 升到 4.2%。剪枝结果全程锁死,找回的轨迹不是碰巧抽到更好的 token 子集。视觉证据还在,语言模型只是用不稳。论文把这个错位叫做 representation-utilization gap:表征还够,利用不稳。
应对办法是改语言模型,让它学会在部署时的稀疏视觉上下文里推理,剪枝器继续用现成的免训练算子。
SCOPD(Sparse-Context On-Policy Self-Distillation)走 on-policy 自蒸馏。学生只看见剪枝后的视觉 token,自己滚出带 think / answer 标签的推理轨迹;教师看见完整视觉上下文,对同一前缀做 token 级前向 KL。自回归每一步都依赖学生已经写出的字,教师必须打学生轨迹上的前缀,否则监督会对错状态。教师是学生参数的指数滑动平均,衰减 0.9999,不需要标准答案或现成思维链,不改结构,推理也不加计算。
教师-学生 KL 大,不一定表示这个位置缺视觉。换同义词、改大小写、换行,KL 也会很高。SCOPD+ 加一次很小的视觉预算干预:学生在预算 b 滚轨迹,再在 b+δ(默认 δ=1%)上对同一前缀打分,用 Jensen-Shannon 散度量两个下一 token 分布差了多少,只蒸馏最敏感的 ρ=10% 位置。JSD 对称、有上界,比较「多给一点视觉会不会改主意」更稳。反向传播因此只走回复里的一小段。
训练设定很克制:基座 Qwen2.5-VL-7B-Instruct,只给语言模型加 LoRA(r=16,α=32),视觉编码器和 multimodal projector 冻结;大约 1 万条来自 LLaVA-CoT 的图问对;默认剪枝器 VisionZip,训练预算 10%。对照包括同一稀疏上下文上的 SFT、渐进一致性蒸馏 EPIC,以及用结果奖励优化同一批稀疏轨迹的 GRPO。
主表覆盖 13 个图像 benchmark。Avg13 是各榜相对无剪枝 Vanilla 归一化后再平均。图像输入上限 4096 个视觉 token;视频均匀采 32 帧、上限 12288。答案从 answer 标签抽取,字面匹配含糊时用 Qwen3.6-27B 做语义对拍,只判最终答案。
| 方法 | 10% 保留 Avg13 | 20% 保留 Avg13 |
| Vanilla | 86.37% | 93.42% |
| SFT | 88.82% | 95.22% |
| EPIC | 86.45% | 94.71% |
| GRPO | 85.73% | 93.95% |
| SCOPD | 90.49% | 96.80% |
| SCOPD+ | 92.43% | 97.25% |
100% 全上下文时,SCOPD 和 SCOPD+ 分别是 100.67% 和 100.02%,基座几乎没被抬高。增益随视觉预算变紧而变大,更像在学怎么用剩下的像素。
10% 预算下 SCOPD+ 相对密蒸馏 SCOPD 在 13 项里赢 8 项、平 2 项。相对 SCOPD,LogicVista 从 34.68 到 38.26,MathVerse 从 30.46 到 33.38,VisOnlyQA 从 42.09 到 43.65,HRBench-4K 从 63.75 到 66.00。相对未后训练的 Vanilla,MathVerse 从 26.90 到 33.38(无剪枝 42.39),VisOnlyQA 从 40.35 到 43.65(无剪枝 44.70)。SFT 在 HRBench-4K 上到 68.00,高于 SCOPD+ 的 66.00,但 13 项均值仍是 88.82%。GRPO 掉到 85.73%,低于 Vanilla。
选择哪些位置蒸馏,不是少反传就自动变好。同样只留 10% 回复 token:随机选 Avg6 93.56,最大 KL 94.51,TIP 94.21,最不敏感的位置掉到 89.13,按视觉敏感度选到 95.25,密蒸馏 SCOPD 是 94.44。
只在 VisionZip 上训、评测时不改权重,也能转到别的剪枝器:DivPrune 从 83.47% 到 91.23%,随机剪枝从 82.06% 到 88.85%,在语言模型内部剪的 FastV 从 81.47% 到 86.03%。Qwen3-VL-4B 同样 10% 设置,六项均值从 75.29% 回到 SCOPD 的 81.6%、SCOPD+ 的 82.92%。纯图像后训练、零视频微调,五个视频基准均值从 90.88% 到 95.70% / 96.60%。压到只留 5% 时,八项均值 Vanilla 75.99%,SCOPD 83.63%,SCOPD+ 83.66%。
对要部署推理 VLM 的人,这是一条便宜的后训练路径:剪枝器可以继续用现成免训练方案;适配只动 LLM LoRA,推理时不加采样、不加模块。SCOPD 和 SCOPD+ 都不吃思维链标注。SCOPD+ 训练时多一次稀疏前向,论文报理论算力比 SCOPD 高 21.4%,实测时间只多 1.9%,峰值显存几乎不变。
诊断本身也有用。剪枝掉分不能默认写成「信息没了」。固定稀疏上下文上 Pass@K 还能爬,说明一部分失败是解码用不稳。后训练可以把还在的证据用稳,不必只盯着换一个更聪明的 token 选择器。
这仍是渐进改进。10% 预算下 SCOPD+ 也只回到无剪枝的 92.43%,MathVerse 离 42.39 还差一截。稀疏适应补得了利用,补不了被剪没的细节。
论文自己划的边界:训练时主剪枝器是 VisionZip,预算固定;虽然能转到别的算子,动态剪枝、层内自适应、联合学习压缩策略都还没做。评测以短问答图像和均匀采样 32 帧的视频为主,长视频、具身和 agent 任务会不会在时间轴上把还在的证据再弄丢,没有验证。
Pass@K 诊断集是 500 道无剪枝 greedy 已做对的自由数值题,不是官方全量榜。79.6% 说的是「原本会的题,剪完还能不能采样回来」,不是剪完模型整体有多强。有效性还靠 GPT-6-Astra-Max 判断推理是否视觉接地,裁判偏差会直接进这个数字。
主实验基座几乎都是 Qwen2.5-VL-7B,Qwen3-VL 只测了 4B 和六项子集。教师如果直接用当前学生权重,Avg13 崩到 12.35,EMA 是硬前提。5% 时 SCOPD 和 SCOPD+ 几乎打平,选择性蒸馏在信息真被剪没之后帮助有限。主评测用 greedy,诊断用温度 0.7 采样。