Error Propagation Mechanisms and Compensation Strategies for Quantized Diffusion Models
SAI paper + code review · Referee report
Summary
The paper addresses a real and interesting gap in post-training quantization (PTQ) for diffusion models: prior work has focused almost entirely on minimising per-step quantization error, while the iterative nature of denoising means those per-step errors compound across the sampling trajectory. The authors write down a first-order error-propagation recursion in the DDIM setting, obtain a compact expression for the cumulative error , and then use two approximations — dropping the Jacobian of the noise estimator and truncating the correction window to — to turn the recursion into an online correction that reuses cached quantized-model outputs from the two most recent steps. A channel-wise, timestep-conditioned scaling that maps to closes the estimation loop and is calibrated offline via a strictly convex MSE with regularization. On SDXL, SDXL-Turbo, PixArt, OpenSora and Flux-dev, layering TCEC on SVDQuant / ViDiT-Q consistently improves the fidelity and preference metrics under W4A4 and W4A8 while adding a reported < 0.5% latency overhead, and Appendix D sketches an analogous derivation for DPM-Solver++.
Treating cumulative error as a first-class object with its own recursion, rather than as an untracked side-effect of per-step quantization, is worthwhile, and the empirical gains are broad enough to be more than incidental. The main conceptual limitation is that the theoretical framework leans on assumptions that are stated but not fully audited: the "closed-form" solution is closed only after the entire Jacobian dynamics is discarded (Approximation 1), and the derivation of (Appendix B) relies on an inequality whose key symbol is not defined at first use. Headline framing — "first closed-form solution," "primary cause of poor performance," "better fidelity and diversity across all precision levels" — is stronger than the evidence, and several numerical claims outside the tables (3× vs. NF4, 3.5× memory, < 1% accumulated deviation) are not directly measured.
Strengths
- Conceptual contribution. Explicitly modelling error propagation across the sampling trajectory, and inserting an online correction rather than just tightening per-step quantization, is a genuinely different lever from what SVDQuant / MixDQ / ViDiT-Q pull; treating as a first-class quantity is the right framing.
- Orthogonality to existing PTQ. The correction is a small post-hoc addition on top of an unchanged quantized backbone, which makes the comparison with SVDQuant / ViDiT-Q in Tables 1–2 relatively clean and lets TCEC compose with future per-step-error PTQ methods.
- Breadth of empirical settings. UNet and DiT backbones, three image models (SDXL, SDXL-Turbo, PixArt), a video model (OpenSora on VBench), an ablation vs. QNCD on CIFAR-10 in Appendix J, and a human study on CogVideoX in Appendix L — this is broader coverage than most PTQ-for-diffusion papers offer.
- Solver generality shown by construction. Appendix D explicitly extends the framework to DPM-Solver++ 2nd-order, which is a natural stress-test and matters for PixArt-style pipelines; the fact that the propagation equation retains the same structural form is a real supporting piece of evidence.
- Small runtime footprint (as reported). The correction is a per-timestep, channel-wise scaling plus a cached feature map, which is architecturally consistent with the < 0.5% overhead claim on A800; the parameter cost () is negligible.
Weaknesses
- The "closed-form solution" depends on discarding the dynamics. Eq. 8 is only a closed form once Approximation 1 removes from the propagation matrix (i.e. the coupling between and the model). The Appendix A magnitude argument bounds the per-step contribution of the dropped term at 0.10–0.45% (Table 4), but the accumulated deviation over steps is not measured; the "< 1% deviation" claim in Appendix A is asserted, not shown. This is the paper's central theoretical contribution and its strongest empirical claim rides on an untested extrapolation.
- Derivation of is opaque. The pivotal inequality in Sec. 3.2 uses a symbol that is not defined in the main text, and the rendered expression is partly illegible. Appendix B does define but the connection from the final inequality to "therefore " (as opposed to any small ) is not spelled out. As-is, a careful reader cannot audit the core claim.
- Prose vs. Eq. 18 "two steps" mismatch. Approximation 2 defines the window as , so literally means one step (), yet the paper summarises the result as depending on the "two immediately preceding steps." Eq. 13 uses from a separate direct-correction term, not from the window; the presentation conflates these.
- DPM-Solver++ variant switches to without proof. Appendix D quietly moves to for the 2nd-order DPM-Solver++, but does not carry the Sec. 3.2 derivation over. Is the window tied to solver order? To Jacobian rank? This undermines the "framework is general" claim.
- "Primary cause of poor performance" is not tested. The paper never isolates cumulative vs. single-step error contributions; a reset ablation, or a fixed per-step-error-only baseline calibrated to the same effective SNR, would be the natural test. Without such a control, the claim is compatible with, but not evidence for, "primary."
- "Across all precision levels" is falsified in the same table. PixArt- W8A8 has SVDQuant+TCEC sDCI IR at 0.952 vs. SVDQuant 0.969 / ViDiT-Q 0.974, and MJHQ FID 16.2 vs. ViDiT-Q 15.7. SDXL-Turbo W8A8 MixDQ has MJHQ FID 24.1 vs. TCEC 24.5. The universal-improvement wording overstates the actual, still-favourable, pattern.
- Complexity accounting is inconsistent. Appendix H states per step, but the described operation is element-wise ( with ), which is . This matters because the < 0.5% overhead claim rests on this cost being negligible.
- Reconstruction target inconsistency. Sec. 3.3 defines (reconstruct the residual), but the surrounding prose says the loss reconstructs (the full-precision output). These are different regressions; a rank-1 channel-wise scaling is much more plausible for the residual than for itself.
- Small metric deltas without variance. Table 1 IR gains (0.017 / 0.02) and Table 3 timing deltas (0.4–0.5%) are within typical PTQ evaluation and GPU-timing noise; the paper reports no seeds, no repeated runs, no CIs, and no timing methodology.
- Hardware and speedup claims are inconsistent between sections. Table 3 / Appendix H pin the < 0.5% overhead to an A800-40G, while the main text claims 3× vs. NF4 on a "laptop-class RTX 4090"; no NF4 baseline, no per-device memory numbers, and no clear "12B model" identity are provided.
- Table labelling glitches. Flux-dev is labelled "Img2Vid" in Table 3 but is text-to-image; in Table 2's 4/8 block Quarot's Dynamic Degree is bolded as "best," but Dynamic Degree is not straightforwardly higher-is-better (FP16 reference is 56.94, several methods exceed it).
- Empirical rule is rendered ambiguously. The formula that drives every headline experiment is not readable in the current form (numerator/denominator between and is unclear); as written it cannot be re-implemented.
- Distributional-convergence rationale for calibration insensitivity is hand-waved. The claim that a 3D-VAE "standardises" DiT outputs across datasets contradicts VAE design (latents preserve content) and is supported by one WebVid→VBench transfer.
Reproducibility & code
- Reference implementation for the correction is missing. The novel components — Eq. 17 calibration for , the online hook inside SVDQuant / ViDiT-Q inference, and the DPM-Solver++ variant (Appendix D) including the truncated-SVD rank and temporal weights — are described only in prose. The released materials do not appear to include a runnable implementation of these pieces, so verifying the headline SDXL W4A4 and PixArt W4A4 numbers requires re-implementing every new equation.
- Seeds and variance. No random seeds, no repeated runs, and no confidence intervals are reported for any headline table. Given that several improvements (IR , FID , motion smoothness , timing %) are at or below typical evaluation/timing noise, seed-level reporting is needed to make the deltas interpretable.
- Timing methodology. Table 3 gives point latencies but does not specify warmup, iteration count, batch size, torch.compile or kernel-fusion usage, or clock stability. The < 0.5% overhead therefore cannot be independently timed.
- External baselines. Table 1 and Table 2 use SVDQuant, MixDQ, ViDiT-Q, TensorRT, Q-Diffusion, Q-DiT, PTQ4DiT, SmoothQuant, and Quarot; no commit hashes or adaptation configs are given. Cells like MixDQ W4A4 FID 353 and Q-DiT 4/8 Scene 0.00 depend on precise (unpublished) adaptation choices.
- Human study is not reproducible. The Appendix L GSB evaluation (240 prompts, in-house-trained raters, GSB rubric) does not publish the prompt list, the rater training/calibration protocol, or inter-rater agreement statistics.
- Approximation 1 evidence lacks estimation protocol. Table 4's per-step ratios of to the dominant term do not state the norm, the Jacobian estimator (finite differences? Hutchinson? power iteration?), or the sample/prompt set, so a reader cannot re-derive the numbers or their variance.
- Data-domain robustness rests on a single transfer. The claim of calibration-domain insensitivity is supported only by WebVid → VBench on OpenSora; no LAION vs. COCO vs. adversarial-prompts calibration study is provided.
Recommended Changes
Essential
- Anchor the "closed-form" claim to what is actually solved. Rewrite the introduction and Sec. 3.1 so the closed form is explicitly presented as "closed under Approximations 1 and 2." Directly measure on SDXL W4A4 (with and without ) to back the "< 1% deviation" statement in Appendix A, or drop that statement.
- Rewrite the derivation cleanly. Define at first use in the main text, produce a legible version of the pivotal inequality in Sec. 3.2, and state the sufficient conditions under which the argument uniquely picks (rather than any small ).
- Reconcile vs. "two preceding steps" and derive for DPM++. Choose one consistent counting convention across Approximation 2, Eq. 18, and the prose. Add an analogous derivation for the DPM-Solver++ 2nd-order case that produces , or explain why the SDXL result carries over.
- Add the "primary cause of poor performance" ablation. Report quality with reset to zero every step (i.e. per-step correction only) and with the full TCEC correction, side by side against SVDQuant on SDXL W4A4; this is the missing evidence for the causal-primacy framing.
- Soften the universal claims to match Table 1. Replace "across all precision levels, TCEC achieves better image fidelity and diversity" with the actual pattern (which metrics/rows win, which do not), particularly for PixArt- W8A8 sDCI IR and SDXL-Turbo W8A8 MJHQ FID.
- Fix the complexity accounting. Reconcile the statement with the element-wise operation ; if there is a hidden mixing operator, document it, otherwise correct to .
- State the reconstruction target unambiguously. In Sec. 3.3, use one target ( or ) throughout the ansatz, the loss, and the closed-form solution, and justify why a channel-wise scaling is expressive enough for that target.
- Report per-seed variance for headline cells. For at least SDXL W4A4 (Table 1), PixArt W4A4 (Table 1), and OpenSora W4A8 (Table 2), report mean ± std over seeds; this is essential given the size of some claimed improvements.
- Release a reference implementation. Ship the calibration loop (Eq. 17), the hook inside SVDQuant / ViDiT-Q, and the DPM-Solver++ variant (with and pinned), along with the exact MJHQ/sDCI subsets and calibration prompts.
- Document the timing recipe. Specify warmup, iteration count, batch size, torch.compile/kernel usage, and clock stability for Table 3; if the RTX 4090 3× vs. NF4 claim is retained, add the NF4 baseline, the W4A4 kernel used, and a corresponding table row.
Suggested
- Cite prior error-propagation work more precisely. Compare to Chu et al. (2024) and Yao et al. (2024) at the equation level, and narrow the "first" claim accordingly.
- Fix table labels. Relabel the Flux-dev row in Table 3 from "Img2Vid" to "Text2Image," and either de-bold Quarot's Dynamic Degree or state the "closest-to-FP16-reference" comparison rule for that metric.
- Rewrite the empirical rule as an unambiguous formula with aggregation axes named (batch/channel/timestep/spatial).
- Restate the "≥ 0.5 on key metrics at ≥ 3 steps" threshold to reflect that only the aggregate Avg reaches 0.5 for SDXL-Turbo at 3 steps.
- Ground the calibration-insensitivity claim. Either drop the 3D-VAE "standardisation" rationale in Appendix I or add a domain-shift ablation (LAION / COCO / adversarial prompts) with an activation-distribution distance.
- Add SDXL-Turbo sampler details. State the sampler used at 4/3/2 steps and either derive the TCEC analogue for it or justify reusing the DDIM correction empirically.
- Release the GSB human-eval protocol and prompts. Publish the 240-prompt set, rubric, and inter-rater agreement so Table 10 can be independently reproduced.