视觉模型看到的东西太多了?一个新 token 把 KV 缓存的负担降了九成
多模态大模型处理图片和视频的时候,有个很反直觉的问题:模型看到的东西越多,效果反而越差。因为视觉 token 全量灌入 KV 缓存,干扰信号太多,检索时精度就下去了。
HuggingFace 今日热门有一篇新论文 ReToken,就是专门解决这个问题的——让模型学会只记住「重要的视觉 token」。
问题在哪?
视觉语言模型(VLM)的标准做法是:把一张图片切成一堆 patch,每个 patch 过一个视觉编码器,变成一串 token,全部塞进 KV 缓存。图片小还好,一旦涉及到高分辨率图、多图、或者视频,token 数量直接爆炸。
问题就来了:这些 token 里,真正和用户问题相关的可能只有 5%,剩下 95% 都是背景干扰。模型在这么多噪声里捞答案,精度自然下降。
ReToken 怎么做的?
ReToken 的思路很直接——加一个可学习的检索 token,专门负责从视觉 KV 缓存里挑出相关的那部分。
具体来说:
- 图片先过视觉编码器,正常生成所有视觉 token,填满 KV 缓存
- 额外引入一个(或几个)learnable query token
- 这个 query token 通过 attention 机制,从全量视觉 KV 缓存里「挑」出相关性最高的 token
- 最终只有稀疏的、query 相关的视觉 token 参与后续推理
整个训练只需要一个小的 image-QA 数据集,不需要大规模预训练。论文在 Visual Haystacks 和 LVBench 两个基准上测了:Qwen3VL-8B 提升 13.4 点,InternVL3.5 提升 12.4 点,提升幅度超过 20%。
为什么这个方向值得前端工程师关注?
很多人觉得这是纯模型侧的优化,和前端没关系。但实际看下来,至少有两个场景直接相关:
第一个是浏览器端的多模态 AI。现在 Chrome DevTools MCP、Safari MCP 这些工具已经可以把整个页面 DOM 吐给 VLM 分析,图片、SVG、截图全在里面。如果要做实时分析,token 数量会非常大——ReToken 这种稀疏检索思路,可以帮助在端侧低显存环境下跑更大的图。
第二个是 RAG 管线优化。很多前端团队现在已经在搭 AI 搜索服务,文档里配图多的场景,ReToken 的思想可以直接迁移:不要全量把图片向量存进去,而是用 query-driven 的稀疏检索挑相关内容。
关键数据
| 模型 | 基准 | 提升幅度 |
|---|---|---|
| Qwen3VL-8B | Visual Haystacks | +13.4 pts (>20% relative) |
| InternVL3.5 | Visual Haystacks | +12.4 pts (>20% relative) |
| Qwen3VL-8B | LVBench (zero-shot to long video) | +8.0 pts |
训练和长视频推理都能在单张 H100 上跑完,硬件门槛不高。
怎么用?
GitHub 上有代码:https://github.com/avashao/ReToken
如果你在用 VLM 做视觉检索,或者在搭多模态 RAG,可以把这个思路引入你的 pipeline——加一个 learnable query token 做稀疏检索,比全量灌入的 baseline 效果好很多,而且不增加推理延迟。
这个方向目前还在早期,但 sparse visual retrieval 这个赛道今年明显在加速。如果你在做前端+AI 的多模态相关工作,建议关注。
评论区
登录后可评论。