core-ml

Core ML Stable Diffusion Mixed-Bit Palettization Resources

This repository contains resources related to the use of mixed-bit palettization techniques for Stable Diffusion. As explained in the original repo, this is an advanced compression technique that applies palettization using a varying number of bits per layer to keep quality above the desired threshold (as measured by the PSNR with respect to the original model). This can achieve strong space savings without resorting to learned quantization tables during fine-tuning.

The repository contains the following resources:

You can apply any of the available recipes on the appropriate model to experiment and compare results.

Recipe Effective bits UNet size (GB) Size reduction
recipe_3_41_bit_mixedpalette 3.41 1.1 77%
recipe_4_50_bit_mixedpalette 4.50 1.4 71%
recipe_6_55_bit_mixedpalette 6.55 2.0 58%

This repository was prepared by Apple and Hugging Face in July 2023, from experiments conducted using public beta versions of iOS 17.0, iPadOS 17.0 and macOS 14.0.