ResPrune: Text-Conditioned Subspace Reconstruction for Visual Token Pruning in Large Vision-Language Models
论文笔记:ResPrune: Text-Conditioned Subspace Reconstruction for Visual Token Pruning in Large Vision-Language Models
元信息
| 项目 | 内容 |
|---|---|
| 机构 | Fudan University 等 |
| 日期 | March 2026 |
| 项目主页 | — |
| 对比基线 | SCOPE, DART, DivPrune, FastV, ToMe, PruMerge, VisionZIP |
| 链接 | arXiv |
一句话总结
将视觉 token 剪枝建模为子空间重建问题,通过残差能量引导的贪心扩展结合文本条件实现 training-free 的高效 LVLM 推理
核心贡献
子空间重建视角: 首次将 视觉 token 剪枝 形式化为子空间重建问题,用 正交投影 残差能量衡量 token 的信息增量
文本条件调制: 引入基于 余弦相似度 的文本相关性门控,使剪枝结果自适应于不同查询指令
Training-free + FlashAttention 兼容: 无需重训练、无需 LLM 注意力提取,与 FlashAttention 完全兼容
问题背景
要解决的问题
大型视觉语言模型 中视觉 token 数量巨大(如 LLaVA-NeXT 2880 个),导致 自注意力 和 KV-Cache 开销极大
需要在保持性能的前提下大幅减少视觉 token 数量
现有方法的局限
基于注意力的方法(FastV、PDrop):依赖 LLM 内部注意力分数,存在位置偏置(position bias),且倾向于聚集在显著区域丢失全局覆盖
跨模态注意力方法:需要提取 LLM 注意力矩阵,与 FlashAttention 等优化内核不兼容
多样性方法(DivPrune):任务无关(task-agnostic),对不同查询使用相同剪枝模式
本文的动机
将 token 选择看作在 token 嵌入空间中选择一组基向量的问题:选中 token 应尽可能重建完整视觉信息空间,同时优先覆盖与文本查询相关的区域
方法详解
模型架构
ResPrune 是一个 即插即用 的视觉 token 选择模块,插入在视觉编码器和 LLM 之间:
- 输入: 视觉 token + 文本 token
- 核心算法: Gram-Schmidt 正交化 驱动的贪心子空间扩展
- 输出: 选中的 个视觉 token ()
- 额外参数: 零(training-free)
核心模块
模块1: 子空间重建(Subspace Reconstruction)
设计动机: 将 token 选择转化为在 空间中寻找最优基向量集合的问题
具体实现:
- 定义选中 token 张成的子空间
- 优化目标:最小化重建误差 ,其中 是到子空间的 正交投影
- 每个 token 的 残差能量(residual energy) 衡量其对当前子空间的信息增量
- 贪心选择:每步选残差能量最大的 token
模块2: 文本条件调制(Text Conditioning)
设计动机: 纯子空间重建是任务无关的,需要引入指令信息使剪枝自适应于不同查询
具体实现:
- 文本预处理:移除指令模板,提取名词短语
- 计算文本相关性
- 门控函数 ()调制残差能量
- 最终选择准则:
模块3: 种子 Token 选择(Seed Token Selection)
设计动机: 贪心扩展需要一个初始 token 作为种子
具体实现:
- 有 CLS token 的模型(如 LLaVA 系列):选 CLS attention 最高的 token
- 无 CLS token 的模型(如 Qwen2.5-VL):选 -norm 最大的 token
- 消融实验验证了不同策略对结果影响有限
关键公式
公式1: 子空间重建目标
含义: 选 个 token 使其张成的子空间能最大程度重建所有视觉 token
符号说明:
- : 所有 个视觉 token
- : 到选中 token 子空间的正交投影矩阵
- : 保留的 token 数量
公式2: 残差能量
含义: 衡量 token 中不能被当前子空间表示的信息量
符号说明:
- : token 在子空间 上的正交残差
- : 残差能量,值越大表示该 token 携带越多新信息
公式3: 文本相关性
含义: 视觉 token 与所有文本 token 的最大余弦相似度(截断为非负)
符号说明:
- : 第 个视觉 token
- : 第 个文本 token
- : 余弦相似度
公式4: 文本条件贪心选择
含义: 用文本相关性调制残差能量,统一覆盖性(coverage)和相关性(relevance)
符号说明:
- : 门控函数, 控制文本引导强度
- 对 LLaVA 最优, 对 Qwen2.5-VL 最优
公式5: ResPrune 时间复杂度
含义: 文本相关性计算 + 贪心子空间扩展,当 时远小于 LLM 前向传播
符号说明:
- : 视觉 token 数量
- : 文本 token 数量
- : 嵌入维度
- : 保留 token 数量
公式6: LLM Prefill 阶段 FLOPs
含义: 剪枝将 token 数从 降至 ,FLOPs 近似二次方下降
符号说明:
- : FFN 中间维度
关键图表
Figure 1: 不同方法的剪枝行为对比
{:width 600}
说明: 对同一图像在不同文本查询下的 token 剪枝可视化。遮罩区域为被剪掉的 token,彩色边框高亮答案相关区域。可以看到:(1)基于注意力的方法(FastV)存在位置偏置;(2)基于多样性的方法(DivPrune)对不同查询给出相同的剪枝模式;(3)ResPrune 同时实现全局覆盖和查询自适应——针对不同问题保留不同区域的 token。
Figure 2: ResPrune 在不同 token 预算下的剪枝可视化
{:width 600}
说明: 在 LLaVA-1.5-7B 上,ResPrune 在不同视觉 token 预算(192/128/64)下的剪枝结果。红色边框标注答案相关区域。随着预算减少,ResPrune 仍优先保留关键信息区域,展示了良好的渐进性降级。
Table I: LLaVA-1.5-7B 性能对比
| Method | Rel. Perf. | MME | GQA | SQA-I | POPE | TextVQA | VizWiz | VQA-v2 | MMB-en | MM-Vet |
|---|---|---|---|---|---|---|---|---|---|---|
| LLaVA-1.5-7B (baseline) | 100% | 1862 | 61.9 | 69.5 | 85.9 | 58.2 | 50.0 | 78.4 | 64.7 | 31.3 |
| Retain 192 tokens (66.7% pruning) | ||||||||||
| ToMe | 89.9 | 1563 | 54.3 | 65.2 | 72.4 | 52.1 | 50.0 | 68.0 | 60.5 | 26.8 |
| FastV | 89.5 | 1612 | 52.7 | 67.3 | 64.8 | 52.5 | 50.8 | 67.1 | 61.2 | 27.7 |
| SparseVLM | 96.6 | 1721 | 57.6 | 69.1 | 83.6 | 56.1 | 50.5 | 75.6 | 62.5 | 31.5 |
| DART | 98.6 | 1856 | 58.9 | 69.8 | 82.8 | 57.4 | 51.1 | 76.7 | 63.6 | 31.5 |
| VisionZIP | 98.2 | 1767 | 59.3 | 68.9 | 85.3 | 57.8 | 50.9 | 76.5 | 63.0 | 31.7 |
| DivPrune | 97.9 | 1751 | 59.8 | 69.2 | 87.1 | 54.8 | 51.2 | 76.8 | 63.0 | 32.0 |
| SCOPE | 98.9 | 1804 | 60.1 | 68.8 | 86.4 | 57.7 | 51.0 | 76.9 | 63.6 | 32.5 |
| ResPrune | 99.4 | 1795 | 60.6 | 69.1 | 87.6 | 58.1 | 51.2 | 77.4 | 63.8 | 32.8 |
| Retain 128 tokens (77.8% pruning) | ||||||||||
| TRIM | 96.5 | 1743 | 58.4 | 68.6 | 85.3 | 52.2 | 51.6 | 75.4 | 63.0 | 29.9 |
| DART | 97.0 | 1845 | 57.9 | 69.1 | 80.1 | 56.4 | 51.7 | 75.9 | 60.7 | 30.9 |
| DivPrune | 97.2 | 1694 | 59.4 | 68.5 | 87.0 | 54.5 | 52.7 | 76.0 | 61.5 | 30.7 |
| SCOPE | 98.3 | 1776 | 59.7 | 68.4 | 86.1 | 57.2 | 52.0 | 76.1 | 62.5 | 31.4 |
| AdaPrune | 98.3 | 1755 | 59.3 | 68.5 | 86.5 | 57.0 | 52.6 | 76.4 | 62.3 | — |
| ResPrune | 99.3 | 1792 | 60.1 | 69.3 | 87.6 | 57.8 | 52.5 | 76.5 | 63.0 | 31.8 |
| Retain 64 tokens (88.9% pruning) | ||||||||||
| TRIM | 94.4 | 1680 | 56.6 | 69.0 | 85.9 | 49.7 | 51.1 | 72.4 | 60.9 | 24.8 |
| DART | 94.3 | 1765 | 55.9 | 69.8 | 73.9 | 54.4 | 51.6 | 72.4 | 60.6 | 26.5 |
| DivPrune | 95.7 | 1657 | 57.9 | 67.9 | 85.6 | 52.9 | 53.6 | 74.1 | 60.2 | 29.4 |
| SCOPE | 96.8 | 1698 | 58.3 | 68.6 | 83.9 | 56.6 | 52.7 | 73.9 | 61.7 | 30.4 |
| AdaPrune | 97.1 | 1715 | 57.4 | 68.8 | 84.8 | 56.0 | 53.9 | 74.7 | 61.2 | — |
| ResPrune | 98.0 | 1740 | 58.6 | 69.0 | 87.5 | 57.2 | 53.6 | 74.9 | 60.7 | 30.2 |
说明: ResPrune 在三种剪枝比例下均取得最高的相对性能保留率(99.4% / 99.3% / 98.0%),尤其在 POPE 上表现突出(87.5-87.6),表明子空间重建有效保留了判别信息
Table II: LLaVA-NeXT-7B 性能对比
| Method | Rel. Perf. | MME | GQA | SQA-I | POPE | TextVQA | VizWiz | VQA-v2 | MMB-en |
|---|---|---|---|---|---|---|---|---|---|
| LLaVA-NeXT-7B (baseline) | 100% | 1842 | 64.3 | 70.2 | 86.5 | 61.3 | 55.2 | 81.3 | 67.9 |
| Retain 640 tokens (66.7% pruning) | |||||||||
| DivPrune | 97.2 | 1773 | 61.9 | 67.8 | 86.9 | 57.0 | 55.7 | 79.3 | 65.8 |
| VisionZIP | 98.1 | 1782 | 61.3 | 68.1 | 86.2 | 59.9 | 57.1 | 79.1 | 66.3 |
| DART | 97.5 | 1793 | 61.3 | 68.2 | 85.0 | 59.5 | 57.0 | 78.3 | 64.9 |
| ResPrune | 99.6 | 1821 | 63.3 | 69.5 | 88.3 | 59.9 | 57.9 | 79.5 | 66.6 |
| Retain 320 tokens (88.9% pruning) | |||||||||
| DivPrune | 96.6 | 1731 | 61.1 | 67.7 | 84.7 | 56.2 | 55.6 | 77.2 | 63.9 |
| VisionZIP | 95.0 | 1698 | 59.3 | 67.3 | 82.1 | 58.9 | 56.2 | 76.2 | 63.1 |
| DART | 94.8 | 1710 | 59.5 | 67.5 | 81.0 | 57.6 | 56.1 | 75.7 | 64.2 |
| ResPrune | 98.1 | 1780 | 62.4 | 69.2 | 88.0 | 59.5 | 56.6 | 77.9 | 64.9 |
说明: 在高分辨率模型 LLaVA-NeXT 上,ResPrune 优势更明显,88.9% 剪枝率下仍保持 98.1% 相对性能
Table III: Qwen2.5-VL-7B 性能对比
| Method | Rel. Perf. | MME | POPE | TextVQA | MMB-en | GQA |
|---|---|---|---|---|---|---|
| Qwen2.5-VL-7B (baseline) | 100% | 2304 | 86.1 | 84.8 | 82.8 | 62.2 |
| 66.7% pruning | ||||||
| FastV | 92.3 | 2072 | 82.2 | 77.9 | 75.7 | 58.0 |
| DivPrune | 96.7 | 2198 | 85.6 | 80.1 | 82.6 | 59.0 |
| ResPrune | 98.4 | 2320 | 87.3 | 80.3 | 82.5 | 59.9 |
| 77.8% pruning | ||||||
| DivPrune | 95.1 | 2153 | 85.5 | 76.6 | 81.6 | 58.6 |
| ResPrune | 96.9 | 2246 | 87.3 | 78.0 | 81.7 | 59.4 |
| 88.9% pruning | ||||||
| DivPrune | 90.4 | 2051 | 83.7 | 67.2 | 79.4 | 56.9 |
| ResPrune | 92.2 | 2127 | 85.2 | 69.0 | 79.5 | 57.7 |
说明: 在无 CLS token 的 Qwen2.5-VL 上同样有效,验证了方法的通用性
Table IV: 消融实验——主要组件
| 消融设置 | Rel. Perf. | MME | GQA | POPE | TextVQA | MMB |
|---|---|---|---|---|---|---|
| Full Method (128 tokens) | 98.4 | 1792 | 60.1 | 87.6 | 57.8 | 63.0 |
| w/o 文本预处理 | 97.5 | 1754 | 59.8 | 87.5 | 57.1 | 62.6 |
| w/o 文本相关性 | 96.6 | 1773 | 59.7 | 86.7 | 54.6 | 62.5 |
| w/o 子空间重建 | 82.4 | 1668 | 55.6 | 83.5 | 25.4 | 59.5 |
| Full Method (64 tokens) | 96.4 | 1740 | 58.6 | 87.5 | 57.2 | 60.7 |
| w/o 子空间重建 (64) | 79.1 | 1600 | 54.1 | 81.9 | 23.3 | 56.2 |
关键发现: 子空间重建是核心——移除后 TextVQA 从 57.8 暴跌至 25.4(-56%),说明纯文本相关性选择会严重丢失全局视觉信息。文本条件提供 ~2% 的增量提升。
Table V: 文本引导强度 消融
| Rel. Perf. (LLaVA) | Rel. Perf. (Qwen) | |
|---|---|---|
| 0.25 / 0.1 | 97.7 | 96.3 |
| 0.50 / 0.2 | 98.1 | 96.5 |
| 0.75 / 0.3 | 98.4 | 96.9 |
| 1.00 / 0.4 | 98.3 | 96.7 |
| 1.25 / 0.5 | 98.1 | 96.4 |
说明: LLaVA 最优 ,Qwen 最优 ,Qwen 对文本引导更敏感(需要更弱的调制)
Table VI: 文本相关性计算方式消融
| 计算方式 | Rel. Perf. | TextVQA |
|---|---|---|
| max similarity(默认) | 98.4 | 57.8 |
| average similarity | 97.8 | 56.6 |
| pooled-text similarity | 95.4 | 51.2 |
说明: max similarity 最优,pooled-text 丢失细粒度文本信息导致 TextVQA 大幅下降
Table VII: 种子 Token 选择策略消融
| 策略 | Rel. Perf. (LLaVA) | Rel. Perf. (Qwen) |
|---|---|---|
| CLS attention | 98.4 | — |
| -norm | 98.0 | 96.9 |
| textual relevance | 97.7 | 96.6 |
| global avg similarity | 97.7 | 96.5 |
| spatial centrality | 97.6 | 96.3 |
说明: 有 CLS token 时用 CLS attention 最优;无 CLS token 时 -norm 最优
Table VIII: 实际效率分析(LLaVA-NeXT-7B)
| 指标 | Full Model | 66.7% Pruning | 88.9% Pruning |
|---|---|---|---|
| FLOPs (T) | 30.6 | 9.6 (↓68.6%) | 3.1 (↓89.9%) |
| KV-cache (MB) | 1084.7 | 361.2 (↓66.7%) | 120.4 (↓88.9%) |
| GPU Memory (GB) | 19.8 | 17.8 (↓10.1%) | 17.7 (↓10.6%) |
| Throughput (tok/s) | 16.1 | 33.5 (2.08x) | 36.7 (2.28x) |
| Eval Time (min:sec) | 9:05 | 4:39 (↓48.8%) | 3:28 (↓61.8%) |
说明: 88.9% 剪枝率下 FLOPs 降低 89.9%,吞吐提升 2.28x,KV-cache 降低 88.9%
实验
数据集
| 数据集 | 类型 | 用途 |
|---|---|---|
| MME | 综合多模态评估 | 感知 + 认知能力 |
| GQA | 视觉问答 | 组合推理 |
| ScienceQA-Image | 科学图像问答 | 领域知识 |
| POPE | 物体幻觉评估 | 幻觉检测 |
| TextVQA | 文本视觉问答 | OCR + 理解 |
| VizWiz | 视障辅助问答 | 真实场景 |
| VQA-v2 | 视觉问答 | 通用 VQA |
| MMBench-en | 综合多模态基准 | 多维度评估 |
| MM-Vet | 多模态综合 | 开放式评估 |
实现细节
测试模型: LLaVA-1.5-7B(576 tokens)、LLaVA-NeXT-7B(2880 tokens)、Qwen2.5-VL-7B(动态分辨率)
剪枝比例: 66.7%、77.8%、88.9%
: LLaVA 系列 0.75,Qwen2.5-VL 0.3
文本预处理: 移除指令模板 + SpaCy 名词短语提取
可视化结果
Figure 1 展示了 ResPrune 对不同查询生成不同剪枝模式的能力,验证了文本条件调制的有效性
Figure 2 展示了在极端剪枝下(64 tokens,88.9%)仍能保留答案相关区域
批判性思考
优点
理论优雅: 子空间重建视角比启发式注意力方法更有数学基础,Gram-Schmidt 正交化 保证每步选择最大化信息增量
实用性强: training-free、FlashAttention 兼容、无需 LLM 注意力提取——这在工程落地上非常重要
实验全面: 3 个模型家族、9 个 benchmark、3 种剪枝比例、7 组消融实验
查询自适应: 首次在 training-free 方法中实现了指令感知的剪枝
局限性
需要手动调参: 不同模型家族需要不同的 ,且对所有输入使用固定值
贪心算法非全局最优: 子空间重建问题本身是 NP-hard,贪心解没有近似比保证(虽然实践效果好)
未测试更大模型: 仅在 7B 模型上验证,未涉及 13B / 70B 级别
文本预处理依赖 SpaCy: 名词提取质量可能影响非英语场景
潜在改进方向
自适应 : 基于输入特征或置信度动态调整文本引导强度
与 Token Merging 结合: 被剪掉的 token 信息可通过 Token Merging 融入保留 token,进一步降低信息损失
多层剪枝: 当前仅在视觉编码器输出层剪枝,可探索逐层渐进剪枝
可复现性评估
- 代码开源(暂未提供)
- 预训练模型(不需要,training-free)
- 训练细节完整(算法伪代码清晰)
- 数据集可获取(全部公开 benchmark)
关联笔记
基于
ToMe: Token Merging 基线方法
FastV: 基于注意力的 token 剪枝
DivPrune: 基于多样性的 token 选择
对比
SCOPE: 此前 SOTA,ResPrune 在所有设置下超越
DART: 在高剪枝率下性能下降明显(如 POPE 73.9 vs ResPrune 87.5)
VisionZIP: 视觉 token 压缩方法
AdaPrune: 自适应剪枝,性能接近但低于 ResPrune
方法相关
正交投影: 核心数学工具
Gram-Schmidt 正交化: 增量子空间扩展的实现基础
余弦相似度: 文本相关性计算
Visual Token Pruning: 研究主题
KV-Cache: 剪枝直接降低的资源开销
FlashAttention: 兼容性是本文的重要优势
硬件/数据相关
LLaVA: 主要实验平台
Qwen2.5-VL: 验证通用性的无 CLS token 模型
速查卡片
ResPrune: Text-Conditioned Subspace Reconstruction for Visual Token Pruning in LVLMs
- 核心: 将视觉 token 剪枝建模为子空间重建,用残差能量+文本条件贪心选择
- 方法: Gram-Schmidt 正交化驱动的贪心子空间扩展 + 文本相关性门控
- 结果: LLaVA-1.5-7B 77.8% 剪枝率下保持 99.3% 性能;LLaVA-NeXT 88.9% 剪枝率下 2.28x 吞吐
- 代码: 暂未开源
笔记创建时间: 2026-03-25