-
-
Notifications
You must be signed in to change notification settings - Fork 421
NNCF Compression
- Use Diffusers backend.
Execution & Models
->Execution backend
- Go into
Compute Settings
- Enable
Compress Model weights with NNCF
options - Reload the model.
Note:
VAE Upcast (in Diffusers settings) has to be set to false if you use the VAE option.
If you get black images with SDXL models, use the FP16 Fixed VAE.
- Uses INT8, halves the model size
Saves 3.4 GB of VRAM with SDXL
- It is Autocast, GPU will still use 16 Bit to run the model and will be slower
- Not implemented in Original backend
- Fused projections are not compatible with NNCF
- Using Loras will make generations slower
These results compares NNCF 8 bit to 16 bit.
-
Model:
Compresses UNet or Transformers part of the model.
This is where the most memory savings happens for Stable Diffusion.SDXL: 2500 MB~ memory savings.
SD 1.5: 750 MB~ memory savings.
PixArt-XL-2: 600 MB~ memory savings. -
Text Encoder:
Compresses Text Encoder parts of the model.
This is where the most memory savings happens for PixArt.PixArt-XL-2: 4750 MB~ memory savings.
SDXL: 750 MB~ memory savings.
SD 1.5: 120 MB~ memory savings. -
VAE:
Compresses VAE part of the model.
Memory savings from compressing VAE is pretty small.SD 1.5 / SDXL / PixArt-XL-2: 75 MB~ memory savings.