Accelerating Diffusion Transformer via Increment-Calibrated Caching with Channel-Aware Singular Value Decomposition
This is the official implementation of CVPR2025 paper Accelerating Diffusion Transformer via Increment-Calibrated Caching with Channel-Aware Singular Value Decomposition.
Take increment-calibrated caching for DiT as an example.
Download and setup the repo:
git clone https://github.com/ccccczzy/icc.git
cd icc/DiTCreate the environment and install required packages:
conda env create -f environment.yml
conda activate DiT
To generate calibration parameters with SVD:
python gen_decomp.py --use-wtv False --rank 128 To generate calibration parameters with CA-SVD:
python gen_decomp.py --use-wtv True --wtv-src "mag" --num-steps 50 --num-samples 256 --rank 128 --data-path /path/to/imagenet/trainTo generate calibration parameters with CD-SVD:
python gen_decomp.py --use-wtv True --wtv-src "delta_mag" --num-steps 50 --num-samples 256 --rank 128 --data-path /path/to/imagenet/trainTo sample images with the generated calibration parameters:
torchrun --nnodes=1 --nproc_per_node=N sample_ddp_sp_step.py --num-fid-samples 50_000 --results-dir /path/to/calibration/parameters
@misc{chen2025icc,
title={Accelerating Diffusion Transformer via Increment-Calibrated Caching with Channel-Aware Singular Value Decomposition},
author={Zhiyuan Chen and Keyi Li and Yifan Jia and Le Ye and Yufei Ma},
year={2025},
eprint={2505.05829},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2505.05829},
}This codebase borrows from DiT, PixArt-alpha and ADM. Thanks to the authors for their wonderful work and codebase!