ChatPaper.aiChatPaper

SVDQuant : Absorption des valeurs aberrantes par des composantes de faible rang pour des modèles de diffusion en 4 bits

SVDQunat: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models

November 7, 2024
papers.authors: Muyang Li, Yujun Lin, Zhekai Zhang, Tianle Cai, Xiuyu Li, Junxian Guo, Enze Xie, Chenlin Meng, Jun-Yan Zhu, Song Han
cs.AI

papers.abstract

Les modèles de diffusion se sont avérés très efficaces pour générer des images de haute qualité. Cependant, à mesure que ces modèles deviennent plus volumineux, ils nécessitent considérablement plus de mémoire et souffrent d'une latence accrue, posant ainsi des défis majeurs pour leur déploiement. Dans ce travail, nous visons à accélérer les modèles de diffusion en quantifiant leurs poids et activations à 4 bits. À un niveau aussi agressif, les poids et les activations sont très sensibles, rendant les méthodes de quantification post-entraînement conventionnelles, comme le lissage, insuffisantes pour les grands modèles de langage. Pour surmonter cette limitation, nous proposons SVDQuant, un nouveau paradigme de quantification à 4 bits. Contrairement au lissage qui redistribue les valeurs aberrantes entre les poids et les activations, notre approche absorbe ces valeurs aberrantes en utilisant une branche de faible rang. Nous consolidons d'abord les valeurs aberrantes en les déplaçant des activations vers les poids, puis nous employons une branche de faible rang à haute précision pour intégrer les valeurs aberrantes des poids via la décomposition en valeurs singulières (SVD). Ce processus facilite la quantification des deux côtés. Cependant, exécuter naïvement la branche de faible rang de manière indépendante entraîne un surcoût important en raison des mouvements supplémentaires de données des activations, annulant ainsi l'accélération apportée par la quantification. Pour résoudre ce problème, nous co-concevons un moteur d'inférence, Nunchaku, qui fusionne les noyaux de la branche de faible rang avec ceux de la branche à faible nombre de bits pour éliminer les accès mémoire redondants. Il peut également supporter de manière transparente des adaptateurs de faible rang (LoRAs) prêts à l'emploi sans nécessiter de re-quantification. Des expériences approfondies sur SDXL, PixArt-Sigma et FLUX.1 valident l'efficacité de SVDQuant pour préserver la qualité des images. Nous réduisons l'utilisation de mémoire pour les modèles FLUX.1 de 12B par un facteur de 3,5, atteignant une accélération de 3,0 fois par rapport à la base de référence quantifiée à 4 bits uniquement sur les poids, sur un GPU portable 4090 de 16 Go, ouvrant ainsi la voie à des applications plus interactives sur PC. Notre bibliothèque de quantification et notre moteur d'inférence sont open-source.
English
Diffusion models have been proven highly effective at generating high-quality images. However, as these models grow larger, they require significantly more memory and suffer from higher latency, posing substantial challenges for deployment. In this work, we aim to accelerate diffusion models by quantizing their weights and activations to 4 bits. At such an aggressive level, both weights and activations are highly sensitive, where conventional post-training quantization methods for large language models like smoothing become insufficient. To overcome this limitation, we propose SVDQuant, a new 4-bit quantization paradigm. Different from smoothing which redistributes outliers between weights and activations, our approach absorbs these outliers using a low-rank branch. We first consolidate the outliers by shifting them from activations to weights, then employ a high-precision low-rank branch to take in the weight outliers with Singular Value Decomposition (SVD). This process eases the quantization on both sides. However, na\"{\i}vely running the low-rank branch independently incurs significant overhead due to extra data movement of activations, negating the quantization speedup. To address this, we co-design an inference engine Nunchaku that fuses the kernels of the low-rank branch into those of the low-bit branch to cut off redundant memory access. It can also seamlessly support off-the-shelf low-rank adapters (LoRAs) without the need for re-quantization. Extensive experiments on SDXL, PixArt-Sigma, and FLUX.1 validate the effectiveness of SVDQuant in preserving image quality. We reduce the memory usage for the 12B FLUX.1 models by 3.5times, achieving 3.0times speedup over the 4-bit weight-only quantized baseline on the 16GB laptop 4090 GPU, paving the way for more interactive applications on PCs. Our quantization library and inference engine are open-sourced.
PDF223December 4, 2025