Quantized Prompt for Efficient Generalization of Vision-Language Models¶
会议: ECCV 2024
arXiv: 2407.10704
代码: GitHub (有)
领域: 多模态VLM
关键词: 量化, prompt tuning, 泛化, 视觉语言模型, 参数高效微调
一句话总结¶
将量化误差视为一种正则化噪声,对VLM的可学习prompt进行极低比特量化(最低1-bit),在大幅减少存储开销(最高16倍压缩)的同时显著提升模型在未见类别上的泛化能力,QCoOp仅需0.26KB即超越大量SOTA方法。
研究背景与动机¶
大规模预训练视觉语言模型(如CLIP)在下游任务适配时面临两大核心问题:过拟合和灾难性遗忘。现有方法(CoOp、CoCoOp、MaPLe等)通过prompt tuning进行参数高效微调,但随着方法日益复杂,存储和推理成本问题日益突出。
本文从一个关键观察出发:适度的随机噪声可以抑制过拟合和灾难性遗忘。作者进一步指出,量化误差本质上就是一种噪声,因此可以利用量化来正则化VLM。相比高斯噪声,量化误差更加可控,且量化本身还能大幅减少存储。这一独特视角将模型压缩与泛化增强有机统一。
核心矛盾在于:噪声过多会削弱模型的适配能力,噪声过少则无法提供有效正则化。因此需要精心设计量化方案,使量化误差维持在"适中"水平。
方法详解¶
整体框架¶
QPrompt方法基于对prompt权重分布特征的深入分析,采用K-Means聚类作为量化基础,结合归一化/反归一化和约束自适应聚类策略。整体pipeline:训练时通过STE(Straight-Through Estimator)传播梯度穿过量化操作;存储时将fp16参数转换为b-bit索引+码本。
关键设计¶
-
噪声与泛化的关系分析:
- 功能:在prompt权重上添加不同强度的高斯噪声,观察base/new类准确率变化
- 核心发现:训练过程中baseline的泛化能力持续下降而专化能力提升;适度噪声(如0.01)能在不显著损害已见类准确率的前提下提升未见类准确率
- 设计动机:过强噪声(0.1)严重削弱适配能力,过弱噪声(0.001)无法正则化,只有适中噪声有益——这为量化方案的设计提供了理论依据
-
Prompt权重分布特征分析:
- 功能:分析CoOp训练过程中prompt权重的分布变化
- 核心发现:(1) 权重分布形状在整个训练过程中基本不变;(2) 方差在训练初期快速增大;(3) 几乎没有异常值;(4) 相邻阶段权重变化平缓
- 设计动机:这些特征直接指导了量化方案的设计原则
-
K-Means量化与归一化:
- 功能:使用K-Means聚类构建量化映射Q,将prompt权重映射到2^b个离散值
- 核心思路:先对权重做归一化 \(\hat{W} = \frac{W - \mu}{\sigma}\),在归一化空间中做K-Means聚类,再反归一化得到量化后的权重 \(W_q = \sigma Q(\hat{W}) + \mu\)
- 设计动机:归一化消除了分布的平移和缩放变换的影响(因为训练中分布形状不变,主要变化来自方差);K-Means不受异常值影响(因为prompt权重无异常值)
-
约束自适应聚类(Constrained Adaptive Clustering, CAC):
- 功能:动态控制K-Means码本的更新频率
- 核心思路:不是每个iteration都重新聚类,而是设置最小更新间隔t,并通过KL散度衡量当前权重分布与缓存权重分布的差异。只有当KL散度超过阈值 \(T_{KL}\) 时才重新聚类
- 设计动机:(1) K-Means计算开销大,频繁执行降低训练效率;(2) 只有适度量化误差有助于泛化,持续最小化量化误差可能反而有害;(3) 相邻阶段权重变化平缓,频繁更新是徒劳的
- KL散度计算:先将新旧权重映射到同一事件空间(K-Means聚类的索引空间),再计算索引概率分布间的KL散度
-
存储优化:
- 功能:用b-bit索引+码本替代fp16参数
- 存储量:\(bN + 2^b \times 16\) bits,相比baseline的 \(16N\) bits
- 当b=1时,约16倍压缩
损失函数 / 训练策略¶
- 训练时使用STE直接穿过量化操作传播梯度:\(\frac{\partial Q(x)}{\partial x} = x\)
- 标准的CLIP分类loss:交叉熵损失基于图像-文本相似度
- 方法可集成到CoOp(得到QCoOp)或MaPLe(得到QMaPLe)中
实验关键数据¶
主实验:Base-to-New泛化(11个数据集平均)¶
| 方法 | 参数大小 | Base | New | H(调和均值) |
|---|---|---|---|---|
| CLIP | 0KB | 69.34 | 74.22 | 71.70 |
| CoOp | 4.1KB | 82.69 | 63.22 | 71.66 |
| CoCoOp | 70.8KB | 80.47 | 71.69 | 75.83 |
| ProGrad | 16.4KB | 82.79 | 68.55 | 75.00 |
| QCoOp | 0.26KB | 80.68 | 74.44 | 77.43 |
| MaPLe | 7096KB | 82.28 | 75.14 | 78.55 |
| QMaPLe | 1774KB | 83.02 | 75.57 | 79.12 |
消融实验¶
| 配置 | Base | New | H | 说明 |
|---|---|---|---|---|
| K-Means only | 78.71 | 72.55 | 75.50 | 基础量化 |
| K-Means + Norm | 78.84 | 73.09 | 75.85 | 归一化提升new acc |
| K-Means + Norm + CAC | 78.24 | 74.02 | 76.07 | CAC进一步提升new acc |
| QAT | 80.72 | 72.35 | 76.31 | QAT优于PTQ |
| PTQ | 82.21 | 68.50 | 74.73 | PTQ泛化能力弱 |
关键发现¶
- QCoOp(0.26KB)比ProGrad(16.4KB)小63倍,但准确率更高,展示了极致的效率
- QMaPLe相比MaPLe仅需0.25倍存储空间,但H提升0.57%
- 在跨数据集迁移中,QCoOp在10个目标数据集中5个上取得最高准确率
- 在few-shot学习中,QCoOp在所有shot数下均超越CLIP、CoOp和CLIP-Adapter
- 基于SLIP模型验证:QCoOp的new accuracy(74.04%)远高于CoOp(46.60%),H从55.51%飙升至71.07%
- 增加量化比特数不一定带来更好结果:b=1(75.92%)≥ b=2(75.91%)≥ b=4(75.76%)
亮点与洞察¶
- 视角新颖:首次将量化误差视为正则化工具而非需要最小化的缺陷,完全颠覆了传统量化的优化目标
- 理论与实践统一:通过详尽的prompt权重分布分析推导出量化方案的设计原则,而非凭空设计
- 极致效率:0.26KB的模型大小使得在极端资源受限设备上的适配成为可能
- 通用性强:方法可直接集成到CoOp、MaPLe等多种现有方法中,获得一致提升
- 1-bit量化可行:在传统场景中被认为是"激进"的1-bit量化,在prompt上反而效果最佳
局限与展望¶
- 量化位数的选择(b=1,2,4)目前是超参数,缺乏自适应选择机制
- KL散度阈值 \(T_{KL}\) 和最小更新间隔t的设置缺乏理论指导
- 仅在分类任务上验证,未在检测、分割等下游任务上评估
- 只量化了prompt和部分线性层参数,未探索对backbone的量化
相关工作与启发¶
- CoOp/CoCoOp/MaPLe:prompt tuning的基础方法,QPrompt建立在其上进行量化增强
- 正则化与噪声:Dropout、数据增强等传统正则化方法,本文扩展为权重空间的量化噪声正则化
- K-Means量化:传统上受异常值影响大,但prompt权重无异常值的特性使其重新可用
- 启发:模型压缩不一定以牺牲性能为代价,适当的"信息损失"反而可能增强泛化
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 将量化误差重新定义为正则化噪声的视角非常独特
- 实验充分度: ⭐⭐⭐⭐ 四个评估设置、11个数据集、多种基线对比、详尽消融
- 写作质量: ⭐⭐⭐⭐ 逻辑清晰,从观察到原则到设计的推导链完整
- 价值: ⭐⭐⭐⭐⭐ 在效率和效果上同时取得收益,实用性极强
相关论文¶
- [ECCV 2024] BRAVE: Broadening the Visual Encoding of Vision-Language Models
- [ECCV 2024] Attention Prompting on Image for Large Vision-Language Models
- [ECCV 2024] SpLIP: Elevating All Zero-Shot Sketch-Based Image Retrieval Through Multimodal Prompt Learning
- [ECCV 2024] FlexAttention for Efficient High-Resolution Vision-Language Models
- [ACL 2025] A Parameter-Efficient and Fine-Grained Prompt Learning for Vision-Language Models