Efficient Quantization-Aware Adaptation for Visual Foundation Models¶
会议: ECCV 2026
论文: ECCV 原文
代码: https://github.com/leenas233/EQuA
领域: 模型量化 / 视觉大模型效率
关键词: 视觉基础模型, 量化感知微调, 显存优化, 侧边适配器, 无开销部署
一句话总结¶
针对视觉基础模型在量化感知微调时深层骨干网络与激活量化器反向传播显存爆炸的痛点,EQuA 将骨干网络按重要性拆出轻量级子网络侧边分支并冻结主干计算图,配合无缓存梯度重算与块级激活量化微调,在将训练显存削减 70% 以上的同时实现部署期零计算与参数开销合并。
研究背景与动机¶
在大语言模型领域,结合参数高效微调(PEFT)与模型量化的联合方案(如 QLoRA、QA-LoRA、PEQA)已经成为低资源下游适配的标配。这类方法的核心假设是:LLM 的显存开销主要来源于庞大的预训练浮点权重(例如 LLaMA2-70B 浮点权重占用高达 138 GB),只要将静态权重压至 4-bit 整数并仅微调轻量适配器,就能大幅削减训练显存。
然而,将这一范式直接移植到视觉基础模型(如 SAM-H 与 ViT)时却遭遇了严重的失效。视觉基础模型的浮点权重规模通常仅有数吉字节(例如 SAM-H 权重仅占 2.4 GB,占微调总显存的 3.3%),但其处理高分辨率图像与密集预测任务时,中间特征图尺寸极大。实测表明,视觉模型在量化感知训练时的显存瓶颈集中在两处:深层骨干网络为了反向传播在多个 ViT 块中缓存的大量中间激活(占用超过 65% 显存),以及微调全网络激活量化器所引入的额外反向传播缓存(占用 21.8% 显存)。这导致像 QA-LoRA 这类方法在 SAM-H 上训练显存依然逼近 70 GB,无法在常见的 24 GB 单卡 GPU(如 RTX 3090)上运行。虽然基于侧边适配器的旁路微调方法(如 QST)通过阻断主干梯度能压低显存,但这些额外分支在推理部署时带来了显著的额外延迟,且由于主干激活量化器未被优化,累积的量化噪声直接被适配器吸收,严重制约了下游任务性能。
本文切入的角度是:必须重构微调期的计算图拓扑,在彻底规避主干与激活量化器显存缓存的同时,让适配结构能在部署时直接吸收入原权重。核心 idea:基于输入激活缩放的权重重要性,从骨干网络线性层中无额外参数地拆分出轻量级子网络侧边适配器(SSA),在训练期冻结主干计算图并辅以解析梯度重算与周期性块级激活量化(BAQF),在部署期将适配器完全合入量化模型以达成零额外推理开销。
方法详解¶
整体框架¶
EQuA 将整个工作流划分为权重感知拆分、侧边量化感知微调以及部署期无损合并三个阶段。在微调准备期,系统利用输入激活幅度对骨干线性层权重加权打分,将注意力模块(MHSA)的投影权重及多层感知机(MLP)权重按通道解耦为高维的显存密集骨干分支(MIB)与低维的子网络侧边适配器分支(SSA)。在微调期间,MIB 分支参数冻结且不构建反向计算图,训练显存仅受制于低维 SSA 与轻量 LoRA 参数;同时通过一步解析式梯度重算将 MIB 的监督信号传回 SSA,并以块级优化策略更新激活量化步长。微调结束后,SSA 分支直接与 MIB 对应通道重新拼合,生成标准的均匀量化模型。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入图像与特征 F"] --> B["基于激活缩放的通道重要性评估<br/>计算权重通道概率 P_M 并抽样"]
B --> C["子网络侧边适配器 (SSA) 分支拆解<br/>拆分 MHSA 的 V/Proj 与 MLP 线性层"]
C --> D["侧边量化感知微调 (SAQF)<br/>冻结 MIB 阻断计算图 + SSA 挂载 LoRA 训练"]
D --> E["主干监督梯度重算 (GR)<br/>利用布尔掩码一步重算 MIB 输入梯度传回 SSA"]
E --> F["块级激活量化微调 (BAQF)<br/>每 K 个 Epoch 逐块最小化 MSE 更新激活尺度 s_a"]
F --> G["部署期权重重构与合并<br/>SSA 与 MIB 通道逆拼合,恢复原结构无额外计算"]
关键设计¶
1. 基于激活缩放的子网络侧边适配器拆分:通道重要性引导的无参数解耦
为了消除外置适配器引入的推理延迟与额外参数量,EQuA 提出直接从 ViT 内部的线性层矩阵中切分出低维子网络。在 ViT 块中,MHSA 的 \(W^V\) 与 \(W^{Proj}\) 以及 MLP 的 \(W^{Lin1}\) 与 \(W^{Lin2}\) 具有天然的矩阵分块可乘性: $\(MHSA(X) = AX W_{mib}^V W_{mib}^{Proj} + AX W_{ssa}^V W_{ssa}^{Proj} = MHSA_{mib}(X) + MHSA_{ssa}(X)\)$ $\(MLP(X) = \text{GeLU}(X W_{mib}^{Lin1}) W_{mib}^{Lin2} + \text{GeLU}(X W_{ssa}^{Lin1}) W_{ssa}^{Lin2} = MLP_{mib}(X) + MLP_{ssa}(X)\)$ 其中无法按块分解的注意力图计算(\(W^Q, W^K\))则保持共享与不拆分。为了决定哪些通道应当归入可学习的 SSA 分支,EQuA 避免了仅依赖权重绝对值的传统做法(视觉领域跨域微调时激活分布漂移显著),转而将权重绝对值与输入特征在对应通道上的 \(L_2\) 范数相乘得到通道重要性评分 \(M_i = \sum_{j=1}^{D_{out}} \|X_{:, i}\|_2 \cdot |W_{i, j}|\),并通过 Softmax 转化为概率分布 \(P_i^M\) 进行随机抽样。相比贪心截取 Top-\(D_s\) 通道,概率抽样增强了训练初期的优化稳定性,且抽取的通道在下游部署时能直接沿原维度拼接还原,完全不改变部署模型架构。
2. 侧边量化感知微调与低显存梯度重算:彻底剔除主干激活缓存
在微调过程中,高维的 MIB 分支被完全排除在 PyTorch 的反向传播自动求导图之外,系统仅为维度仅为 \(D_s\)(默认设为 64)的 SSA 分支构建计算图与缓存激活,从而消除了主干中几十吉字节的前向缓存。为了进一步削减优化器状态开销,SSA 内部线性层进一步集成 LoRA 分解更新: $\(\hat{W}_{ssa} = \text{Dequant}(\text{Quant}(W_{ssa} + \alpha \cdot A_r B_r, s_w, z_w), s_w, z_w)\)$ 此时可训练参数量被压制到全模型的 1.2% 左右。然而,若 MIB 彻底不回传梯度,SSA 将无法感知主干量化带来的信息损失。EQuA 的巧妙之处在于利用 MIB 参数全冻结的特性,设计了一步解析式输入梯度重算(Gradient Recomputation, GR)。通过在正向传播时仅缓存极轻量的量化截断布尔掩码(如 \(\mathds{1}^{Proj}_{mib}\) 与 \(\mathds{1}^{Lin2}_{mib}\)),直接通过矩阵逆乘解析计算出 MIB 线性层输入端的梯度并注入 SSA 的梯度流中,使 SSA 能动态补偿主干的量化误差,且无需保存中间激活图。
3. 块级激活量化微调:规避全局反传的逐层噪声校准
全网微调激活量化器之所以占据 21.8% 显存,是因为其激活截断范围的学习依赖跨越全局骨干的长程反向传播。为了摆脱这一负担并抑制视觉任务对激活量化极度敏感的缺陷,EQuA 设计了块级局部校准策略 BAQF。在完成每 \(K\) 个周期的 SAQF 训练后,算法临时冻结除激活量化步长参数 \(s_a\) 外的所有权重与适配器,自底向上逐个遍历 ViT 块,以单块前向输出与对应全精度参考块 \(F_l^{fp}\) 之间的均方误差(MSE)为目标更新 \(s_a\): $\(s_a \leftarrow s_a - \eta \cdot \nabla_{s_a} \mathbb{E}\left[ \|F_l^{fp}(Y_{l-1}) - \mathcal{F}_l(\hat{Y}_{l-1})\|_2^2 \right]\)$ 该过程仅在单个 Block 内局部迭代优化(默认 100 轮),前向与反向张量完全局限在单个模块内,其引入的训练显存增量近乎为零,却成功消除由于量化截断引起的误差逐层放大,使 4-bit 低比特量化模型的分割与分类精度大幅回升。
实验关键数据¶
主实验¶
论文在视觉基础模型 SAM-Huge(SAM-H,骨干 641M 参数)与 ViT-Base(ViT-B,86M 参数)上进行了广泛的微调与量化评测,覆盖医疗息肉分割(CVC-T、Kvasir、ETIS)、伪装目标检测(CAMO、COD10K)、农作物叶片病害分割(Leaf)以及 VTAB-1K 分类基准(19 个数据集)。下表列出 SAM-H 在 4-bit 极端量化(W4A4)配置下的代表性下游分割性能及显存对比(源自原论文 Table 1 与 Table 7)。
| 方法 | 比特设置 | 可训参数量 (Param) | 训练显存 (Mem) | CVC-T (\(S_\alpha\)) | Kvasir (\(S_\alpha / E_\phi\)) | Leaf (mIoU / mDice) | 推理延迟 (b=1) | 推理加速比 |
|---|---|---|---|---|---|---|---|---|
| Full (FP) | W32A32 | 641.09 M | 49.6 GB | 0.917 | 0.917 / 0.954 | 0.710 / 0.818 | 0.75 s | 1.00× |
| LoRA (FP) | W32A32 | 8.03 M | 45.4 GB | 0.937 | 0.936 / 0.962 | 0.730 / 0.831 | 0.75 s | 1.00× |
| LSQ (QAT) | W4A4 | 641.46 M | 72.4 GB | 0.876 | 0.895 / 0.931 | 0.697 / 0.807 | 0.54 s | 1.38× |
| QA-LoRA | W4A4 | 7.13 M | 68.9 GB | 0.919 | 0.923 / 0.948 | 0.705 / 0.815 | 0.54 s | 1.38× |
| PEQA | W4A4 | 4.43 M | 69.4 GB | 0.927 | 0.926 / 0.952 | 0.718 / 0.819 | 0.54 s | 1.38× |
| QST | W4A4 | 8.30 M | 21.6 GB | 0.905 | 0.894 / 0.921 | 0.656 / 0.772 | 0.63 s | 1.18× |
| EQuA (本文) | W4A4 | 7.67 M | 18.5 GB | 0.922 | 0.915 / 0.947 | 0.709 / 0.816 | 0.54 s | 1.38× |
消融实验¶
下表汇总了 SAM-H 在 W4A4 设置下逐级引入各核心组件时的参数量、单轮训练耗时、显存占用以及在 Kvasir 数据集上的性能变化(源自原论文 Table 3)。
| 实验配置说明 | 组件构成 | 可训参数量 | 训练耗时 (h/ep) | 显存占用 | Kvasir \(S_\alpha\) | Kvasir \(E_\phi\) | 机制效果解读 |
|---|---|---|---|---|---|---|---|
| 基线 QAT 模型 | Base (LSQ) | 641.46 M | 0.60 h | 72.4 GB | 0.895 | 0.931 | 全参数反传,显存极度膨胀 |
| 主干图内侧边分支 | + SSA* (主干参与建图) | 29.90 M | 0.57 h | 67.6 GB | 0.918 | 0.941 | 仅微调子分支但主干仍缓存储存 |
| 阻断主干计算图 | + SSA (主干完全脱圈) | 29.90 M | 0.32 h | 18.6 GB | 0.881 | 0.913 | 显存骤降 72.5%,但缺反馈精度下滑 |
| 引入梯度重算 | + SSA & GR | 29.90 M | 0.50 h | 18.6 GB | 0.910 | 0.932 | 补充主干反馈,\(S_\alpha\) 显著回升 +0.029 |
| 引入低秩微调 | + SSA & GR & LoRA | 7.67 M | 0.50 h | 18.5 GB | 0.906 | 0.926 | 参数大幅压缩至 1.2%,性能保持平稳 |
| 加入块级激活微调 | + SSA & GR & LoRA & BAQF (Full) | 7.67 M | 0.52 h | 18.5 GB | 0.915 | 0.947 | 抑制量化噪声,精度进一步提升且显存不涨 |
关键发现¶
- 显存与算力瓶颈真正得以破除:EQuA 在 SAM-H 上的微调显存由传统全量量化微调的 72.4 GB 及 QA-LoRA 的 68.9 GB 直降至 18.5 GB(降幅高达 73.3%),使得在 24 GB 显存的消费级单卡(RTX 3090/4090)上完成大模型下游微调成为可能。
- 超越旁路微调基线 QST 的推理与精度表现:与同样主打低显存的 QST 相比,EQuA 在保持甚至更低显存(18.5 GB vs. 21.6 GB)的前提下,Leaf 数据集指标高出 0.053 mIoU 与 0.044 mDice;在部署期由于彻底合并分支,推理加速比达到原生 4-bit 的 1.38×,而 QST 因残存外挂适配器分支仅有 1.18×。
- 超参鲁棒性与正交兼容性:超参消融显示,SSA 维度 \(D_s=64\) 与 LoRA 秩 \(r=4\) 即可达到饱和性能;同时与低精度激活训练方法 COAT(压缩激活位宽)完全正交兼容,两者结合可将 SAM-H 训练显存进一步压至 12.7 GB。
亮点与洞察¶
- “分治微调、合一推理”的无损拆分设计:传统 PEFT 方法常在外置插件与推理延迟之间妥协,而 EQuA 通过矩阵可加性将骨干线性层按权重重要性动态拆出通道作为 Adapter,训练完后直接逆向拼接回主矩阵。这一构想既避开了外置模块的部署延时,又保留了模块化调优的低资源优势。
- 低开销反向传播的梯度解析重算:不依赖全图 Autograd 缓存,仅在正向期缓存几张布尔量化截断掩码,即可解析重构主干输入梯度并融入侧边分支。这种以极低前向计算换取巨大空间节省的思路,为深层视觉模型的反向传播显存优化提供了优雅示范。
- 块级局部优化规避跨层累积显存:将敏感度极高的激活量化参数从全网长程梯度流中剥离,改用交替式的 Block-wise 局部匹配,既解决了激活量化器反向传播带来 21.8% 显存冗余的弊病,又避免了量化误差逐层扩散。
局限与展望¶
- Q/K 注意力投影层无法结构化解耦:受限于多头自注意力计算中 \(Q K^T\) 矩阵相乘的非线性交互,当前的 SSA 无法将 \(W^Q\) 与 \(W^K\) 进行块矩阵形式的解耦,这两组权重只能在微调期保持完全冻结,限制了对某些需要深度调整自注意力交互分布的下游领域的适应能力。
- 交替式训练增加了调优控制复杂度:引入 BAQF 意味着训练管线需要在 SSA 的常规端到端微调与逐块 MSE 优化之间周期性交替切换,超参数 \(K\)(执行间隔)与 Iteration(迭代步数)需要按具体下游任务调优。
- 向视频与三维多模态大模型的扩展验证:当前验证主要覆盖 2D 基础模型(SAM-H、ViT-B),对于输入分辨率更高、时空维度激增的多模态视频大模型与 3D 点云骨干网络,其激活图规模更加庞大,SSA 拆分策略在这些架构上的适用性值得进一步探索。
相关工作与启发¶
- vs. QA-LoRA / PEQA: 这类针对 LLM 设计的联合量化微调技术仅关注如何降低权重参数量与存储量,但在视觉基础模型中,反向传播激活缓存才是显存绝对大头(>85%)。EQuA 针对性地阻断主干计算图并剥离激活量化器反传,显存节省超 70%。
- vs. QST: QST 虽通过外挂侧边网络节省了反向传播显存,但其新增的 Adapter 无法合并回原网络导致推理降速,且无法优化主干激活量化器。EQuA 实现了“训练期拆分、推理期合并”,并在精度和吞吐上全面胜出。
- 迁移启发:EQuA 的通道解耦并逆向合一(Split-and-Merge)思想,不仅适用于 4-bit 量化,同样可迁移到低比特稀疏化训练、端侧大模型持续学习及不同下游任务的快速切换部署中。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 针对视觉基础模型激活显存痛点,提出结构化子网络解耦与可合并侧边适配器,构思巧妙。
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖 SAM 与 ViT 跨医疗、自然、农业等 20+ 个基准数据集,显存与硬件部署延时测算扎实。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑链条严谨自洽,公式与图表层次分明,动机与机制阐述详实。
- 价值: ⭐⭐⭐⭐⭐ 彻底解决了 4-bit 视觉大模型在消费级单卡上无法进行量化感知微调的产业级难题,实用价值极高。