Token Pruning

分类: 剪枝与稀疏化

Token Pruning

定义

在推理过程中移除冗余或不重要的 token(通常是视觉 token),以减少序列长度,降低计算和显存开销

核心要点

主要应用于 Vision Transformer 和大视觉语言模型(LVLM)

核心问题:如何设计 token 重要性度量和冗余度量

常见策略:基于注意力分数、基于多样性、基于隐藏状态相似度

可在不同层级实施:视觉编码器内部、LLM 早期层、多层渐进

数学形式

给定 NN 个视觉 token,选择子集 C{1,,N}\mathcal{C} \subset \{1, \ldots, N\}C=M<N|\mathcal{C}| = M < N

C=argmaxCPerformance(C)s.t.C=M\mathcal{C}^* = \arg\max_{\mathcal{C}} \text{Performance}(\mathcal{C}) \quad \text{s.t.} \quad |\mathcal{C}| = M

代表工作

FastV: 基于注意力分数的 token 选择

PACT: 注意力 + key 聚类

VisionZip: 视觉编码器自注意力统计

DivPrune: hidden state 最小距离约束

IWP: 从 attention 对偶形式推导理论化指标

EViT: 早期 ViT token pruning 工作

DynamicViT: 可学习的 token 剪枝

相关概念

Token Merging

Visual Token Pruning

Softmax Attention