章节 01
导读 / 主楼:AdaVis:面向多模态大语言模型的任务自适应视觉令牌分配框架
本文介绍 AdaVis,一种任务自适应视觉令牌分配框架,通过指令复杂度估计、渐进式双路径精炼和复杂度引导预算调度三大组件,在减少65%视觉令牌的同时保持98.2%的性能,实现2.1倍推理加速。
正文
本文介绍 AdaVis,一种任务自适应视觉令牌分配框架,通过指令复杂度估计、渐进式双路径精炼和复杂度引导预算调度三大组件,在减少65%视觉令牌的同时保持98.2%的性能,实现2.1倍推理加速。
章节 01
本文介绍 AdaVis,一种任务自适应视觉令牌分配框架,通过指令复杂度估计、渐进式双路径精炼和复杂度引导预算调度三大组件,在减少65%视觉令牌的同时保持98.2%的性能,实现2.1倍推理加速。
章节 02
多模态大语言模型(MLLMs)在视觉-语言任务上取得了显著进展,但它们的计算成本与输入到语言模型主干网络的视觉令牌数量呈线性增长关系。对于高分辨率图像,视觉编码器可能生成数百甚至上千个视觉令牌,导致推理延迟显著增加,限制了模型在实时应用中的部署。
现有的视觉令牌剪枝方法通常采用统一的压缩比率,无论输入查询的复杂度如何。这种"一刀切"的策略存在明显缺陷:简单查询可能不需要高密度的视觉表示,而复杂查询则可能需要保留更多细节。统一压缩无法根据任务需求动态调整,导致要么过度压缩影响性能,要么压缩不足浪费计算资源。
章节 03
AdaVis(Task-Adaptive Visual Token Allocation)提出了一种全新的思路:根据指令复杂度动态调整视觉令牌预算。其核心洞察是,不同查询对视觉信息的需求存在本质差异。"描述这张图片"可能只需要粗略的视觉特征,而"找出图中所有红色圆形物体的数量"则需要精细的空间定位。
该框架引入三个关键组件协同工作,实现智能化的令牌分配。
章节 04
ICE(Instruction Complexity Estimator)负责从文本查询中预测所需的视觉粒度。它分析指令的语义复杂度,例如是否涉及细粒度识别、空间推理、多对象关系等。
ICE 的输出是一个复杂度分数,用于指导后续的令牌预算分配。高复杂度指令获得更多令牌预算,低复杂度指令则分配较少资源。这种估计基于对指令语义的理解,而非简单的关键词匹配。
章节 05
PDR(Progressive Dual-Path Refinement)是 AdaVis 的核心剪枝机制。它采用迭代方式逐步减少令牌数量,同时保持语义相关性和空间连贯性。
双路径设计意味着同时考虑两个维度:
渐进式精炼允许模型在多个层级上逐步压缩,而非一次性激进剪枝,从而更好地保留关键信息。
章节 06
CBS(Complexity-Guided Budget Scheduler)通过学习的课程策略分配逐层剪枝预算。它根据 ICE 估计的复杂度,为不同层级的视觉编码器设定不同的令牌保留比例。
这种调度策略考虑了视觉特征层级与任务复杂度之间的关系:底层特征适合处理需要细节的任务,高层特征则更适合语义理解任务。CBS 实现了跨层的协同优化。
章节 07
AdaVis 在9个基准测试上进行了评估,结果令人印象深刻:
| 方法 | 平均令牌数 | 加速比 | VQAv2 | TextVQA | MMBench | MME | POPE |
|---|---|---|---|---|---|---|---|
| 完整模型 | 576 | 1.0× | 79.5 | 58.4 | 67.8 | 1520 | 86.4 |
| FastV | 202 | 1.9× | 77.8 | 52.6 | 64.5 | 1468 | 84.8 |
| Script | 202 | 1.9× | 78.8 | 55.2 | 66.2 | 1495 | 85.8 |
| AdaVis | 198 | 2.1× | 79.3 | 57.8 | 67.5 | 1528 | 86.9 |
关键数据:
值得注意的是,AdaVis 在减少令牌的同时,在部分指标上甚至超过了完整模型(如MME和POPE),这可能得益于剪枝过程过滤了噪声令牌。
章节 08
该项目目前处于 NeurIPS/CVPR 投稿准备阶段,代码库已公开主要组件的结构:
adavis/
├── ice.py # 指令复杂度估计器
├── pdr.py # 渐进式双路径精炼
└── cbs.py # 复杂度引导预算调度器
完整的实现、评估脚本和补充材料正在准备中。这种模块化的设计使得 AdaVis 可以相对容易地集成到现有的多模态大模型中。