HybridToken-VLM: Hybrid Token Compression for Vision-Language Models

Authors: Jusheng Zhang, Xiaoyang Guo, Kaitong Cai, Qinhan Lv, Yijia Fan, Wenhao Chai, Jian Wang, Keze Wang Affiliations: Sun Yat-sen University, Princeton University, Snap Inc. Year: 2025 Code: 暂未开源

1. Motivation (研究动机)

1.1 背景:VLM 视觉 token 的计算瓶颈

现代 VLM (如 LLaVA) 使用 ViT-L/14 将图像编码为 个 patch token,输入 LLM 后注意力计算复杂度为 ,对于 ,单层即需约 浮点运算,迅速耗尽 GPU 显存。

1.2 现有方案的两难困境

压缩范式代表方法核心限制
连续压缩 (Pooling/Aggregation)VoCo-LLaMA, Q-Former语义稀释 (Semantic Dilution): ,高频纹理噪声主导熵 ,淹没离散语义
离散量化 (VQ Codebook)VQ-VAE, MoVQ粒度间隙 (Granularity Gap): $I(z_d; D) \le \log
结构化剪枝 (Token Pruning)ToMe, FastV, PDrop结构坍塌 (Structure Collapse): 去除 token 破坏拓扑先验,低 token 区间性能骤降

核心洞察: 单 token 连续瓶颈无法同时编码离散语义 和连续细节 ——这是一个表征容量冲突 (Capacity Conflict),而非简单的信息丢失问题。

2. Idea (核心思想)

在压缩前注入少量离散语义锚点,使高层语义在瓶颈前就被显式保留,连续通道则专注于细粒度细节,两者通过解纠缠注意力掩码融合为单个混合 latent。

Figure 1 解读: 对比三种压缩策略。(a) VoCo-LLaMA 将 576 个 patch 直接压缩为 1 个 <voco> token,丢失语义结构;(b) HTC-VLM 在 576 个连续 patch 前添加 4 个 MGVQ 离散语义 token,形成 580 token 混合序列,再通过 Disentanglement Mask 压缩为 1 个 <voco> token,同时保留语义和视觉细节。

3. Method (方法)

3.1 整体架构

Figure 2 解读: HTC-VLM 完整架构对比。(a) Pooling 方法直接平均/池化视觉 embedding,丢失空间信息;(b) VoCo-LLaMA 用 Vision Encoder + Media Projector 压缩为单 token;(c) HTC-VLM (本文) 包含双通道:连续通道 (CLIP ViT-L → Linear Projector → 576 patch embeddings) 和离散通道 (MGVQ → 2-layer MLP → 4 discrete tokens),拼接后经 Disentanglement Attention Mask 压缩为 <voco> token,最终输入 LLaVA 进行推理。

3.2 双通道设计

连续通道:细粒度细节

  • : CLIP ViT-L/14 (frozen)
  • : 线性投影 ,对齐 LLM embedding 空间
  • 保留高维流形上的纹理梯度、姿态变化等连续特征

离散通道:高层语义锚点

  • : MGVQ 量化器 (Multi-Group VQ), codebook, groups, 16x 下采样
  • : 量化特征
  • : 2-layer MLP (, GELU 激活)
  • 输出 : 4 个离散语义 token

3.3 融合与 Disentanglement Bottleneck

混合序列构建

关键设计:离散 token 放在连续 patch 前面 (Pre-fusion),利用 autoregressive transformer 的 “Prompting Effect”,使语义锚点作为后续 patch 处理的语义上下文。

Disentanglement Attention Mask

三个关键约束:

  1. 视觉 token 互相独立: 内部 token 之间 时注意力为 ,防止 oversmoothing
  2. 信息瓶颈强制: 文本 token 不能直接 attend 到原始视觉 patch,只能通过 <voco> 获取视觉信息
  3. Star-Graph 拓扑: 信息流仅从 单独流向 <voco>,形成星形图结构

<voco> Latent 提取

最终 transformer 层对应 <voco> 位置的隐状态即为压缩后的混合 latent

3.4 训练目标

基于变分推断框架,训练目标可分解为 ELBO:

实际训练 loss:

近似展开为:

梯度动力学: 增强语义聚类 (最大化 ), 细化细节表征空间。

3.5 伪代码

def htc_vlm_forward(image, text, E_v, P_v, Q, P_d, E_t, llm):
    """HTC-VLM Forward Pass"""
    # Continuous channel: 576 patch embeddings, R^{576x4096}
    V = P_v(E_v(image))
 
    # Discrete channel: MGVQ quantize + MLP project to 4 anchors, R^{4x4096}
    q = Q(image)                        # quantize to R^{14112}
    v_d = P_d(q)                        # project to 4 discrete anchors
 
    # Hybrid sequence construction (580 tokens)
    V_hy = concat(v_d, V)               # discrete anchors before continuous patches
    W = E_t(text)                        # text embeddings
    X = concat(V_hy, voco_token, W)      # full input sequence
 
    # Star-graph disentanglement attention mask
    M_hy = build_disentanglement_mask(X)
    # - V_hy tokens: block mutual attention (i!=j -> -inf)
    # - Text W: block attention to V_hy, allow to <voco>
 
    # Forward with masked attention
    logits = llm(X, mask=M_hy)
 
    # Extract <voco> hidden state as compressed hybrid latent
    z = llm.last_hidden_state[voco_pos]
 
    return logits

3.6 信息论分析

Theorem 1 (Semantic-Detail Capacity Conflict): 对于纯连续压缩,当 有界时, as increases,因为高频细节 () 的 Entropy Domination 饱和了有限容量。

Theorem 2 (Disentangled Sufficiency): 混合先验 降低了 ,使得 的连续容量可专用于编码细节 :

混合 latent 作为联合分布 的充分统计量。

4. Experimental Setup (实验设置)

4.1 训练配置

配置项
Vision EncoderCLIP-ViT-L/14-336px (Frozen)
Continuous ProjectorLinear: 1024 → 4096
Discrete QuantizerMGVQ: K=16384, G=8
Discrete ProjectorMLP: 14112 → 8192 → 4096 (GELU)
LLM BackboneLLaVA-1.5 (Vicuna-7B-v1.5)
Input Resolution336 × 336
Sequence Length580 visual tokens (4 discrete + 576 continuous)
Batch Size256
OptimizerAdamW ()
Learning Rate (Cosine Decay)
Warmup Steps1,500
Precisionbfloat16
Hardware8× NVIDIA A100 (80GB)
Total Training~90 GPU-hours

4.2 代码结构映射 (推测)

模块功能关键参数
vision_encoderCLIP ViT-L/14 提取 576 patch featuresfrozen, 336px
continuous_projector线性投影对齐 LLM 维度1024 → 4096
mgvq_encoderMGVQ 量化图像为离散 codesK=16384, G=8, 16x downsample
discrete_projector2-layer MLP 映射离散特征14112 → 8192 → 4096, GELU
disentanglement_mask构建 Star-Graph 注意力掩码阻止 V↔V 互注意力, 强制 text→<voco>
voco_token可训练压缩 token1 token, R^{4096}
llm_backboneVicuna-7B-v1.5 with masked attention标准 autoregressive

5. Experimental Results (实验结果)

5.1 主实验:单 token 压缩 (580:1)

模型TokensGQAVQAv2MMBenchMMEPOPESEEDSQAAvg(%)
Upper Bound57661.177.764.01487.285.057.966.5100%
Q-Former151.163.451.71079.777.347.262.757.2%
Avg. Pool152.965.055.51210.379.150.362.264.1%
VoCo-LLaMA157.471.857.91241.481.548.866.381.0%
HTC-VLM (ours)1 hybrid57.672.460.01265.282.849.867.787.2%
Lower Bound137.741.222.3617.353.936.960.70%

核心发现: HTC-VLM 在所有 7 个 benchmark 上全面超越 VoCo-LLaMA (+6.2% 平均保持率),尤其在语义密集型任务 (MMBench +2.1, SQA +1.4) 和细节敏感型任务 (POPE +1.3, MME +23.8) 上均有显著提升。

5.2 多 Token Budget 对比

BudgetHTC-VLMVoCo-LLaMASparseVLMFastVToMe
64 tok89.8%78.0%89.3%72.0%71.1%
128 tok93.8%92.2%96.7%85.1%81.9%
192 tok94.2%90.7%99.1%86.4%88.9%

HTC-VLM 在全 token 范围内保持最平滑的性能衰减曲线,尤其在极端压缩 (1-4 token) 区间远超所有基线。

Figure 4 解读: Performance vs. Token Budget 曲线。HTC-VLM (蓝色实线) 在整个 1-576 token 范围内保持最平滑的衰减,尤其在 1-32 token 极端压缩区间仍保持稳定,而 VoCo-LLaMA 在 16 token 以下急剧下降。结构化剪枝方法 (ToMe, FastV, PDrop) 表现为阶梯式跳变,因为它们只支持特定粒度 ({64, 128, 192})。

5.3 注意力分析与语义解耦验证

Figure 3 解读: <voco> token 的注意力热力图对比。左图为 HTC-VLM,前 4 列对应离散语义 token,显示 <voco> 对离散锚点的注意力权重显著高于后续 image patch tokens,验证了离散锚点的语义引导作用。右图为 VoCo-LLaMA,注意力在所有 16 个 image patch 上分布均匀,缺乏语义聚焦。

5.4 表征探测 (Representation Probing)

表征类型Detail 任务 (D-10)Semantic 任务 (S-10)
离散 25.44%20.83%
连续 27.19%26.67%
混合 30.70%26.67%

混合 latent 在两类任务上均取得最优,验证了压缩机制同时保留语义和细节的能力。

5.5 消融实验

Figure (Table 4) 解读: 消融实验总结页面,包含三组关键消融。(1) Hybrid vs. Non-Hybrid: 纯离散 33.3%、纯连续 81.0%、混合 87.2%,证明混合表征的必要性。(2) 离散 token 数量: 最优 (87.2%), 反而下降到 84.6%,说明过多离散 token 引入冗余。(3) 融合策略: Pre-fusion (离散在前) 最优 87.2%,Post-fusion 和 Mean fusion 均为 84.6%。

关键消融结果

消融维度配置Retention
Hybrid vs. Non-HybridDiscrete-Only (441 tok)33.3%
Continuous-Only (576 tok)81.0%
HTC-VLM (4+576 tok)87.2%
离散 token 数 1 / 2 / 4 / 883.9 / 84.9 / 87.2 / 84.6
融合策略Pre-fusion / Post / Mean87.2 / 84.6 / 84.6
Anchor 类型Random Patches / Top-k Attn / K-Means / MGVQ82.5 / 85.1 / 85.8 / 87.2
Mask 拓扑Full Graph / Star Graph85.4 / 87.2

5.6 推理效率

模型Latency (ms)Throughput (img/s)Memory (GB)
Vanilla LLaVA (576 tok)4752.128.3
SparseVLM (64 tok)1655.615.8
VoCo-LLaMA (1 tok)5219.411.1
HTC-VLM (1 tok)5418.711.6
  • HTC-VLM 延迟仅比 VoCo-LLaMA 多 2ms (MGVQ encoder ~6ms,可与 ViT 并行隐藏)
  • 相比 Vanilla LLaVA 加速 7.9x,相比 SparseVLM 加速 8.8x
  • MGVQ 额外成本可忽略:轻量 CNN,~6ms,远小于 ViT 的 28.5ms

5.7 MGVQ Codebook 消融

配置GQATextVQAAvg. Retention
G=4, K=819255.166.382.4%
G=4, K=1638456.067.484.1%
G=8, K=819256.868.585.2%
G=8, K=16384 (ours)57.669.787.2%
G=8, K=3276857.469.486.9%

最佳配置 ,更大 codebook () 引入训练不稳定,性能反降。

5.8 总结与思考

5.8.1 核心贡献

  1. 表征分析: 首次从信息论角度揭示单 token 连续瓶颈的 “Semantic-Detail Capacity Conflict”,证明纯连续压缩的根本局限性 (Theorem 1)
  2. 混合解纠缠框架: 提出 discrete semantic anchors + continuous detail carriers 的双通道设计,通过 Disentanglement Attention Mask 实现 Star-Graph 拓扑的信息融合
  3. SOTA 单 token 压缩: 580:1 压缩比下 87.2% 性能保持率,全面超越 VoCo-LLaMA (81.0%),且推理效率几乎相同

5.8.2 局限性

  • 仅支持单图: 未探索多图/视频场景,temporal cues 可能与混合 token 设计有交互
  • 外部 VQ tokenizer: MGVQ 是预训练的外部模型,非端到端联合学习,可能限制适应性
  • 固定压缩比: 所有图像统一压缩为 1 token,缺乏自适应机制

5.8.3 启发与延伸

  • 语义锚点思想的通用性: 离散 token 作为 “meta-instruction” 引导压缩的思路可迁移到视频 VLM 的时序压缩——每帧用少量离散 token 锚定关键语义,连续通道保留运动细节
  • 与 KV Cache 压缩的关系: Disentanglement Mask 的 Star-Graph 设计本质上限制了 attention 的有效范围,类似于 StreamingLLM 的 attention sink 机制,可能可以结合
  • 可变压缩率: 结合 token budget 实验 (Table 2),HTC-VLM 从 1 到 576 token 平滑扩展的特性暗示了一个自适应 token 分配策略的可能——根据图像复杂度动态选择压缩率