Quantized Prompt for Efficient Generalization of Vision-Language Models¶
会议: ECCV 2024
arXiv: 2407.10704
代码: https://github.com/ (有)
领域: 多模态VLM
关键词: 量化, Prompt Tuning, CLIP, 泛化, 参数高效
一句话总结¶
发现适度噪声可以抑制VLM prompt tuning中的过拟合和灾难性遗忘,首次将量化误差视为正则化,设计了基于K-Means聚类的量化感知训练算法,在11个数据集上以极小存储开销(0.26KB)超越了众多SOTA方法。
研究背景与动机¶
- 领域现状:CLIP等大规模视觉语言预训练模型在下游任务迁移时,prompt tuning(如CoOp、MaPLe)是主流PEFT方法,通过添加少量可学习prompt参数来适配下游数据。
- 现有痛点:(1) 下游适配中最核心的问题是过拟合和灾难性遗忘——模型过度关注当前小规模数据而丢失领域通用知识;(2) 现有解决方案(如ProGrad等正则化方法)日趋复杂,带来不断增长的存储和推理成本;(3) 传统正则化方法在VLM场景下效果有限。
- 核心观察:适当的随机噪声可以有效抑制过拟合和灾难性遗忘。直接向prompt添加高斯噪声时,只有中等强度的噪声能改善泛化(太大破坏适配能力,太小无法正则化)。
- 核心idea:将量化误差视为一种可控噪声形式,利用量化来正则化VLM的prompt。量化不仅能提供适度"噪声"增强泛化,还天然带来模型压缩优势(16倍存储节省)。
- 切入角度:深入分析prompt权重分布特征(shape稳定、方差增长、无outlier),据此总结量化模块设计原则,构建高效的量化感知训练方法。
方法详解¶
整体框架¶
在CLIP prompt tuning基础上引入量化操作。训练时对prompt权重进行归一化→K-Means聚类量化→反归一化,通过STE传播梯度。存储时将fp16参数转为b-bit索引+码本,大幅压缩模型大小。该方法可集成到CoOp、MaPLe等已有方法中。
关键设计¶
-
噪声-泛化关系的重新思考:
- 做什么:系统研究向prompt添加不同强度高斯噪声对模型特化能力(base类准确率)和泛化能力(new类准确率)的影响
- 核心发现:噪声强度0(无噪声)导致泛化持续下降;噪声过大(0.1)严重损害特化能力;只有中等噪声(如0.01)在特化-泛化间取得最佳平衡
- 设计动机:量化误差是比高斯噪声更可控的"噪声"形式,且自带压缩优势
-
Prompt权重分布特征分析:
- 做什么:分析CoOp训练过程中prompt权重的分布变化
- 核心发现:(1) 分布形状在整个训练中基本不变;(2) 分布方差在训练初期快速增长;(3) 几乎没有outlier;(4) 相邻阶段的权重变化温和
- 设计原则:可以使用激进量化(如1-bit);QAT优于PTQ;应先归一化消除平移和缩放变换;K-Means等聚类算法适合(因无outlier)
-
归一化+K-Means量化:
- 做什么:对prompt权重先做z-score归一化,然后在归一化空间做K-Means聚类量化,最后反归一化
- 核心思路:W_hat = (W - μ) / σ → Q(W_hat) → W_q = σ·Q(W_hat) + μ
- 设计动机:训练过程中分布shape不变只有方差变化,归一化可以消除这种影响,提升量化精度
-
约束自适应聚类(Constrained Adaptive Clustering):
- 做什么:控制K-Means码本的更新频率和时机
- 核心思路:设置最小更新间隔t;通过KL散度检测当前权重和缓存权重的分布差异,只有差异超过阈值T_KL时才重新聚类
- 设计动机:(1) 频繁聚类降低效率;(2) 始终最小化量化误差可能有害(需要适度误差);(3) 权重变化温和,频繁更新是无用功
损失函数 / 训练策略¶
- 使用标准的CLIP对比学习loss(交叉熵)
- 通过STE(Straight-Through Estimator)传播量化操作的梯度
- 量化位宽b通常取1、2或4-bit
- 存储:原始方法需要16N bits,量化后只需bN + 2^b × 16 bits
实验关键数据¶
主实验¶
| 方法 | 模型大小 | 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 |
消融实验¶
| 设计选择 | 影响 |
|---|---|
| 无量化(baseline) | H = 71.66 |
| 高斯噪声(0.01) | 中等噪声最优 |
| 有量化无归一化 | 性能下降 |
| 有量化有归一化 | H = 77.43 |
| 固定聚类 vs 自适应聚类 | 自适应显著更优 |
关键发现¶
- QCoOp仅0.26KB体积就超越了63倍大的ProGrad(16.4KB),证明量化正则化的高效性
- QMaPLe集成到MaPLe后在提升0.57%准确率的同时,模型仅为原来的1/4大小
- 在域泛化、跨数据集迁移、少样本学习设置中均取得竞争性结果
- 适度量化误差对泛化有利——既不是越小越好也不是越大越好
亮点与洞察¶
- 量化即正则化:首次将量化技术的"副作用"(量化误差)正面利用为对VLM的正则化手段,思路新颖
- 设计原则驱动:不是盲目套用量化方法,而是通过对prompt权重分布的深入分析,总结了4条设计原则,使方法选择有理有据
- 双赢效果:在提升模型泛化性能的同时自然获得模型压缩优势,QCoOp 0.26KB的存储需求使极端资源受限设备上的适配成为可能
- 强通用性:量化策略可无缝集成到CoOp、MaPLe等多种已有方法中,带来一致提升
局限性 / 可改进方向¶
- 当前仅在prompt参数上进行量化,未探索对其他PEFT参数(如Adapter、LoRA权重)的量化正则化效果
- 量化位宽和聚类更新阈值等超参数仍需手动设定,缺乏自适应选择机制
- 主要在分类任务上验证,未在检测、分割等密集预测任务上测试
- K-Means聚类的初始化和收敛性可能影响不同运行的一致性
相关工作与启发¶
- CoOp/CoCoOp:prompt tuning的基础方法,本文在其基础上引入量化
- MaPLe:多模态prompt方法,本文将量化成功集成
- ProGrad:基于梯度投影的正则化方法,本文以更小模型超越之
- 启发:对其他PEFT方法是否也可以将"压缩技术的误差"作为正则化?如LoRA的低秩是否也是一种有益的"信息损失"?
评分¶
- 新颖性:⭐⭐⭐⭐ (量化误差→正则化的视角新颖)
- 技术深度:⭐⭐⭐⭐ (原理分析充分、设计原则完整)
- 实验充分性:⭐⭐⭐⭐⭐ (11个数据集、4种评估设置)
- 实用价值:⭐⭐⭐⭐⭐ (极低存储、即插即用)
- 写作质量:⭐⭐⭐⭐ (结构清晰,逻辑流畅)
相关论文¶
- [ECCV 2024] SpLIP: Elevating All Zero-Shot Sketch-Based Image Retrieval Through Multimodal Prompt Learning
- [ECCV 2024] Meta-Prompting for Automating Zero-shot Visual Recognition with LLMs
- [ECCV 2024] Attention Prompting on Image for Large Vision-Language Models
- [ECCV 2024] FlexAttention for Efficient High-Resolution Vision-Language Models
- [ACL 2025] A Parameter-Efficient and Fine-Grained Prompt Learning for Vision-Language Models