C³ache: Accelerating World Action Models with Cross Inference Chunk Cache
C³ache is a training-free acceleration method for World Action Models (WAMs) that exploits redundancy across inference chunks rather than across denoising steps within a single chunk. The authors observe that when a robot executes a smooth behavior, the DiT residuals computed at a given denoising step are strongly correlated from one action chunk to the next. C³ache caches these per-step residuals and reuses them on subsequent chunks, skipping the entire DiT stack while still letting the new observation flow through via the (uncached) input embedding. Reported wall-clock speedups on Fast-WAM are up to 2.21× on LIBERO and 2.03× on RoboTwin 2.0 with negligible success-rate drop.
Key claims
Section titled “Key claims”- Per-step DiT residuals in the Fast-WAM action expert are strongly correlated across consecutive inference chunks at the same denoising step; the correlation decays and its variance grows sharply past denoising step ~6, so caching should be restricted to the first several steps [§3.2, Fig. 2].
- The “residual” — final DiT-block output minus first-block input — is the right cache target because it is a self-contained additive term: given a fresh input embedding, the block output can be reconstructed as input + cached residual, letting the entire DiT stack be skipped while still letting the new observation propagate [§3.1, §3.3].
- Caching the final block output or the velocity prediction directly would freeze those tensors across chunks and block new observations from influencing the current chunk, so both are rejected in favor of caching the residual [§3.3].
- On LIBERO with cache steps {0..6} and refresh interval N=8, C³ache reaches 2.21× wall-clock speedup with 0.10 pp higher mean success (97.00 vs 96.90) [§4.2, Table 1].
- On RoboTwin 2.0 with cache steps {0..6} and N=4, C³ache reaches 2.03× speedup with success rate essentially unchanged (91.85 vs 91.40) [§4.2, Table 2].
- Refresh interval must be tuned per task horizon: on RoboTwin the cache-steps={0..7} configuration holds success on short (3–5 chunk) episodes but drops materially on episodes ≥12 chunks, indicating stale cache compounds over long horizons [§4.2].
- Extending the cache range past step 6 (to {0..7} or {0..8}) causes sharp success-rate degradation across every refresh interval on RoboTwin, confirming the tail-step variance hypothesis [§4.3, Fig. 4].
- Reported inference-time metric covers the full pipeline (VAE encode, video prefill, action-token embed, velocity projection, scheduler steps), not just the cached DiT blocks — so headline speedups are not skewed by omitting uncached stages [§4.1].
Method
Section titled “Method”C³ache targets the action expert of a WAM built on the Wan2.2-5B backbone (Fast-WAM: 1B action expert, 6B total). The action expert is a flow-matching DiT that produces a chunk of future actions by denoising 32 noisy action tokens over 10 flow-matching steps, jointly attending over action tokens and a fixed set of video-branch context tokens.
The core observation (§3.2) is empirical: over 2000 LIBERO episodes and 17,412 inference chunks, the cosine similarity between the DiT residual at chunk i and chunk i+1 (at the same denoising step) is very high for early steps and drops with increased variance past step 6. Similar correlations hold for the final block output and the velocity prediction, but caching those two would freeze the output and block the new observation.
The method caches the residual R^k_i = block_output − input_embedding at denoising step k of chunk i. On the next chunk i+1, C³ache runs only the input embedding for that step, adds the cached residual to reconstruct the block output, applies the linear velocity head, and takes the flow-matching step — skipping the entire DiT stack. A cache refresh interval N controls staleness: every N-th chunk is fully recomputed to refresh the cache; the first chunk of every episode must be full computation because the cache is empty. Caching is applied only to the first several denoising steps (typically {0..6}); the tail steps run fully recomputed on every chunk.
Results
Section titled “Results”- LIBERO (all four suites, 2000 episodes, Fast-WAM baseline 96.90% average): cache steps {0..6}, N=∞ (never refresh) gives 2.30× speedup with average 97.45%; N=8 gives 2.21× with 96.75%; N=4 gives 2.10× with 96.55% [Table 1]. Extending to cache steps {0..7} with N=8 still gives 97.00% at implied similar speedup — the extra step buys marginal quality with no throughput cost [Table 1].
- RoboTwin 2.0 (50 tasks, clean + randomized, 2000 episodes, baseline 91.40%): cache steps {0..6} with N=4 gives 2.03× at 91.85% (slightly above baseline); N=8 gives 2.11× at 90.40%; N=∞ gives 2.20× at 90.35% [Table 2]. Cache steps {0..7} is much more fragile — N=∞ collapses to 75.85% (−15.55 pp); N=4 gives 88.90%; N=8 gives 85.25% [Table 2].
- Task-length sensitivity on RoboTwin at cache steps {0..7}: shortest tasks (3–5 chunks per episode) hold at N=∞ with no drop; moderate (6–11 chunks) drop 2.20 pp on average; longer (≥12 chunks) drop 6.05 pp — the paper’s evidence that stale residuals compound over horizon [§4.2].
- Ablation (§4.3, Fig. 4): pushing the cached range further to {0..7} or {0..8} on LIBERO and to either on RoboTwin causes success rates to fall off sharply, matching the Fig. 2 observation that per-step variance grows in the tail of the denoising trajectory.
Why it’s interesting
Section titled “Why it’s interesting”This is the first wiki entry to apply the diffusion serving playbook to action-chunk generation in a robot policy specifically. The existing diffusion-serving canon on Diffusion serving optimization — First Block Caching, TeaCache, Sol-Attn, TurboDiffusion — all exploit redundancy within a single denoising trajectory (across steps, layers, or tokens). C³ache identifies an axis those methods cannot see: chunks are generated with fresh noise and no reference to the previous chunk’s computation, yet the residual at a fixed denoising step is highly correlated across chunks because smooth robot behavior produces smoothly changing observations. Reusing the residual specifically (not the block output, not the velocity) is what lets the observation still steer the chunk — a subtle but load-bearing design choice.
It sits directly on top of the wiki’s Fast-WAM entry (Fast-WAM: Do World Action Models Need Test-time Future Imagination?) — the paper builds on Fast-WAM’s 1B action expert and inherits its “skip future prediction at inference” trick. It also complements Co-Director: Agentic Generative Video Storytelling and other autoregressive video-gen caching work by identifying that action-chunk generation has a stronger cross-chunk correlation than long-video generation does, because action chunks per control cycle share a common scene state rather than depending on a longer generative history. Open question the paper punts on: the refresh interval N is currently hand-tuned and the tail-drop on long-horizon RoboTwin tasks suggests a dynamic N tied to task-state stability would be a clear next step — possibly composable with TurboDiffusion: Accelerating Video Diffusion Models by 100-200 Times-style step distillation on the DiT itself.
See also
Section titled “See also”- Fast-WAM: Do World Action Models Need Test-time Future Imagination? — Fast-WAM backbone the acceleration is measured on; provides the 1B action expert + 10-step flow-matching sampler C³ache directly targets
- Diffusion serving optimization — the broader serving canon C³ache extends with a cross-chunk axis
- Co-Director: Agentic Generative Video Storytelling — cross-chunk KV cache reuse in autoregressive video diffusion; closest prior on the “reuse across generation units” axis
- World Foundation Models — the WAM family this paper accelerates for closed-loop robot control
- VLA Models — sibling policy family; the paper argues WAMs generalize better than VLAs but are more expensive, which motivates this line of work