Skip to content
forked from list0830/SSVQ

[ICCV'25] SSVQ: Unleashing the potential of vector quantization with sign-splitting

Notifications You must be signed in to change notification settings

dengjuncan/SSVQ

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SSVQ

Official code for ICCV'25 paper [2503.08668] SSVQ: Unleashing the Potential of Vector Quantization with Sign-Splitting

Motivation

Comparison between uniform quantization and vector quantization on how the quantized weight is updated. We assume a simple update $w^* = w - G_w$, and $c^* = c - G_c$ . In vector quantization, a minority of high-magnitude gradients dictate codeword updates, often forcing the majority of weights into suboptimal positions. This fundamental limitation directly impacts the fine-tuning effectiveness of vector quantization.

Diagram

The sign bit is extracted and k-means clustering is applied to all-positive weights. Secondly, the fixed sign is replaced by the latent parameter's sign function. Furthermore, an improved iterative freezing strategy is employed on the learnable sign.

Training

We provide the training scripts of both VQ and SSVQ. This way, you can clearly see how SSVQ outperforms VQ.

For CNNs (e.g. MobileNet, EfficientNet, ConvNext)

cd CNN
bash train_vq.sh  #### to reproduce VQ results
bash train_ssvq.sh  #### to reproduce SSVQ results
## The default epochs are 10, but you can get a relatively good result with only 3 epochs

For ViTs (e.g. DeiT)

cd ViT
bash deit_vq.sh  #### to reproduce VQ results
bash deit_ssvq.sh  #### to reproduce SSVQ results

To do List

  • update codes for Stable Diffusion
  • update codes for LLMs

Acknowledgements

We would like to acknowledge and thank the following works that inspired and contributed to this project:

  • Overcoming Oscillations in Quantization-Aware Training. github

  • Oscillation-free Quantization for Low-bit Vision Transformers. github

  • Learning Best Combination for Efficient N:M Sparsity. github

  • Extreme Compression of Large Language Models via Additive Quantization. github

Citation

If you find SSVQ useful in your research, please kindly cite this paper:

@article{li2025ssvq,
  title={SSVQ: Unleashing the Potential of Vector Quantization with Sign-Splitting},
  author={Li, Shuaiting and Deng, Juncan and Wang, Chenxuan and Xu, Kedong and Deng, Rongtao and Gu, Hong and Shen, Haibin and Huang, Kejie},
  journal={arXiv preprint arXiv:2503.08668},
  year={2025}
}

About

[ICCV'25] SSVQ: Unleashing the potential of vector quantization with sign-splitting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Shell 0.5%