PoSTCache: From Forecasting to Postdictive Smoothing for Revisable Diffusion Caching
Organizations: School of Software, Tsinghua University · BNRist, Tsinghua University · Department of Automation, Tsinghua University
Abstract
Diffusion and flow matching models achieve impressive visual generation quality but remain computationally expensive due to iterative sampling. Caching-based acceleration provides a practical training-free solution by reusing or predicting intermediate features. However, existing methods largely enforce a forward-only information flow: approximations produced for skipped model evaluations are immediately committed to the sampling trajectory and cannot benefit from feedback generated by later full-computation steps. We propose PoSTCache (Postdictive Smoothing Trajectory Cache), a training-free and plug-and-play framework that reformulates diffusion caching as revisable trajectory inference. PoSTCache first uses an existing caching strategy to construct forward proposals for skipped steps. At a later full-computation step, the discrepancy between the refreshed prediction and its forward proposal yields a correction signal, which PoSTCache propagates backward to refine and reintegrate the preceding predictions. Viewing full-computation steps as sources of corrective feedback also changes how they should be selected. We therefore introduce the Posterior Variance Reduction (PVR) strategy, which estimates cross-timestep dependencies from offline denoising trajectories and selects anchors according to their expected reduction in surrogate trajectory uncertainty rather than local approximation error alone. Experiments on representative image and video generation models show that PoSTCache consistently improves the quality--efficiency trade-off over representative caching methods.
Figures & tables
| Method | Efficiency | Visual Quality | |||||||
| Latency(s) | Speed | FLOPs(T) | Mem(GB) | LPIPS | SSIM | PSNR | Image Reward | CLIP Score | |
| FLUX.1-dev | |||||||||
| Original: 50 steps | 9.33 | 1.00 | 2990.80 | 33.85 | – | – | – | 1.0347 | 31.666 |
| 60% steps | 5.91 | 1.58 | 1800.39 | 33.85 | 0.2447 | 0.7737 | 19.177 | 1.0269 | 31.607 |
| 30% steps | 3.30 | 2.83 | 907.59 | 33.85 | 0.4192 | 0.6472 | 15.322 | 0.9477 | 31.540 |
| TeaCache | 3.49 | 2.67 | 908.16 | 33.85 | 0.3413 | 0.7032 | 17.217 | 1.0249 | 31.647 |
| Method | Acceleration | Visual Quality | ||||||
| Latency(s) | Speed | FLOPs(T) | Mem(GB) | LPIPS | SSIM | PSNR | VBench | |
| Wan 2.1 1.3B (CFG enabled) (81 frames, ) | ||||||||
| Original: 50 steps | 69.40 | 1.00 | 8243.74 | 17.92 | – | – | – | 79.63% |
| 60% steps | 42.61 | 1.63 | 4959.36 | 17.92 | 0.3489 | 0.6268 | 16.759 | 79.08% |
| 30% steps | 22.71 | 3.06 | 2496.07 | 17.92 | 0.4822 | 0.5385 | 14.795 | 76.93% |
| MagCache | 30.79 | 2.25 | 3482.28 | 17.92 | 0.2178 | 0.7568 | 21.478 | 76.97% |
| (a) Component Analysis | (b) Forward-Strategy Generality | ||||||||
| Selector | Smooth. | LPIPS | SSIM | PSNR | Variant | Speed | LPIPS | SSIM | PSNR |
| Fixed Interval | ✗ | 0.2639 | 0.7498 | 19.539 | MagCache | 2.71 | 0.1468 | 0.8477 | 23.507 |
| Fixed Interval | ✓ | 0.2316 | 0.7776 | 20.017 | + Smoothing | 2.68 | 0.1259 | 0.8635 | 24.319 |
| MagCache | ✗ | 0.1466 | 0.8488 | 23.589 | + Smoothing + PVR | 2.71 | 0.0967 | 0.8943 | 26.267 |
| MagCache | ✓ | 0.1256 | 0.8635 | 24.352 | DiCache | 2.65 | 0.1804 | 0.8326 | 23.612 |
| PVR | ✗ | 0.1293 | 0.8712 | 25.287 | + Smoothing | 2.59 | 0.1696 | 0.8341 | 23.662 |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Task | Resolution | Frames | Full steps | CFG | Scheduler | Precision | Prompts |
| FLUX.1-dev | Image | – | 50 | – | FlowMatch Euler | BF16 | DrawBench | |
| Qwen-Image-2512 | Image | – | 50 | 4.0 | FlowMatch Euler | BF16 | DrawBench | |
| Wan 2.1 1.3B | Video | 81 | 50 | 5.0 | UniPC (2nd order) | BF16 | VBench | |
| CogVideoX 2B | Video | 49 | 50 | – | DDIM (v-prediction) | FP16 | VBench | |
| OpenSora 1.2 | Video | 51 | 30 | – | Rectified Flow (RFlow) | BF16 | VBench |
| Model | Fast | Slow | ||
| Budget | Dense prefix | Budget | Dense prefix | |
| FLUX.1-dev | 13 | 6 | 16 | 7 |
| Qwen-Image-2512 | 14 | 7 | 16 | 7 |
| Wan 2.1 | 16 | 8 | 20 | 10 |
| CogVideoX | 13 | 6 | 16 | 7 |
| OpenSora 1.2 | 10 | 5 | 12 | 6 |
| Model | Method | Regime | Configuration |
| FLUX.1-dev | TeaCache | Slow | |
| TaylorSeer | Slow | , , | |
| HiCache | Slow | , , , | |
| SeaCache | Slow | ||
| DiCache | Fast | , | |
| Slow | , |
| Model | Method | Regime | Configuration |
| Wan 2.1 | MagCache | Slow | , , |
| DiCache | Fast | , | |
| Slow | , | ||
| SenCache | Fast | , | |
| Slow | , | ||
| CogVideoX | TeaCache | Fast |
| LPIPS | SSIM | PSNR | |
| 2 | 0.0641 | 0.9267 | 27.266 |
| 5 | 0.0607 | 0.9302 | 27.597 |
| 10 | 0.0607 | 0.9302 | 27.597 |
| 20 | 0.0613 | 0.9285 | 27.223 |
| Model | Pairwise accuracy | PVR percentile | |||
| Qwen-Image-2512 | |||||
| Wan 2.1 |
| Model | |||||
| Qwen-Image-2512 | |||||
| Wan 2.1 |
| Schedule | LPIPS | SSIM | PSNR | |
| Transferred | 0.2128 | 0.0898 | 0.8979 | 25.8494 |
| Reprofiled | 0.2019 | 0.0969 | 0.8898 | 25.1856 |
| Target CFG | Schedule | LPIPS | SSIM | PSNR | |
| 2 | Transferred | 0.0855 | 0.0319 | 0.9694 | 33.0123 |
| 2 | Reprofiled | 0.0666 | 0.0310 | 0.9710 | 32.4347 |
| 6 | Transferred | 0.6637 | 0.0781 | 0.9139 | 26.1554 |
| 6 | Reprofiled | 0.6981 | 0.0839 | 0.9091 | 25.7871 |
| Target size | Schedule | LPIPS | SSIM | PSNR | |
| Transferred | 0.3154 | 0.0506 | 0.9397 | 28.4701 | |
| Reprofiled | 0.3003 | 0.0497 | 0.9380 | 28.0984 | |
| Transferred | 0.2487 | 0.0535 | 0.9397 | 28.6091 | |
| Reprofiled | 0.3252 | 0.0798 | 0.9184 | 27.8478 |
| Shift | Profile similarity | Lower held-out | Target percentile |
| Prompt OOD | 0.989 | Reprofiled | 61.6% |
| CFG | 0.850 | Reprofiled | 88.1% |
| CFG | 0.943 | Transferred | 4.8% |
| 0.997 | Comparable | 92.5% | |
| 0.996 | Transferred | 14.0% |
| Power | LPIPS | SSIM | PSNR |
| 0.0632 | 0.9262 | 26.781 | |
| 0.0625 | 0.9268 | 26.957 | |
| 0.0607 | 0.9302 | 27.597 | |
| 0.0639 | 0.9271 | 27.585 | |
| 0.0639 | 0.9271 | 27.585 |
| Dense prefix | PVR-selected anchors | LPIPS | SSIM | PSNR |
| 5 | 10 | 0.1147 | 0.8756 | 24.761 |
| 6 | 9 | 0.1132 | 0.8779 | 24.933 |
| 7 | 8 | 0.0968 | 0.8944 | 26.284 |
| 8 | 7 | 0.1029 | 0.8889 | 25.846 |
| 9 | 6 | 0.1233 | 0.8701 | 24.616 |
| Selector | LPIPS | SSIM | PSNR | |
| DPCache-Pre | 0.2562 | 0.1076 | 0.8827 | 25.16 |
| DPCache-Retro | 0.1991 | 0.1059 | 0.8853 | 25.55 |
| PVR | 0.2024 | 0.0968 | 0.8944 | 26.28 |
| Model | Regime | ||||
| Qwen-Image-2512 | Slow | 0.0216 | 0.0531 | 0.0033 | 0.0035 |
| Qwen-Image-2512 | Fast | 0.0222 | 0.0543 | 0.0038 | 0.0043 |
| Wan 2.1 | Slow | 0.0090 | 0.0540 | 0.0024 | 0.0048 |
| Wan 2.1 | Fast | 0.0148 | 0.0817 | 0.0063 | 0.0082 |
| Model | Variant | NFE | LPIPS | SSIM | PSNR |
| Qwen | Fast ( ) | 14 | 0.0749 | 0.9466 | 28.90 |
| Slow ( ) | 16 | 0.0646 | 0.9547 | 29.61 | |
| Fast + Fresh | 21 | 0.0553 | 0.9622 | 30.97 | |
| 21 | 0.0239 | 0.9801 | 34.04 | ||
| Wan | Fast ( ) | 16 | 0.0914 | 0.8647 | 26.60 |
| Slow ( ) | 20 | 0.0717 | 0.8843 | 28.17 |
| Model | Collect / traj. | Total collect | Kernel build | Raw storage | Kernel storage | Selector med. / p95 |
| (s) | (min) | (s) | (GiB) | (KiB) | (ms) | |
| Qwen-Image-2512 | 5.05 | 2.96 | 0.411 | 22.23 | 3.74 / 3.77 | |
| Wan 2.1 | 11.12 | 14.43 | 1.953 | 22.18 | 3.47 / 3.50 |
| Component | Latency | Fraction |
| Neural-network evaluations | 26.869 s | 93.82% |
| Postdictive correction / orchestration | 0.010 s | 0.03% |
| Scheduler reintegration | 0.051 s | 0.18% |
| VAE decoding | 1.657 s | 5.79% |
| Pipeline preparation | 0.051 s | 0.18% |
Diffusion Model Caching
Diffusion model caching reuses features, activations, or attention states across denoising steps to reduce inference cost while preserving output quality.
See all 112 papers