ΒΆPaper Feed

Issue 30 Β· Pick 05 AI / ML βœ“ read

Persistent Computational State: A Session-Centric Runtime for Generative World Models

Zhen Lin

TL;DR: Two large 2026 benchmarks showed that video world models "lose the world" when a planner leaves a scene and comes back, and both prescribed model-side fixes β€” new memory architectures, new training objectives. This paper makes a disarming counter-claim: for at least three quite different model families, the capability was never missing. The serving stack simply threw away a small piece of non-recomputable state (the sampler's RNG stream, a memory bank, a KV window) at every request boundary. Snapshot that state β€” costing 0.012 ms against a 1.85 s generation step β€” and the continuation after a genuine excursion is byte-identical to one that never left. The fix is a serving abstraction, not a retrained model, and it comes with a genuinely counterintuitive lesson: world memory should be evicted by relevance to where you'll return, not by recency β€” the exact inverse of LLM KV-cache practice.

The problem everyone agreed on, and the cause nobody checked

If you want to use a generative world model as a simulator β€” the way MuZero-style planners or RL trainers want to β€” you need operations that video models were never served for: fork a state, roll out candidate futures, backtrack, return to a viewpoint you visited earlier. The 2026 benchmarks the paper builds on (MBench, 14 models; WRBench, 23 models, 9,600 videos) found that models fail this badly: pan the camera away and back, and the scene doesn't return to its prior configuration. Both benchmarks located the deficiency in the model and prescribed expensive remedies: new memory modules, new supervision, retraining at scale.

Here is where the paper's suspicion kicks in, and it's a systems person's suspicion rather than a modeling one. Modern generative serving is request-centric: state is allocated to serve a request and reclaimed at its boundary. This is inherited from LLM serving, where it's not just fine but optimal, because of a load-bearing assumption that usually goes unstated: all useful runtime state is recomputable. An LLM KV cache is a pure optimization β€” evict it and you can always rebuild it by re-running the prefix tokens. Prefix caching, RadixAttention, paged KV: the whole ecosystem is built on "state = cached recompute."

World models violate this assumption. Their runtime state contains a non-recomputable kernel. The most vivid example is the sampler's RNG stream: the specific noise that produced this particular world is not a function of the inputs, so no amount of re-running reconstructs it. Non-Markovian models add more β€” an accumulated memory bank, recurrent activations. When a request-centric server reclaims this state at a request boundary, it isn't evicting a cache; it's destroying the only copy of "where the world is." The next request reconstructs an incomplete state H' \subset H (typically the last frame plus a re-prefill), and the continuation silently drifts. Worse: it drifts into a plausible world, so nothing reports an error.

Runtime state H of a world model Recomputable (derivable) KV blocks, latents, activations β€” rebuild by re-running compute Non-recomputable kernel = PCS RNG stream, memory bank, windowed KV context β€” no re-run rebuilds it

Request-centric generate request boundary: kernel destroyed "plausible" but wrong world

Session-centric checkpoint(PCS) excursion / other sessions restore(PCS) byte-identical to never leaving

The paper's core partition: runtime state splits into a derivable part (safe to discard, LLM-style) and a non-recomputable kernel. Request-centric serving destroys the kernel at every boundary; a session-centric runtime checkpoints exactly the kernel and restores it after an excursion.

The experiment that settles the attribution

The two explanations β€” "model lacks memory" vs. "runtime discarded state" β€” are distinguishable by one experiment. If the state is genuinely absent from the model, no snapshot can restore the trajectory. If the runtime discarded it, a snapshot can.

So: take Cosmos3-Nano (Markovian, action-conditioned diffusion), roll out, snapshot the two objects the runtime already holds β€” the current observation as a uint8 array (1.38 MB; deliberately quantized so the claim isn't made easier than stated) and the generator's RNG state (8 bytes). Drive the model through a genuine excursion. Restore. Continue. Compare against an oracle that never left.

The continuation is bit-identical: DINOv2 similarity 1.0, pixel error 0.0. The same holds for WorldMem (non-Markovian; PCS is its 185 KB memory bank + pose + RNG) and Matrix-Game 2.0 (autoregressive causal diffusion; PCS is a ~1.67 GB windowed KV context + position indices + RNG, verified latent-exact with torch.equal). It even holds across a process boundary: kill the process, start a fresh interpreter that re-initializes CUDA and reloads weights, restore from a file on disk β€” still byte-identical on all three.

The control matters as much as the headline. A restore test passes trivially if the model never reads the snapshot. So the paper corrupts only the RNG and shows the continuation degrades (DINOv2 drops to ~0.97–0.98; Matrix-Game's latent agreement collapses to 3% of elements exact). The snapshot is load-bearing, not decorative. And the argument is constructive, not circular: it's not "the model shows continuity, therefore it has memory, therefore the runtime discarded it" β€” it's "restore the bytes, get the exact future back."

If that holds, then for this class of models the benchmarks measured a runtime failure wearing the costume of a model failure, and the prescribed remedy (retraining at scale) is solving the wrong problem.

PCS: defining and measuring the thing to keep

The paper names the object: Persistent Computational State, the minimal non-recomputable state that must survive across requests:

\mathrm{PCS}(M)=\arg\min_{S\subseteq H}\{\,|S| : D(\mathrm{continue}(\mathrm{restore}(S)),\,\mathrm{oracle})\leq\epsilon\,\}

where H is the full runtime state, D a return-consistency metric, and \epsilon a tolerance (\epsilon=0 meaning bit-exact). Everything outside PCS is derivable by re-running compute and need not be stored. The point of the definition is that it makes "world state" β€” a thing the roadmap literature gestures at β€” operationally measurable.

The nicest methodological piece is that PCS is discovered, not hand-engineered. A fingerprinting procedure ablates each addressable buffer h_i: snapshot H\setminus\{h_i\}, run a leave-and-return probe, label h_i necessary if the score degrades; then verify the necessary set is sufficient; with a corruption control (replace, don't just drop) to catch buffers that pass because they're never read. The same loop, given no architecture-specific input, returns three structurally different answers: {observation, RNG} for Cosmos3 (constant in horizon), {bank, pose, RNG} for WorldMem (growing ~37 KB per retained frame), {KV window, position indices, RNG} for Matrix-Game (large but capped by the attention window). The axis that matters for serving isn't size β€” it spans 185 KB to 1.67 GB with no correlation to model capability β€” but growth profile: constant, growing, or windowed.

The runtime built on top is deliberately thin: checkpoint / restore / fork / delete over PCS, with four invariants (round-trip, durability, fork independence, snapshot completeness), one session resident on the GPU at a time and every other session's PCS on the host. The costs are almost comically favorable: checkpoint/restore run at 0.012 ms against a 1.85 s generation step β€” 0.00035% of wall time over a full run. Device memory stays flat at 4.714 GB from 1 to 1,024 resident sessions while host memory grows at ~0.037 MB/session. The claimed ~2,300Γ— advantage in sessions-per-GPU over a keep-everything-resident baseline is honest arithmetic from measured constants β€” the paper explicitly labels it as derived, not run.

The eviction inversion: relevance, not recency

Here's the result most likely to generalize beyond this paper. When host memory binds and you must prune a session's memory bank, LLM instinct says evict by recency β€” old KV blocks are cold. For a world you intend to return to, that's exactly backwards: the frames that matter at return time are the anchor-side ones near where you left, and the "recent" frames are wherever the rollout wandered off to. Recency keeps the wrong end of the trajectory.

Return-consistency under memory pressure (WorldMem, 16 sessions)return-consistencyhost budget (MB)00.20.40.60.81246810121416pcs-aware (relevance)anchorLRU (recency)FIFOTable 5. At 16 MB the budget never binds and all policies coincide; at 2 MB relevance-keyed retention holds 16/16 worlds, recency holds 6/16.

Every policy frees identical bytes; they differ only in which frames they rank as worth keeping. A retention-fraction sweep sharpens this into a difference of kind, not degree: the relevance policy hits 0.62 keeping a single frame (the anchor-relevant one), and keeping ten more barely helps; LRU is flat at 0.21 across the entire sweep β€” no budget for keeping more recent frames closes the gap, because they're the wrong frames.

The starkest version comes from a real MCTS planner trace (168 forks, visit-count pruning, six patrol round-trips):

Real MCTS planner: patrols completing their return (of 6)patrols returned01234566664 MB (no pressure)6012 MB606 MBrelevance (anchor)recency (LRU)Table 10. Under pressure, LRU also orphans 24–65 of 168 forks because it evicts the shared ancestors the tree is still forking from.

Under pressure, recency eviction doesn't just degrade the search β€” it corrupts it, evicting the shared ancestor states that pending forks depend on. Relevance retention returns all six patrols at unchanged quality (0.8683 at 12 MB equals the unconstrained score) and orphans nothing. For fork-and-backtrack workloads, the LLM-default policy is not suboptimal but unusable.

What to be skeptical about

The paper is unusually candid about its own boundaries, which makes triangulating easier.

"An important class of models" is doing real work. Bit-exactness is cleanest for the Markovian case, where the observation is the complete visible state. It extends to WorldMem's explicit memory bank and Matrix-Game's KV window β€” genuinely different architectures β€” but the untested cases are exactly the interesting ones: RSSM-style recurrent latent-state models and anything with truly entangled learned memory, where "addressable components" may not decompose cleanly and the fingerprint's greedy fallback might return a large, ugly PCS. Three families is a real sample of the design space, not a universality proof, and the paper says so.

The oversubscription study partially undercuts the semantic story. Section 7.9 is the most intellectually honest part of the paper: on WorldMem under a realistic oversubscribed load, a request-centric server keeping only the last frame scores marginally better return-consistency (0.60 vs 0.58) at 12Γ— less host memory β€” because this model is recency-dominated and re-grounds on pose and recent frames, not the accumulated bank. The session runtime's decisive advantage there is not semantic quality but determinism: a request-centric resume yields a plausible world, not the world, and for fork-and-backtrack planning β€” where candidate rollouts must be comparable and a backtrack must land on the state it left β€” that's the property that matters. But note the retreat: the headline "benchmarked failures are a serving artifact" is strongest for the exact-restore protocol, weaker for messy real workloads on models whose memory isn't load-bearing anyway.

"1,024 sessions" means residency, not concurrency. One rollout in flight, everything else suspended on the host; the constant device memory is the point, not a trick, but a reader skimming could misread the scaling claim. The 2,300Γ— figure is a labeled projection.

Context to weigh: single-author arXiv paper; the anchoring benchmarks (MBench, WRBench) are cited as 2026 work this reader can't independently assess; and there's no head-to-head where a benchmark's reported failure case is directly re-run under the session runtime β€” that would be the killer demonstration, and its absence is notable. The eviction results are also all on WorldMem; whether relevance-keyed eviction transfers to KV-window models with different retention structure is open.

Why it matters anyway

Even discounting the framing, two things here have legs. First, the derivability partition β€” recomputable vs. non-recomputable state β€” is a clean, portable concept that LLM-derived serving stacks genuinely lack, and it will matter for any generative model whose sampling noise or accumulated memory defines identity: world models, but plausibly also long-horizon agentic video, interactive audio, and multi-turn generation with stateful samplers. A recompute cache on such models is silently incorrect, not slow. Second, the fingerprinting procedure turns "what is world state?" from a philosophical question into a measurement, and its output (constant/growing/windowed growth profiles) is exactly what a serving layer needs to size budgets.

If you read two sections, read 7.2 (the three-model restore table with the RNG-corruption control β€” the whole argument lives there) and 7.8–7.9 (the trace-driven and oversubscription studies, where the paper does the rare thing of reporting results that shrink its own claim and explaining precisely what survives: not semantic quality, but durability and determinism β€” the properties a planner actually consumes).