Activation Quantization of Vision Encoders Needs Prefixing Registers¶
会议: ECCV2026
官方论文: 5152
论文: PDF
代码: https://github.com/spbob0418/RegCache
领域: VLM效率 / 视觉编码器量化
关键词: 激活量化、寄存器缓存、注意力汇聚、中层前缀、token删除
一句话总结¶
RegCache 从参考图像中提取可跨图像复用的中层寄存器 KV 缓存,通过前缀注入和残余异常 token 删除改善视觉编码器的训练后量化,使 CLIP-B/16 在 ERQ W4A4 下的 ImageNet-1k 准确率从 1.56% 提升到 46.07%,但并不能普遍恢复全精度性能。
研究背景与动机¶
CLIP、SigLIP 等视觉编码器既可独立部署,也承担 VLM 中的图像和视频编码。与逐 token 自回归的语言模型不同,视觉编码通常更容易受计算量限制,因此仅压缩权重不够,同时量化权重与激活,才能将高精度矩阵乘法替换为低精度运算。困难在于少数异常大的激活会撑大量化范围,让大多数普通激活失去分辨率;论文发现,某些视觉编码器即使量化到 8 bit 也会明显退化。
语言模型中已有利用注意力汇聚 token 作为前缀来缓解异常值的方法,因为 BOS、SEP 等特殊 token 在词表中有固定身份。视觉 patch 却是连续嵌入,同一背景区域的角色还取决于图像内容,不能直接从词表挑出一个通用视觉寄存器。作者逐层量化后发现,敏感位置通常落在中间 block 的 MLP 投影层,并与 FC2 输入异常值开始出现的位置吻合。前景保留、背景置零的图像更早出现异常值,则支持模型需要先经过若干层,才识别出可承担非语义计算的 patch 这一解释。
更关键的是,异常 token 的位置虽然因图像而异,中层表征却相似:在 SigLIP-B/16 的 64 张图像分析中,异常 token 的平均余弦相似度为 0.89,普通 token 仅为 0.26。因此可以复用它们的内部状态,而不必训练新的输入 token。核心 idea:从参考图像提取中层异常 token 的 KV 状态作为外部寄存器,再删除测试图像中残留的内部异常 token,将撑大量化范围的计算角色从正常图像序列中移走。
方法详解¶
整体框架¶
RegCache 是接在现有 PTQ 管线上的异常值缓解模块,不是新的量化器,也不需要为寄存器反向传播。离线阶段先定位量化敏感层并筛选候选 token,再用全精度编码器得到逐 block 的 KV 缓存,平均后搜索前缀数量;在线阶段保持早期层不变,从选定中层开始使用缓存,并在最敏感 block 的输入处删除残余高范数 patch token。输出仍是供分类、检索或 VLM 使用的视觉表征。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["参考图像与预训练<br/>视觉编码器"] --> B["敏感层与候选筛选"]
B --> C["中层 KV 前缀缓存"]
T["测试图像<br/>早期层保持不变"] --> D["残余 token 删除"]
C -->|前缀辅助的中层推理| D
D --> E["后续量化编码<br/>使用所选缓存"]
E --> F["视觉表征<br/>分类、检索或 VLM"]
这里的三个设计不是互不相关的技巧:候选筛选解决“缓存谁”,中层前缀解决“在哪里、以何种形式复用”,删除解决“注入以后仍有异常值怎么办”。前缀开始层与最敏感层可以不同,所以不能把图理解为先跑完所有缓存层再统一删除;删除实际发生在最敏感 block 的入口。
关键设计¶
1. 敏感层与候选筛选:用量化误差定位寄存器来源
先逐层独立量化,每次只量化一个层,并在 ImageNet-1k 训练集的参考分类任务上测准确率下降,选降幅最大的层为敏感层。如果已有目标 PTQ 算法,就用它进行敏感性分析;否则用 round-to-nearest(RTN)。这比假定所有编码器都在固定深度出现异常值更可靠,也使候选选择与最终部署量化器相适配。这里“层”通常指 FC2 这样的子层,而删除位置是包含该子层的整个 transformer block 的输入,两者不能混为一谈。
随后运行参考图像,按敏感层输入 token 的 \(\ell_\infty\) 范数排序,即比较各 token 所有通道中最大的绝对激活值。实验从 ImageNet-1k 训练集抽取 50,000 张图像,保留最高范数的 100 个候选 token;这不是为每张图像都保留 100 个。考虑到汇聚 token 可能提前形成,作者还在最多三个前序 block 中分别做相同搜索,建立各自的候选集合。高范数本身不是语义重要性的保证,此处反而利用跨图像相似性,将其视为可复用的非语义计算状态。
2. 中层 KV 前缀缓存:复用内部状态而不是学习新 patch
对每个候选 token,用未量化的编码器取得从候选起始中层到后续 block 的 key/value 状态,然后对候选的对应 KV 缓存取平均,得到一个可复用寄存器。推理时直接以前缀缓存形式提供这些状态,而不是把一张参考图像拼到当前图像前面,也不是重新训练视觉骨干。对固定模型和量化算法,缓存可跨测试图像复用,不需要逐图搜索或重新优化寄存器。
一个平均寄存器未必足以吸收内部汇聚行为,因此作者将同一缓存复制若干份,搜索前缀数量 \(\tau\in\{1,2,\ldots,15\}\),以参考分类准确率选择最优值。早期层不注入,因为原始 patch 尚未形成稳定、可复用的非语义状态。实验中 CLIP 与 SigLIP 从搜索到的起始层持续注入至最后一层;DINOv2 则仅在搜索到的层注入效果更好。后者说明“中层到末层全加”不是对所有视觉预训练方式都成立的规则。
3. 残余 token 删除:清除前缀未能替代的内部异常值
外部寄存器并不保证所有内部汇聚 token 都消失。对每张测试图像,算法在最敏感 block 的输入处按 \(\ell_\infty\) 范数选出最大的 \(\tilde{k}\) 个原生图像 patch token 并删除;删除数量同样通过参考任务调节。删除对象是输入图像内部产生的 token,不是刚加入的外部 KV 前缀。缓存参数可以离线固定,但这一步仍需要在线根据当前图像计算范数并选取 token,不能称为完全没有逐图处理。
删除与缓存必须配合:只删除可能破坏模型原本依赖的汇聚功能,只缓存又可能无法充分收窄激活范围。SigLIP-B/16 单独删除的准确率仅为 42.41%,低于 69.71% 的基线;SigLIP2-B/16 单独缓存也从 26.04% 降到 23.82%。这说明高范数 token 不是随手删掉就好,外部替代状态是否到位是关键。
一个完整示例¶
以 SigLIP2-B/16 的 W8A8 设置为例,离线从 50,000 张训练图像筛出每个被考察位置的 100 个高范数候选,构建平均 KV 缓存,再从 1 到 15 份前缀中选择合适数量,并调节删除数量。论文正文没有列出这个模型最终选中的具体前缀数和删除数,不能把搜索上限当作实际部署值。
测试图像先经过未改动的早期层,在所选中层利用寄存器前缀,在最敏感 block 入口删除残余高范数 patch,随后继续编码。主文表 7 的分类准确率为:原始量化模型 26.04%,仅缓存 23.82%,仅删除 69.06%,组合 72.35%。这不是一条随着“多加一个模块”必然单调提升的路径,而是两个操作的作用取决于彼此和具体模型。
损失函数 / 训练策略¶
RegCache 本身没有新的训练损失,不更新模型权重,也不训练寄存器嵌入;其成本来自敏感层分析、候选缓存构建和参考任务上的超参数选择。作者报告,在 RTX 4090 上使用朴素 RTN 伪量化时,总搜索耗时约 1 小时。该数字不等于所有 PTQ 基线、所有编码器都能在同样时间完成。
因此“无需训练”不等于“不需要数据或标签”:主流程使用 ImageNet-1k 训练集分类准确率,且候选池达到 50,000 张图像。正文提到附录有基于重建损失的无标签替代方案,但当前缓存不含该附录,不能补写其损失定义、数据预算或结果。原文公式 (1)、(2) 的缓存文本均有缺损,本笔记只保留上面可由正文确认的排序、平均和删除定义,不重建缺失公式。
实验关键数据¶
主实验¶
独立视觉编码器覆盖 CLIP、OpenCLIP、SigLIP、SigLIP2 和 DINOv2,考察 W4A4、W6A6、W8A8,即权重和激活分别使用相应位宽。基线包括 PTQ4ViT、RepQ-ViT、NoisyQuant、FIMA-Q、ERQ 与朴素量化。下表节选主文表 2、3、4;提升均为同一配置加 RegCache 前后的百分点差,不能跨任务直接比较。
| 模型与评测 | 量化配置 | 基线 | 加 RegCache | 提升 |
|---|---|---|---|---|
| CLIP-B/16,ImageNet-1k 准确率 | ERQ W4A4 | 1.56 | 46.07 | +44.51 |
| CLIP-B/16,ImageNet-1k 准确率 | FIMA-Q W4A4 | 50.41 | 62.08 | +11.67 |
| OpenCLIP-B/16,ImageNet-1k 准确率 | RepQ-ViT W6A6 | 46.51 | 68.22 | +21.71 |
| SigLIP2-B/16,ImageNet-1k 准确率 | PTQ4ViT W6A6 | 41.54 | 69.02 | +27.48 |
| DINOv2-B/14,ImageNet-1k 准确率 | RepQ-ViT W8A8 | 82.27 | 81.55 | -0.72 |
| CLIP-B/16,COCO 图到文 R@1 | FIMA-Q W4A4 | 40.92 | 51.82 | +10.90 |
| Qwen3-VL-2B,VQAv2 | RepQ-ViT,4 bit | 32.03 | 42.72 | +10.69 |
| Qwen3-VL-8B,Video-MME | RepQ-ViT,4 bit | 50.44 | 52.89 | +2.45 |
CLIP-B/16 的全精度分类准确率为 68.32%,因此 ERQ W4A4 的大幅提升仍留下明显差距。Qwen3-VL-2B 的全精度 VQAv2 为 77.05%,也远高于加入 RegCache 后的 42.72%。论文证明的是改善低比特退化,而不是在所有配置中做到无损压缩。
消融实验¶
主文表 7 报告朴素 W8A8 下的 ImageNet-1k 准确率;PC 为前缀缓存,TD 为 token 删除。表中完整组合最好,但不能把“两个模块都重要”解释为它们在每个模型上贡献相等。
| 配置 | SigLIP-B/16 | SigLIP2-B/16 |
|---|---|---|
| 基线 | 69.71 | 26.04 |
| 仅 PC | 74.37 | 23.82 |
| 仅 TD | 42.41 | 69.06 |
| PC + TD | 74.38 | 72.35 |
在 SigLIP 上,完整组合比仅缓存高 0.01 个百分点,主要增益来自缓存;在 SigLIP2 上,仅删除已恢复大部分性能,而缓存配合删除再增加 3.29 个百分点。这个差异比笼统说“协同显著”更能说明模型依赖性。
关键发现¶
主文表 6 在 500 张图像上统计敏感层输入的最大 token 范数:CLIP 从 41.38 降到 11.45,SigLIP2 从 148.20 降到 15.16。异常幅度的下降与量化准确率改善方向一致,但该相关性不是普适的单一因果证明。
参考前缀在 ImageNet-1k 上搜索后还能用于其他数据集。表 5 中 CLIP-B/16 在 Food-101 上从 33.30% 提升到 74.68%,支持跨数据集复用;这不意味着同一前缀可以跨模型直接通用。
部署测量使用 NVIDIA A6000 与 TensorRT。表 8 中 batch size 为 64 的 CLIP-B/16,延迟为全精度 132.13 ms、INT8 60.64 ms、INT8 + RegCache 61.27 ms,后者相对 INT8 增加 1.04%;SigLIP-B/16 的额外开销为 1.54%。这些是 INT8 实测,不能据此宣称 W4A4 有相同加速比。Qwen3-VL 的延迟结论也采用 INT8 部署配置,与上面的 4 bit 准确率实验不同。
亮点与洞察¶
- 将视觉量化的异常值问题具体定位到内部计算角色,而不只是在异常值已经出现后调整量化尺度。可复用的对象是中层 KV 状态,不是固定输入 patch。
- 候选选择使用量化敏感性,目标是保护量化后的任务性能。它与为了改善注意力图可解释性而增加寄存器的工作有明确区别。
- 缓存和删除联合改变异常值分布,因而能叠加在多种 PTQ 基线上。实际收益仍取决于基础量化器是否已经消除了大部分误差,以及模型是否确实受汇聚 token 主导。
局限与展望¶
- 作者明确承认需要按视觉编码器和基础量化算法启发式选择前缀数量、删除数量等超参数。无需训练降低了成本,但没有消除校准和搜索成本。
- DINOv2 的最佳注入范围不同,且部分 8 bit 配置退化;其低比特表现也没有被普遍修复。后续需要解释文本监督与自监督编码器的异常状态为何不同。
- 从笔记评估角度看,按高范数删除 patch 对密集预测、空间对齐及细粒度局部证据的影响尚不能由分类、检索和 VQA 结果充分证明。不能默认删除的是所有任务都无用的背景。
- 缓存缺少正文引用的附录,因此无标签方案、更多 VLM 结果、具体超参数与输出 token 对齐实现无法在此核验。可复现实现应进一步确认这些细节。
- 低比特精度提升与真实部署加速需要分开验证。当前 INT8、单款 GPU 和既定 batch 下的低开销,不能直接外推到所有边缘设备或 4 bit 内核。
相关工作与启发¶
- Vision Transformers Need Registers:在训练时加入寄存器来改善内部表征;RegCache 从已有模型中提取缓存,避免重新训练,并以激活量化性能为主要目标。
- Vision Transformers Don't Need Trained Registers:推理时将经常出现异常值的通道中的最大激活移入额外 token;RegCache 主要复用预计算 token 级 KV 状态,但仍保留逐图删除操作。
- 语言模型前缀方法:继承注意力汇聚前缀缓解异常值的思想,新增视觉候选挖掘、中层起始和残余删除。连续 patch 嵌入与离散词表的差异决定了不能原样迁移。
- RepQ-ViT、PTQ4ViT、FIMA-Q、ERQ:这些方法通过尺度、量化函数或误差补偿处理量化问题;RegCache 先改变模型的异常值行为,形成可叠加关系,而非取代它们。
评分¶
- 新颖性: 4/5。前缀思想有先例,但视觉中层候选构建与删除配合形成了针对性方案。
- 实验充分度: 4/5。覆盖多编码器、多 PTQ、分类检索和 VLM,并有消融及真实延迟;密集任务与更广硬件验证仍不足。
- 写作质量: 4/5。观察、方法和消融之间联系清晰,但部分概括强于表格中的逐配置证据。
- 价值: 4/5。提供无需训练的实用量化插件,尤其有利于异常值主导的低比特配置,但需要逐模型调参。--- title: >- [论文解读] Activation Quantization of Vision Encoders Needs Prefixing Registers description: >- ECCV2026 视觉编码器量化论文 RegCache:从参考图像提取中层寄存器 KV 前缀并删除残余异常 token,无需训练即可改善激活量化,CLIP-B/16 的 ERQ W4A4 分类准确率从 1.56% 提升至 46.07%。 tags:
- ECCV2026
- VLM效率
- 激活量化
- 寄存器缓存
- 训练后量化 date: 2026-09-15
Activation Quantization of Vision Encoders Needs Prefixing Registers¶
会议: ECCV2026
官方论文: 5152
论文: PDF
代码: https://github.com/spbob0418/RegCache
领域: VLM效率 / 视觉编码器量化
关键词: 激活量化、寄存器缓存、注意力汇聚、中层前缀、token删除
一句话总结¶
RegCache 从参考图像中提取可跨图像复用的中层寄存器 KV 缓存,通过前缀注入和残余异常 token 删除改善视觉编码器的训练后量化,使 CLIP-B/16 在 ERQ W4A4 下的 ImageNet-1k 准确率从 1.56% 提升到 46.07%,但并不能普遍恢复全精度性能。
研究背景与动机¶
CLIP、SigLIP 等视觉编码器既可独立部署,也承担 VLM 中的图像和视频编码。与逐 token 自回归的语言模型不同,视觉编码通常更容易受计算量限制,因此仅压缩权重不够,同时量化权重与激活,才能将高精度矩阵乘法替换为低精度运算。困难在于少数异常大的激活会撑大量化范围,让大多数普通激活失去分辨率;论文发现,某些视觉编码器即使量化到 8 bit 也会明显退化。
语言模型中已有利用注意力汇聚 token 作为前缀来缓解异常值的方法,因为 BOS、SEP 等特殊 token 在词表中有固定身份。视觉 patch 却是连续嵌入,同一背景区域的角色还取决于图像内容,不能直接从词表挑出一个通用视觉寄存器。作者逐层量化后发现,敏感位置通常落在中间 block 的 MLP 投影层,并与 FC2 输入异常值开始出现的位置吻合。前景保留、背景置零的图像更早出现异常值,则支持模型需要先经过若干层,才识别出可承担非语义计算的 patch 这一解释。
更关键的是,异常 token 的位置虽然因图像而异,中层表征却相似:在 SigLIP-B/16 的 64 张图像分析中,异常 token 的平均余弦相似度为 0.89,普通 token 仅为 0.26。因此可以复用它们的内部状态,而不必训练新的输入 token。核心 idea:从参考图像提取中层异常 token 的 KV 状态作为外部寄存器,再删除测试图像中残留的内部异常 token,将撑大量化范围的计算角色从正常图像序列中移走。
方法详解¶
整体框架¶
RegCache 是接在现有 PTQ 管线上的异常值缓解模块,不是新的量化器,也不需要为寄存器反向传播。离线阶段先定位量化敏感层并筛选候选 token,再用全精度编码器得到逐 block 的 KV 缓存,平均后搜索前缀数量;在线阶段保持早期层不变,从选定中层开始使用缓存,并在最敏感 block 的输入处删除残余高范数 patch token。输出仍是供分类、检索或 VLM 使用的视觉表征。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["参考图像与预训练<br/>视觉编码器"] --> B["敏感层与候选筛选"]
B --> C["中层 KV 前缀缓存"]
T["测试图像<br/>早期层保持不变"] --> D["残余 token 删除"]
C -->|前缀辅助的中层推理| D
D --> E["后续量化编码<br/>使用所选缓存"]
E --> F["视觉表征<br/>分类、检索或 VLM"]
这里的三个设计不是互不相关的技巧:候选筛选解决“缓存谁”,中层前缀解决“在哪里、以何种形式复用”,删除解决“注入以后仍有异常值怎么办”。前缀开始层与最敏感层可以不同,所以不能把图理解为先跑完所有缓存层再统一删除;删除实际发生在最敏感 block 的入口。
关键设计¶
1. 敏感层与候选筛选:用量化误差定位寄存器来源
先逐层独立量化,每次只量化一个层,并在 ImageNet-1k 训练集的参考分类任务上测准确率下降,选降幅最大的层为敏感层。如果已有目标 PTQ 算法,就用它进行敏感性分析;否则用 round-to-nearest(RTN)。这比假定所有编码器都在固定深度出现异常值更可靠,也使候选选择与最终部署量化器相适配。这里“层”通常指 FC2 这样的子层,而删除位置是包含该子层的整个 transformer block 的输入,两者不能混为一谈。
随后运行参考图像,按敏感层输入 token 的 \(\ell_\infty\) 范数排序,即比较各 token 所有通道中最大的绝对激活值。实验从 ImageNet-1k 训练集抽取 50,000 张图像,保留最高范数的 100 个候选 token;这不是为每张图像都保留 100 个。考虑到汇聚 token 可能提前形成,作者还在最多三个前序 block 中分别做相同搜索,建立各自的候选集合。高范数本身不是语义重要性的保证,此处反而利用跨图像相似性,将其视为可复用的非语义计算状态。
2. 中层 KV 前缀缓存:复用内部状态而不是学习新 patch
对每个候选 token,用未量化的编码器取得从候选起始中层到后续 block 的 key/value 状态,然后对候选的对应 KV 缓存取平均,得到一个可复用寄存器。推理时直接以前缀缓存形式提供这些状态,而不是把一张参考图像拼到当前图像前面,也不是重新训练视觉骨干。对固定模型和量化算法,缓存可跨测试图像复用,不需要逐图搜索或重新优化寄存器。
一个平均寄存器未必足以吸收内部汇聚行为,因此作者将同一缓存复制若干份,搜索前缀数量 \(\tau\in\{1,2,\ldots,15\}\),以参考分类准确率选择最优值。早期层不注入,因为原始 patch 尚未形成稳定、可复用的非语义状态。实验中 CLIP 与 SigLIP 从搜索到的起始层持续注入至最后一层;DINOv2 则仅在搜索到的层注入效果更好。后者说明“中层到末层全加”不是对所有视觉预训练方式都成立的规则。
3. 残余 token 删除:清除前缀未能替代的内部异常值
外部寄存器并不保证所有内部汇聚 token 都消失。对每张测试图像,算法在最敏感 block 的输入处按 \(\ell_\infty\) 范数选出最大的 \(\tilde{k}\) 个原生图像 patch token 并删除;删除数量同样通过参考任务调节。删除对象是输入图像内部产生的 token,不是刚加入的外部 KV 前缀。缓存参数可以离线固定,但这一步仍需要在线根据当前图像计算范数并选取 token,不能称为完全没有逐图处理。
删除与缓存必须配合:只删除可能破坏模型原本依赖的汇聚功能,只缓存又可能无法充分收窄激活范围。SigLIP-B/16 单独删除的准确率仅为 42.41%,低于 69.71% 的基线;SigLIP2-B/16 单独缓存也从 26.04% 降到 23.82%。这说明高范数 token 不是随手删掉就好,外部替代状态是否到位是关键。
一个完整示例¶
以 SigLIP2-B/16 的 W8A8 设置为例,离线从 50,000 张训练图像筛出每个被考察位置的 100 个高范数候选,构建平均 KV 缓存,再从 1 到 15 份前缀中选择合适数量,并调节删除数量。论文正文没有列出这个模型最终选中的具体前缀数和删除数,不能把搜索上限当作实际部署值。
测试图像先经过未改动的早期层,在所选中层利用寄存器前缀,在最敏感 block 入口删除残余高范数 patch,随后继续编码。主文表 7 的分类准确率为:原始量化模型 26.04%,仅缓存 23.82%,仅删除 69.06%,组合 72.35%。这不是一条随着“多加一个模块”必然单调提升的路径,而是两个操作的作用取决于彼此和具体模型。
损失函数 / 训练策略¶
RegCache 本身没有新的训练损失,不更新模型权重,也不训练寄存器嵌入;其成本来自敏感层分析、候选缓存构建和参考任务上的超参数选择。作者报告,在 RTX 4090 上使用朴素 RTN 伪量化时,总搜索耗时约 1 小时。该数字不等于所有 PTQ 基线、所有编码器都能在同样时间完成。
因此“无需训练”不等于“不需要数据或标签”:主流程使用 ImageNet-1k 训练集分类准确率,且候选池达到 50,000 张图像。正文提到附录有基于重建损失的无标签替代方案,但当前缓存不含该附录,不能补写其损失定义、数据预算或结果。原文公式 (1)、(2) 的缓存文本均有缺损,本笔记只保留上面可由正文确认的排序、平均和删除定义,不重建缺失公式。
实验关键数据¶
主实验¶
独立视觉编码器覆盖 CLIP、OpenCLIP、SigLIP、SigLIP2 和 DINOv2,考察 W4A4、W6A6、W8A8,即权重和激活分别使用相应位宽。基线包括 PTQ4ViT、RepQ-ViT、NoisyQuant、FIMA-Q、ERQ 与朴素量化。下表节选主文表 2、3、4;提升均为同一配置加 RegCache 前后的百分点差,不能跨任务直接比较。
| 模型与评测 | 量化配置 | 基线 | 加 RegCache | 提升 |
|---|---|---|---|---|
| CLIP-B/16,ImageNet-1k 准确率 | ERQ W4A4 | 1.56 | 46.07 | +44.51 |
| CLIP-B/16,ImageNet-1k 准确率 | FIMA-Q W4A4 | 50.41 | 62.08 | +11.67 |
| OpenCLIP-B/16,ImageNet-1k 准确率 | RepQ-ViT W6A6 | 46.51 | 68.22 | +21.71 |
| SigLIP2-B/16,ImageNet-1k 准确率 | PTQ4ViT W6A6 | 41.54 | 69.02 | +27.48 |
| DINOv2-B/14,ImageNet-1k 准确率 | RepQ-ViT W8A8 | 82.27 | 81.55 | -0.72 |
| CLIP-B/16,COCO 图到文 R@1 | FIMA-Q W4A4 | 40.92 | 51.82 | +10.90 |
| Qwen3-VL-2B,VQAv2 | RepQ-ViT,4 bit | 32.03 | 42.72 | +10.69 |
| Qwen3-VL-8B,Video-MME | RepQ-ViT,4 bit | 50.44 | 52.89 | +2.45 |
CLIP-B/16 的全精度分类准确率为 68.32%,因此 ERQ W4A4 的大幅提升仍留下明显差距。Qwen3-VL-2B 的全精度 VQAv2 为 77.05%,也远高于加入 RegCache 后的 42.72%。论文证明的是改善低比特退化,而不是在所有配置中做到无损压缩。
消融实验¶
主文表 7 报告朴素 W8A8 下的 ImageNet-1k 准确率;PC 为前缀缓存,TD 为 token 删除。表中完整组合最好,但不能把“两个模块都重要”解释为它们在每个模型上贡献相等。
| 配置 | SigLIP-B/16 | SigLIP2-B/16 |
|---|---|---|
| 基线 | 69.71 | 26.04 |
| 仅 PC | 74.37 | 23.82 |
| 仅 TD | 42.41 | 69.06 |
| PC + TD | 74.38 | 72.35 |
在 SigLIP 上,完整组合比仅缓存高 0.01 个百分点,主要增益来自缓存;在 SigLIP2 上,仅删除已恢复大部分性能,而缓存配合删除再增加 3.29 个百分点。这个差异比笼统说“协同显著”更能说明模型依赖性。
关键发现¶
主文表 6 在 500 张图像上统计敏感层输入的最大 token 范数:CLIP 从 41.38 降到 11.45,SigLIP2 从 148.20 降到 15.16。异常幅度的下降与量化准确率改善方向一致,但该相关性不是普适的单一因果证明。
参考前缀在 ImageNet-1k 上搜索后还能用于其他数据集。表 5 中 CLIP-B/16 在 Food-101 上从 33.30% 提升到 74.68%,支持跨数据集复用;这不意味着同一前缀可以跨模型直接通用。
部署测量使用 NVIDIA A6000 与 TensorRT。表 8 中 batch size 为 64 的 CLIP-B/16,延迟为全精度 132.13 ms、INT8 60.64 ms、INT8 + RegCache 61.27 ms,后者相对 INT8 增加 1.04%;SigLIP-B/16 的额外开销为 1.54%。这些是 INT8 实测,不能据此宣称 W4A4 有相同加速比。Qwen3-VL 的延迟结论也采用 INT8 部署配置,与上面的 4 bit 准确率实验不同。
亮点与洞察¶
- 将视觉量化的异常值问题具体定位到内部计算角色,而不只是在异常值已经出现后调整量化尺度。可复用的对象是中层 KV 状态,不是固定输入 patch。
- 候选选择使用量化敏感性,目标是保护量化后的任务性能。它与为了改善注意力图可解释性而增加寄存器的工作有明确区别。
- 缓存和删除联合改变异常值分布,因而能叠加在多种 PTQ 基线上。实际收益仍取决于基础量化器是否已经消除了大部分误差,以及模型是否确实受汇聚 token 主导。
局限与展望¶
- 作者明确承认需要按视觉编码器和基础量化算法启发式选择前缀数量、删除数量等超参数。无需训练降低了成本,但没有消除校准和搜索成本。
- DINOv2 的最佳注入范围不同,且部分 8 bit 配置退化;其低比特表现也没有被普遍修复。后续需要解释文本监督与自监督编码器的异常状态为何不同。
- 从笔记评估角度看,按高范数删除 patch 对密集预测、空间对齐及细粒度局部证据的影响尚不能由分类、检索和 VQA 结果充分证明。不能默认删除的是所有任务都无用的背景。
- 缓存缺少正文引用的附录,因此无标签方案、更多 VLM 结果、具体超参数与输出 token 对齐实现无法在此核验。可复现实现应进一步确认这些细节。
- 低比特精度提升与真实部署加速需要分开验证。当前 INT8、单款 GPU 和既定 batch 下的低开销,不能直接外推到所有边缘设备或 4 bit 内核。
相关工作与启发¶
- Vision Transformers Need Registers:在训练时加入寄存器来改善内部表征;RegCache 从已有模型中提取缓存,避免重新训练,并以激活量化性能为主要目标。
- Vision Transformers Don't Need Trained Registers:推理时将经常出现异常值的通道中的最大激活移入额外 token;RegCache 主要复用预计算 token 级 KV 状态,但仍保留逐图删除操作。
- 语言模型前缀方法:继承注意力汇聚前缀缓解异常值的思想,新增视觉候选挖掘、中层起始和残余删除。连续 patch 嵌入与离散词表的差异决定了不能原样迁移。
- RepQ-ViT、PTQ4ViT、FIMA-Q、ERQ:这些方法通过尺度、量化函数或误差补偿处理量化问题;RegCache 先改变模型的异常值行为,形成可叠加关系,而非取代它们。
评分¶
- 新颖性: 4/5。前缀思想有先例,但视觉中层候选构建与删除配合形成了针对性方案。
- 实验充分度: 4/5。覆盖多编码器、多 PTQ、分类检索和 VLM,并有消融及真实延迟;密集任务与更广硬件验证仍不足。
- 写作质量: 4/5。观察、方法和消融之间联系清晰,但部分概括强于表格中的逐配置证据。
- 价值: 4/5。提供无需训练的实用量化插件,尤其有利于异常值主导的低比特配置,但需要逐模型调参。