Distilling bidirectional multi-step video diffusion transformers into few-step causal models has become a common approach for streaming video generation. While these few-step students are significantly faster than the teachers they are distilled from, they remain slow for real-time generation. In this work we present UnStep, a training-free wrapper that accelerates few-step causal video models at inference by running them with fewer diffusion transformer (DiT) steps than during distillation and limiting the temporal window retained in the attention KV cache. We propose two inference-only mechanisms to recover quality lost by step reduction and attention windowing: renoising the generated latent frames to a near-clean level and reusing the existing clean-cache pass to refine them, and applying truncated SVD to the DiT attention value and output projections. We also accelerate inference with a quality-preserving runtime stack for the DiT and VAE decoder, including more efficient attention calls and KV indexing, fused Triton RoPE with cached coefficients, and VAE decoding with optimized memory layout, precision, and convolution kernels. By reducing computation and optimizing the runtime stack, UnStep sets a new throughput regime for causal video diffusion, by running substantially faster than current methods, reaching 50 FPS on a single H100 without quality loss, and 77 FPS on GB200, all without retraining.
Figures & tables
Figure 1: Speed in FPS against VBench quality in the H100 comparison (left) and on GB200 (right). In the GB200 plot, SF and CF denote Self Forcing and Causal Forcing. Appendix C.2 lists the details of every point.
Figure 2: Sample videos generated by Self Forcing and Causal Forcing, with and without UnStep , for an otter surfing (top) and a ferret playing ball with a puppy (bottom).
Figure 3: Overview of UnStep . First column shows the kernel and runtime optimizations that accelerate the DiT and VAE without degrading quality. Second column shows the reduced DiT computation that further increases speed but reduces quality. Third column shows the quality recovery mechanisms, which add no runtime. All changes are inference-only, with no retraining.
Configuration
FPS
Total
Quality
Semantic
§
Original
C0
Self Forcing + FA3
17.0
84.31
85.28
80.44
3
+ compilation
22.2
84.28
85.26
80.35
Runtime stack
C1
C0 + transformer runtime stack
26.7
84.34
85.24
80.72
3.1
C2
C1 + decoder runtime stack
32.2
84.34
85.26
80.68
3.1
Speedup
C3
C2 + two denoising steps
44.3
83.91
84.68
80.82
3.2
C4
C3 + limited attention window
49.8
83.87
84.67
80.71
3.3
Table 1: The components of UnStep applied cumulatively. Speed is measured on H100 end-to-end for both DiT and VAE, and quality on the VBench 5s T2V suite. Base model is Wan2.1-1.3B distilled to 4 steps with Self Forcing with resolution 832×480 . FA3 stands for FlashAttention 3.
Figure 4: Sample videos generated by Self Forcing and Causal Forcing, with and without UnStep , for a raccoon playing guitar (top) and an elephant teaching monkeys (bottom).
System
FPS
Total
Quality
Semantic
Self Forcing ( Huang et al., 2025a )
17.0
84.31
85.28
80.44
+ UnStep
49.8
84.56
85.20
82.02
Causal Forcing ( Zhu et al., 2026a )
17.0
84.82
85.64
81.55
+ UnStep
49.8
84.93
85.79
81.46
LongLive 1.0 ( Yang et al., 2026b )
17.0
83.31
83.64
81.98
+ UnStep
49.8
83.42
83.82
81.81
Table 2: UnStep applied unchanged to three causal checkpoints on H100. Performance is measured on VBench 5s T2V with resolution 832×480 . Appendix C.3 and Appendix Table 10 provide more details.
Figure 5: VBench-I2V aggregates
Figure 8: Clean-cache noise level.
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
Setting
Self Forcing
UnStep
§
Output clip
81 frames, 832×480 , 16 FPS
81 frames, 832×480 , 16 FPS
A.1
Initial noise shape
1×21×16×60×104
1×21×16×60×104
Causal chunks
seven of three latent frames
seven of three latent frames
First chunk
four denoising steps
four denoising steps
Each later chunk
four denoising steps
two denoising steps
Total DiT forwards (5-s clip)
35
23
Appendix
Table 3: Overview of the original Self Forcing and default two-step UnStep configurations for one 81-frame, 5-second clip. The forward counts include one clean-cache step for each chunk.
Schedule index i
Raw ui
Noise level σi
DiT label ti
0
1000
1
1000
1
750
15/16=0.9375
937.5
2
500
5/6≈0.8333
833.3
3
250
5/8=0.625
625
Clean SF
–
0
0
Clean UnStep
–
0.02
0
Appendix
Table 4: Self Forcing’s four denoising steps after shift five mapping and the clean-cache settings used by Self Forcing and UnStep .
Figure 11: V/O rank retention fixed at 0.92.
Attention
Baseline
SVD truncation
Clean-cache refinement
Both
Full
84.31
84.18
83.88
83.83
Limited
84.03
84.10
83.59
83.53
Appendix
Table 5: VBench total with the full denoising schedule. SVD retains 92% of V/O rank, and clean-cache refinement uses σ⋆=0.02 . The baseline uses σ⋆=0 and full rank. Bold marks the highest score per row.
SF
SF + UnStep
ΔSF
CF
CF + UnStep
ΔCF
Quality dimensions
Subject consistency
94.78
95.10
+0.31
94.99
94.67
−0.32
Background consistency
95.11
95.16
+0.05
94.73
95.04
+0.31
Temporal flickering
97.42
97.64
+0.22
95.13
96.79
+1.66
Motion smoothness
94.94
95.53
+0.59
92.07
93.19
+1.12
Dynamic degree
73.83
69.79
−4.04
86.11
84.72
−1.39
Appendix
Table 10: Normalized VBench dimension scores from runs over all 946 prompts. SF and CF denote Self Forcing and Causal Forcing. Each Δ is the wrapped score minus its corresponding unwrapped score. Deltas are computed before rounding.