An AI4AI Framework for Visual Token Pruning
Zhen Liu, Wenli Huang, Wei Song, Yuhan Liu, Zhiqin Yang, Jingwen Fu
cs.LG, cs.CV
2026-08-07
AutoPrune 让大模型在 131 原子的剪枝 DSL 上自动设计策略,只对强基线做小幅残差修正;砍 94% 视觉 token 仍保 99% 准确率,FLOPs 降 9.9 倍,全面超过手工方法。
多模态大模型(MLLM)推理的成本大头之一是视觉 token。vision encoder 把一张图压成几百到上千个 token 直接喂进 LLM,LLaVA-1.5 是 576 个,LLaVA-NeXT 高达 2880 个,这些 token 占满了 prefill 算力和 KV cache。剪掉冗余的视觉 token 是公认有效的降本手段,已经有一批方法:FastV、VisionZip、DivPrune、CDPruner。
但这些都是手工设计的启发式。选哪些 token 留、按什么分数排序、留多少,全靠研究者的经验和反复试错。问题在于这个设计空间在快速膨胀:剪枝目标、token 预算、模型架构都在变,每个组合都得人来调。论文抛出一个自然的问题:既然大模型本身算法知识很广、推理能力很强,能不能让它自动设计视觉 token 剪枝算法?
让 LLM 当算法设计师这件事不算新鲜(FunSearch 那条线做过),真正的难点在于怎么把「通用的算法知识」接到「一个具体而结构化的小任务」上。
AutoPrune 是 training-free 的:底层 MLLM 全程冻结,既不训练也不改权重。流程是 LLM 提候选策略,在任务评测器上打分,留最好的,迭代若干轮。
关键不在流程,而在怎么表示一个「策略」。论文给出的答案是 TPDSL(Token Pruning Domain-Specific Language),一个为视觉 token 剪枝量身做的领域专用语言,内含 131 个可复用的原子操作,分成九组:
一个候选策略就是从这些原子里挑几个、配上参数,materializer 把它编译成一段确定可执行的剪枝程序。
真正的巧思在最后一步:残差表示。AutoPrune 不从零设计一整套策略,它从一个已经很强的基线策略出发(实验里用的是 CDPruner,NeurIPS25),把每个候选策略表示成对这个基线的「小幅残差修正」。具体说,大部分 token 的去留交给基线决策(这一步叫 reference anchoring,参考锚定),LLM 搜索的部分只负责推翻基线里那些不确定的判断:用一个「有界残差交换」(bounded residual exchange),最多把 qe 个低置信度的基线 token 换成分数更高的候选 token,同时强制至少保留 rmin 个基线 token。
这就像给 token 选择做 LoRA:不重写整个网络,只学一个小补丁。好处是搜索空间瞬间收窄,LLM 的注意力被精确导向那些对性能真正有影响的决策。论文用一组消融证明这个设计是命门:去掉参考锚定,MME 从 1373 直接掉到 1223(降 150);把交换配额从最优的 qe=2 放大到 qe=32(允许全换),分数崩到 1217。残差必须是「小」的,大了就垮。
搜索只做一次:在 LLaVA-1.5-7B 上,用 MME 当评测器,K=32,跑 10 轮每轮 5 个候选,Qwen-Plus 当提议者。跑出来的那套 TPDSL 状态,之后可以直接换 token 预算、换任务、甚至换模型骨架重新实例化,不用再搜。
14 个多模态 benchmark,3 个模型骨架(LLaVA-1.5-7B、LLaVA-NeXT-7B、Qwen2.5-VL-7B)。
在最激进的设置下,砍掉 94.4% 的视觉 token,AutoPrune 几乎不掉点:
| 模型 | token | 准确率 | 保留比 | vs CDPruner |
| LLaVA-1.5-7B | 576→32 | 63.2(满 63.4) | 99.7% | +3.2 |
| LLaVA-NeXT-7B | 2880→160 | 65.2(满 65.2) | 99.9% | +2.4 |
LLaVA-NeXT 那一行,砍到只剩 160 个 token,聚合准确率竟然和满 token 完全持平。涨得最多的是中文多模态基准 MMBench-CN(LLaVA-1.5 上 65.9 vs CDPruner 的 49.6,直接加 16.3)和 MME(1413 vs 1373)。
效率这一项(LLaVA-NeXT-7B,留 320 token,单张 RTX 3090):FLOPs 降 9.9 倍(41.7T 到 4.2T),prefill 延迟降 6.4 倍(815 到 128 ms/token),KV cache 从 1440MB 压到 160MB。和 CDPruner 同预算比,FLOPs、显存、解码延迟都一样,prefill 略快,MME 还高一点(1457.9 vs 1453.0)。搜出来的策略是白捡的性能,没引入额外推理开销。
跨骨架迁移是另一个卖点。把在 LLaVA-1.5 上搜出的策略直接搬到视觉 token 结构完全不同的 Qwen2.5-VL-7B(没有重新搜索,CDPruner 是作者自己复现的),在 128 token 下相对性能从 CDPruner 的 74.9% 提到 81.0%(加 6.1 个百分点),文字密集型任务(TextVQA、ChartQA)涨得最猛。这说明搜出来的不是对 MME 评测器过拟合,而是抓到了可复用的 token 选择规律。
有意思的是,在中等剪枝率下 AutoPrune 有时还会反超满 token 模型,剪掉冗余 token 反而减少了视觉干扰。换提议者(Qwen-Max、Qwen-Plus、DeepSeek-V4-Flash)结果都在 3.3 个 MME 分以内,对用哪个 LLM 不敏感。
MLLM 推理贵就贵在视觉 token 上,剪枝是降本必经之路。这篇的价值有两层。
第一层很直接:一个能跨模型迁移、还压过手工 SOTA 的剪枝策略,拿来就能用,不增加任何推理开销。对做 MLLM 部署的人,这是实打实的成本数字。
第二层更深一点。论文真正验证的命题是:让 LLM 设计算法这件事,成败关键在怎么界定搜索空间。把它表达成「在一个强基线上的约束化残差修正」,LLM 就能稳定产出好策略;放开成自由代码就不行。这个结论很可能不限于 token 剪枝,任何「已有不错基线、想自动改进」的场景都吃得开。
论文自己点了两条:受限于 TPDSL 的表达能力(搜不到原子库里没有的操作),以及依赖任务评测器的可靠性(搜索信号来自 MME 单一指标)。
细读之下还有几处存疑。AutoPrune 的策略本质上是「CDPruner 加一个学出来的残差」,基线就是它要 beat 的对象,所以「超过 CDPruner」有一部分是结构上自带的,更公道的说法是「残差在强基线之外还带来了增益」。整个搜索只在一个骨架、一个评测器上跑了一次,跨架构的迁移结论全部压在这单次搜索上。Qwen2.5-VL 上的 CDPruner 是作者复现的(官方实现拿不到),这个基线不是原作者的数。最优交换配额 qe=2 是调出来的,换个预算或骨架还稳不稳,论文没展开。