ViCO: A Training Strategy towards Semantic Aware Dynamic High-Resolution¶
会议: NeurIPS 2026
arXiv: 2510.12793
领域: 多模态大模型
关键词: 动态高分辨率, 视觉Token压缩, 视觉一致性学习, 语义自适应路由, 多模态大模型推理加速
一句话总结¶
ViCO 提出视觉一致性学习与轻量级视觉分辨率路由器(ViR),依据图像 Patch 的语义复杂度自适应选择压缩率,在保留多模态大模型感知、推理与 OCR 能力的同时减少高达 50% 的视觉 Token,首字吞吐量提升近一倍。
研究背景与动机¶
多模态大语言模型(MLLMs)在图像理解、图表问答和视频分析等任务中取得了突破性进展,但高分辨率图像输入的引入导致视觉 Token 数量急剧膨胀,进而显著增加了推理延迟与计算成本。以 InternVL3.5 为例,在默认动态高分辨率配置下,单张图像最多被切分为 13 个 Patch(含 1 个缩略图),每个 Patch 对应 256 个视觉 Token,单图总 Token 数高达 3328 个;在处理多页文档或长视频序列时,视觉 Token 迅速占据上下文窗口的大部分,造成首字生成时间慢与显存开销居高不下的严峻瓶颈。
现有的视觉 Token 压缩策略主要存在两类局限:一类是传统的动态分辨率方法,仅依据输入图像的物理分辨率粗粒度调整 Patch 划分数量,对所有 Patch 均分配固定且高密度的 Token,无法感知 Patch 内部信息密度的差异;另一类是无需训练的 Token 剪枝或合并方法(如 FastV、SparseVLM、ToMe),通常基于注意力权重或特征相似度进行硬性剔除,但在文档理解、密集文本和精细图表等视觉敏感型任务(如 DocVQA、InfoVQA、OCRBench)中往往发生灾难性信息丢失,导致模型性能大幅退化。
这种效率与性能失衡的核心矛盾在于:图像中不同区域的语义信息密度极度不均,大面积单调背景无需占用大量表示容量,而密集文字和前景细节则需要精细表征,但现有架构缺乏一种既能保持多尺度压缩表征鲁棒性、又能自适应评估局部语义价值的协同机制。核心 idea:通过响应级 KL 散度约束最小化不同压缩率下的输出分布差异(视觉一致性学习),并引入基于模型性能敏感度的轻量级视觉分辨率路由器(ViR),实现对图像 Patch 语义复杂度的动态按需分配。
方法详解¶
整体框架¶
ViCO 包含两个递进的核心训练阶段:一致性训练(Consistency Training)与路由器训练(Router Training)。在推理阶段,输入图像经 Patch 切分后由 ViT 提取特征,轻量级视觉分辨率路由器 ViR 自适应评估每个 Patch 的语义复杂度,并决定将其路由至 64 个 Token(16× 下采样)的高压缩率连接器或 256 个 Token(4× 下采样)的低压缩率连接器;生成的变长视觉 Token 与文本指令 Token 拼接后输入语言模型进行解码。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
In["输入图像与文本指令<br/>切分为 N 个图像 Patch"] --> ViT["ViT 视觉编码器<br/>提取各 Patch 特征"]
ViT --> Des3["灵敏度驱动的视觉分辨率路由器<br/>ViR 评估语义复杂度并输出路由概率"]
Des3 -->|复杂区域 / 文本细节| P_High["256 Tokens 高分辨率路径<br/>4× 下采样 MLP"]
Des3 -->|平坦背景 / 简单语义| P_Low["64 Tokens 低分辨率路径<br/>16× 下采样 MLP"]
P_High --> Concat["双速率视觉连接器与特征拼接<br/>混合速率视觉 Token 序列"]
P_Low --> Concat
Concat --> Des2["响应级一致性蒸馏与语言模型推理<br/>LLM 生成预测响应"]
关键设计¶
1. 双速率视觉连接器:构建混合粒度的视觉表示空间
传统 MLLM 通常采用单一结构的多层感知机(MLP)或像素解洗牌(Pixel Unshuffle)层对 ViT 特征进行固定比例的下采样(例如 4× 空间压缩至 256 个 Token)。ViCO 为了使模型具备处理多尺度压缩特征的能力,额外引入了一个 16× 空间下采样 MLP 连接器,将单个 Patch 进一步压缩为 64 个 Token。在模型前向传播过程中,两套连接器共享相同的 ViT 输出表征,分别映射出 256 和 64 个视觉 Token,为后续的按需动态分辨率路由提供了结构支持。
2. 响应级一致性蒸馏:消除不同压缩率下的表征偏差
若未经对齐直接在模型中混合输入不同压缩尺度的视觉 Token,会导致语言模型因特征密度失配而产生严重幻觉。为解决这一问题,ViCO 在一致性训练阶段引入冻结的参考模型 \(\pi_{\theta_{ref}}\)(始终接收未经压缩的 256 Token 完整特征输入),并让策略模型 \(\pi_{\theta_{policy}}\) 接收随机比例压缩的图像输入 \(I_\xi\)。训练通过最小化两者在文本响应生成上的 KL 散度,迫使策略模型在面对高度压缩的局部视觉表征时,仍能保持与全分辨率输入高度一致的语义理解与推理能力。
3. 灵敏度驱动的视觉分辨率路由器(ViR):基于性能衰减因子的动态自适应分配
一致性训练虽然增强了模型对高压缩特征的鲁棒性,但对细节敏感的复杂区域若强行压缩仍不可避免会导致信息损耗。为此,ViCO 构建了轻量级路由器 ViR,其网络由 ViT 特征提取、注意力池化(Attention Pooling)和单层 MLP 分类器构成。为了获取真实无偏的训练监督信号,ViCO 为每个 Patch 计算一个性能损失比值 \(r_i\):
当第 \(i\) 个 Patch 被压缩至 64 个 Token 时,若模型的预测损失相对于保持 256 个 Token 出现剧烈上升(即 \(r_i\) 偏高),表明该 Patch 包含对任务至关重要的关键视觉线索(如微小文字或复杂图元);反之若损失几乎不变(即 \(r_i\) 偏低),则表明该区域为冗余信息。ViCO 维护历史 \(r_i\) 的滑动窗口并取其第 \(k\) 个百分位数(实验中设定为第 60 百分位数)作为动态阈值 \(\tau\),生成二值监督标签:
一个完整示例¶
以一张来自 DocVQA 的复杂发票图像为例,系统将其划分为 12 个局部 Patch 和 1 个全局缩略图(共 13 个 Patch): 1. 特征提取与评估:ViT 提取各 Patch 特征,ViR 的注意力池化与 MLP 输出各 Patch 的压缩概率得分 \(p_i\)。 2. 动态路由划分: - 包含发票大标题、明细条目表格和印章的 5 个局部 Patch 及全局缩略图,其预测压缩影响高(\(p_i < \tau\)),被路由至 4× 下采样 MLP,各保留 256 个 Token,合计 \(6 \times 256 = 1536\) 个 Token; - 包含大面积空白背景及无意义页边距的 7 个 Patch,预测压缩影响低(\(p_i \ge \tau\)),被路由至 16× 下采样 MLP,各压缩为 64 个 Token,合计 \(7 \times 64 = 448\) 个 Token。 3. 序列拼接与生成:整图视觉 Token 数量由原先的 \(13 \times 256 = 3328\) 个减少至 \(1536 + 448 = 1984\) 个,削减幅度达 40.4%。语言模型在显著减少的 KV Cache 与计算量下生成答案,不仅完整辨识了发票中的金额与日期,而且首字生成吞吐提升近 1.8 倍。
损失函数 / 训练策略¶
ViCO 采用解耦的两阶段训练流水线:
- 一致性训练目标: $\(\mathcal{L}_{\text{ViCO}} = \mathbb{E}_{\xi \sim \mathcal{R}}\left[\frac{1}{N}\sum_{i=1}^N \mathrm{KL}\Big(\pi_{\theta_{ref}}\!(y_i \mid y_{<i}, I) \;\big\|\; \pi_{\theta_{policy}}\!(y_i \mid y_{<i}, I_\xi)\Big)\right]\)$ 其中 \(\xi\) 表示每张图像中被压缩 Patch 的比例,从 \(\mathcal{R}=[0, 1]\) 中均匀采样。该阶段全局 Batch Size 设为 256,最大文本长度为 32K,使用 AdamW 优化器,学习率采用余弦退火策略从 \(4 \times 10^{-6}\) 衰减至 \(1 \times 10^{-7}\),并对新初始化的 16× 下采样 MLP 预热。
- 路由器训练目标: 冻结 MLLM 主干与 ViT 编码器,仅训练轻量级 ViR: $\(p_i = \text{Softmax}\Big(\text{MLP}\big(\text{AttnPool}\big(\text{ViT}(I_i)\big)\big)\Big)\)$ 采用标准交叉熵损失监督 ViR 的预测概率 \(p_i\) 与伪标签 \(y_i^{\text{router}}\)。该阶段全局 Batch Size 调整为 8,基于 H200 GPU 进行轻量级微调。
实验关键数据¶
主实验¶
下表展示了 ViCO 在 InternVL3.5 系列全尺寸模型(4B 至 241B-MoE)上评测的通用多模态及 OCR 相关基准表现(MME 归一化至 0-100 分制,RWQA 代表 RealWorldQA):
| 模型 | OCRBench | ChartQA | TextVQA | MMStar | POPE | MME | MMBench V1.1 | RWQA | MMMU | 平均相对保留率 | 压缩 Patch 比例 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| InternVL3.5-4B | 82.2 | 86.4 | 77.8 | 65.2 | 88.9 | 2272 | 80.3 | 66.3 | 66.6 | 100.0% | - |
| + ViCO | 83.0 | 85.2 | 77.6 | 65.5 | 88.6 | 2239 | 80.5 | 66.5 | 65.9 | 99.7% | 69.7% |
| InternVL3.5-8B | 84.0 | 86.5 | 77.6 | 68.5 | 88.7 | 2380 | 79.5 | 67.5 | 73.4 | 100.0% | - |
| + ViCO | 83.9 | 86.7 | 77.8 | 67.5 | 88.4 | 2381 | 79.8 | 66.8 | 71.9 | 99.6% | 69.1% |
| InternVL3.5-14B | 83.2 | 86.1 | 77.3 | 67.7 | 87.7 | 2398 | 81.5 | 70.5 | 73.3 | 100.0% | - |
| + ViCO | 84.3 | 86.2 | 77.7 | 67.7 | 87.7 | 2392 | 81.0 | 71.0 | 73.2 | 100.2% | 69.7% |
| InternVL3.5-30B-MoE | 88.1 | 87.5 | 80.2 | 71.6 | 89.6 | 2461 | 84.8 | 72.3 | 75.6 | 100.0% | - |
| + ViCO | 87.7 | 87.4 | 79.6 | 70.6 | 89.7 | 2462 | 83.8 | 71.8 | 75.9 | 99.6% | 69.8% |
| InternVL3.5-38B | 88.0 | 88.9 | 82.8 | 71.6 | 90.4 | 2492 | 87.3 | 75.9 | 76.9 | 100.0% | - |
| + ViCO | 87.8 | 88.8 | 82.4 | 71.6 | 91.4 | 2496 | 86.8 | 74.8 | 75.0 | 99.6% | 62.0% |
| InternVL3.5-241B-MoE | 91.1 | 88.6 | 84.6 | 74.3 | 90.7 | 2525 | 87.4 | 75.2 | 77.7 | 100.0% | - |
| + ViCO | 90.7 | 88.3 | 84.2 | 73.7 | 90.5 | 2527 | 87.2 | 74.6 | 76.9 | 99.6% | 64.4% |
消融实验¶
下表展示了在 InternVL3.5-8B 上对比不同 Token 压缩方法以及 ViCO 各模块设计的消融实验结果(DocVQA 与 InfoVQA 在验证集上评测):
| 模型配置 | DocVQA | ChartQA | InfoVQA | TextVQA | OCRBench | AI2D | MMStar | BLINK | 平均相对得分 | 压缩 Patch 比例 |
|---|---|---|---|---|---|---|---|---|---|---|
| Vanilla(原始基线) | 91.3 | 86.5 | 79.1 | 77.6 | 84.0 | 84.0 | 68.5 | 59.5 | 100.0% | 0.0% |
| Vanilla + ViR(未做一致性训练) | 57.9 | 78.0 | 69.4 | 71.1 | 75.1 | 83.5 | 64.7 | 54.7 | 87.9% | - |
| Vanilla 无动态分辨率 | 56.2 | 75.0 | 38.6 | 64.0 | 68.7 | 83.0 | 64.1 | 56.0 | 80.2% | - |
| FastV(剪枝基线) | 87.5 | 84.0 | 71.6 | 76.9 | 81.0 | 83.0 | 64.2 | 56.8 | 95.9% | - |
| SparseVLM(稀疏化基线) | 75.9 | 84.9 | 55.2 | 76.5 | 77.7 | 84.1 | 66.4 | 54.5 | 91.2% | - |
| ViCO(全量强制压缩 16×) | 85.8 | 84.5 | 68.9 | 74.8 | 80.6 | 83.2 | 66.3 | 55.4 | 95.1% | 100.0% |
| ViCO(随机路由压缩) | 88.8 | 85.9 | 73.3 | 76.8 | 83.0 | 83.3 | 66.6 | 57.4 | 97.6% | 55.0% |
| ViCO(图像级粗粒度 ViR) | 89.2 | 86.5 | 79.1 | 76.7 | 82.9 | 84.2 | 67.4 | 56.8 | 98.8% | 56.9% |
| ViCO(Patch 级自适应 ViR) | 90.8 | 86.7 | 78.6 | 77.8 | 83.9 | 83.7 | 67.5 | 58.9 | 99.6% | 55.0% |
在 LMDeploy 部署测试中,Token 压缩对语言模型首字吞吐量产生了显著提速:在 10 个视觉 Patch 配备 64 文本 Token 的场景下,50% 压缩率时 8B、30B、38B 和 241B 模型的相对吞吐加速比分别达到 1.97×、1.99×、1.99× 和 2.00×;在 75% 压缩率下加速比均超过 3.76×。
关键发现¶
- 一致性训练是混合压缩表征的基础:若直接在原始模型上使用 ViR 路由器(Vanilla + ViR),DocVQA 暴跌 33.4 分(91.3 降至 57.9),平均保留率仅剩 87.9%,证明未经对齐的模型无法适应不同密度的交错视觉 Token。
- 语义路由器显著优于均匀压缩与启发式剪枝:全量压缩(All Compress)和随机路由分别导致 4.9% 和 2.4% 的性能损失,而基于损失比值监督的 ViR 保持了 99.6% 的性能;对比训练无关剪枝方法 FastV(95.9%)与 SparseVLM(91.2%),ViCO 在细粒度 OCR 任务上几乎无衰减。
- Patch 级粒度显著优于图像级粒度:图像级路由虽然平均得分达到 98.8%,但由于缺乏局部语义感知,在数据分布间极不稳定(InfoVQA 仅压缩 12%,而 BLINK 压缩 88%),而 Patch 级路由能精确剔除局部背景冗余。
亮点与洞察¶
- 损失比值敏感度监督:巧妙地利用不同压缩率下的相对损失退化量 \(r_i\) 作为路由器的监督信号,直接建立了局部表示压缩与模型整体回答质量之间的因果关联,避免了人工手工启发式规则的盲目性。
- 分布对齐解决表征漂移:通过一致性训练蒸馏参考模型输出,使多模态语言模型彻底摆脱对单一连接器尺度的依赖,为支持任意混合压缩率的动态 Token 输入铺平了道路。
- 推理开销极小:ViR 在 1B-30B 模型上仅约 50M 参数,在 38B-241B 模型上约 490M 参数,且注意力池化计算复杂度与序列长度呈线性关系,额外引入的推理时延基本可以忽略不计。
局限与展望¶
- 离散尺度选择受限:当前方法仅在 64 Token 与 256 Token 两个离散等级之间进行二值路由决策,未来可探索连续变长 Token 压缩或支持更多级联压缩档位(如 32、64、128、256)。
- 监督生成依赖多次前向计算:在路由器训练阶段,为获取每个 Patch 的敏感度标签需要分别计算 4× 与 16× 压缩率下的损失比值,构建伪标签数据的阶段存在一定的算力开销。
- 跨模型泛化性验证:目前实验主要基于 InternVL3.5 架构,将其推广至其他主流多模态大模型体系(如 Qwen2-VL、LLaVA-NeXT 等)仍待进一步实验验证。
相关工作与启发¶
- vs FastV / SparseVLM: 后者属于免训练的 Token 剪枝/稀疏化方法,严重依赖注意力权重先验,在 OCR 和图表等细节密集场景下掉点严重(DocVQA 降至 75.9-87.5);ViCO 结合了一致性训练与路由器,不仅保留了 90.8 的高精度,还可跨模态任务自适应调节压缩率。
- vs 传统动态分辨率策略(如 UReader, InternVL 默认):传统方法根据图像输入宽高比和分辨率切块分配相同密度的 Token,忽视了语义复杂度的非均匀性;ViCO 将动态高分辨率的粒度从“图像物理尺寸级”下沉到“Patch 语义内容级”。
评分¶
- 新颖性: 4.5/5 创造性地将一致性蒸馏与性能敏感度路由引入动态多模态 Token 分配
- 实验充分度: 5.0/5 覆盖 4B 至 241B 全尺寸模型,在通用、OCR、多图、视频及真实吞吐测试中全面验证
- 写作质量: 4.5/5 逻辑清晰,公式推导严谨,架构与实验设计阐述透彻
- 价值: 5.0/5 实用价值极高,在维持 99.6% 顶级精度的同时削减 50% Token 并使吞吐翻倍,对工业界部署极具启发