The Two Arrows of Time Inside a Video Model
A late-night puzzle about bidirectional diffusion, the asymmetry of variational free energy, and what it would mean for Sora [and its kin] to have a ‘now’.
Janus, who had no ‘now’.
A small word that bothered me
I noticed something the other night that I cannot let go of. It started as a tiny single sentence in a paper I had read past twice before. The paper was on a system called Vid2World, and the sentence said, in a friendly tone, that the model “causalizes” a pretrained video diffusion backbone. This word stopped me.
What does it mean to causalize something? It basically implies the thing was, in some sense, not causal before. And the thing in question was a video diffusion model, the kind of model that produces videos of cats falling off shelves and astronauts riding horses. Sora is one of these. Cosmos is one. CogVideoX is one. We have spent the last two years insisting these models are world simulators. And here was a paper, in 2025, telling us that the first thing you have to do to turn one of them into an interactive world model is to teach it which way time runs.
I want to take this seriously. I want to take it as a sign that something is structurally interesting about how time lives, or fails to live, inside these models. So this post is my attempt to sit with the puzzle carefully. The math will be light but real. The thinking, I hope, is the point.
Two arrows inside the same model
Let me start by being precise. There are two distinct axes inside a video diffusion model that both deserve to be called “time,” and confusing them is the first mistake to avoid.
The first axis is the noising axis. In a diffusion model we take a clean sample $x_0$ and corrupt it with Gaussian noise across $k = 0, 1, \ldots, K$ steps, ending at pure noise $x_K$. We then train a network to reverse this process, mapping noise back to data. This noising axis has a strict arrow built into its definition. Going forward means adding noise. Going backward means removing it. The two directions are not the same operation, and the reverse process is the only one the network has to learn. The math, going back to Anderson’s 1982 result on time-reversal of stochastic differential equations, makes the asymmetry explicit. Forward and reverse are mirror images, but not symmetric ones.
The second axis is the content axis. A video is a sequence of frames $x = (x^{(1)}, x^{(2)}, \ldots, x^{(T)})$ that, in the real world, were captured in temporal order. By convention, $x^{(1)}$ is “earlier” and $x^{(T)}$ is “later.” When a video diffusion model receives a noised video and tries to denoise it, the natural question is this: when computing the update for $x^{(t)}$, which other frames is the network allowed to see?
The default answer in 2024 and 2025 is, all of them. Standard video diffusion transformers use full bidirectional attention over the temporal axis. When the network refines its estimate of frame $x^{(3)}$, it attends to $x^{(1)}, x^{(2)}, x^{(4)}, \ldots, x^{(T)}$ without distinction. From the model’s point of view, all frames are present at once. They are just different positions on a grid, no more directional than the rows and columns of an image.
I find it striking that this should ever have felt normal. A movie has an arrow of time. The water that fell from the glass does not jump back into it. The cigarette burns down rather than up. And yet the architecture we use to model movies treats time as if it were a spatial coordinate.
Why this seemed fine for a while
For a while, this did not seem to matter. The training data has an arrow of time. The cats fall off shelves; they do not fly up onto them. So the model learns to generate samples that go forward, statistically. If you ask it for a video starting from a still image, it produces a plausible forward continuation. The asymmetry of the data leaks into the asymmetry of the samples.
I want to grant this immediately. A bidirectional video model does, in practice, produce videos that go forward in time. The arrow of time is not lost. It is in the data, and the model inherits it through samples. This is exactly analogous to how a Boltzmann machine trained on natural images can produce natural images even though the model itself is undirected. The data tells the model which direction to lean.
But “leans in the right direction on average” is a much weaker property than “has an arrow of time as part of its structure.” And the difference, I will argue, is exactly what separates a video generator from a world model.
What variational free energy quietly assumes
Here is where, if you have spent time with active inference or with predictive coding, you will recognize an old friend.
Variational free energy, in the Friston tradition, is defined against a generative model. Concretely, you assume hidden states $s_{1:T}$ evolving over time, observations $o_{1:T}$ produced from those hidden states, and a generative model that factors like this:
$$ p(s_{1:T}, o_{1:T}) = p(s_1) \prod_{t=2}^{T} p(s_t \mid s_{t-1}) , \prod_{t=1}^{T} p(o_t \mid s_t). $$
This is a directed graphical model. It is a Bayesian network. It has an explicit, forward-running Markov chain in time. The transition kernel $p(s_t \mid s_{t-1})$ specifies what causes what, and the arrow goes one way.
Against this generative model, we minimise variational free energy,
$$ \mathcal{F}[q] = \mathbb{E}_{q(s)}\left[\log q(s) - \log p(s, o)\right], $$
where $q(s)$ is an approximate posterior over the hidden states. A short calculation rewrites this as
$$ \mathcal{F}[q] = \mathrm{KL}\left[q(s) , | , p(s \mid o)\right] - \log p(o), $$
so $\mathcal{F}$ is an upper bound on the negative log-evidence and is tight exactly when $q$ matches the true posterior. The KL divergence here is asymmetric on purpose. $\mathrm{KL}[q | p]$ and $\mathrm{KL}[p | q]$ are different objects, and choosing the first picks out the mode-seeking variational form that gives us the variational autoencoder, predictive coding networks, and the whole Bayesian-brain story.
I want to draw attention to something that, in my experience, often gets blurred. The KL asymmetry is not what gives active inference its arrow of time. The KL is a choice about how to fit $q$ to $p$. The arrow of time comes from the structure of $p$ itself, from the directed factorisation of the generative model. If you replaced $p$ with an undirected joint over $s_{1:T}$, say a Markov random field or a Boltzmann machine over frames, you would still have an asymmetric KL, but you would have no notion of “the next state given the current one.” You would just have a joint blob with no preferred direction.
This is the structural mismatch I want to put on the table. A bidirectional video diffusion model parameterises a joint $p(x^{(1)}, \ldots, x^{(T)})$ in a way that does not commit to the forward chain rule decomposition
$$ p(x^{(1)}, \ldots, x^{(T)}) = \prod_{t=1}^{T} p\left(x^{(t)} \mid x^{(<t)}\right). $$
Both kinds of model can describe the same joint distribution mathematically. The two are not statistically distinguishable in their support. But only the directed factorisation is what a world model needs to plug into a planner, a controller, or an agent.
Pseudo-likelihood, said carefully
Let me try to make this technical point feel less abstract.
Imagine I train a model that, for each frame index $t$, learns
$$ \hat{p}\left(x^{(t)} \mid x^{(\neq t)}\right). $$
That is, given all other frames, predict the missing one. This is a powerful self-supervised objective. It is also, in the classical statistical sense, a pseudo-likelihood. A celebrated result of Besag is that, in many practical cases, fitting a model by summing these conditional pseudo-likelihoods recovers something close to the true joint distribution, even though the individual conditionals were never explicitly stitched together by the chain rule of probability.
A bidirectional video diffusion model is doing something philosophically close to this. The denoising score $\nabla_{x} \log p_k(x)$ at each noise level $k$ is computed with bidirectional attention, so the score for frame $t$ depends on every other frame. The model defines, implicitly, a joint distribution over the entire clip, but the joint is most naturally accessed through “all conditioned on all” updates rather than through a one-step-at-a-time forward rule.
Now ask the world-modeling question: what is $p(x^{(t+1)} \mid x^{(\leq t)})$? That is, what does the model predict for the next frame, given only past frames? For a bidirectional model, this is not a quantity it has been trained to express directly. You can extract it by sampling the joint conditional on the past frames, but in practice that means running a full reverse-time chain over the entire window each time you want to advance one frame, and you also pay for the fact that the model never saw, at training time, the deployment regime where some frames are clean and some are still noised. The mismatch is severe.
A causal video model, by contrast, parameterises exactly this quantity. Frame by frame, it answers “given everything I have seen, what comes next?” That is the question a world model has to answer. That is the question an agent has to answer in order to plan. Active inference, model-based reinforcement learning, and any closed-loop controller need a forward-Markov transition. They need a model that knows where “now” is.
A short detour through the second law
I find it irresistible to draw a physics analogy here, but I want to draw it carefully, because the analogy can mislead as much as it can illuminate. I should also flag, before going any further, that I am not a physicist. I am the sort of person who has read enough about statistical mechanics to know what the second law of thermodynamics is, and not nearly enough to know what it is not, which is precisely the demographic that makes real physicists reach quietly for their pens. If one of them is reading, I beg a small amount of grace. I will try to deserve most of it.
In statistical mechanics, the microscopic equations of motion (Newton’s, Schrรถdinger’s, the underlying ones) are time-reversal symmetric in their core form. Yet the macroscopic world has a glaring arrow of time. The standard story has two ingredients. First, we start from a special initial condition, namely an early universe of unusually low entropy. Second, we coarse-grain. We do not track every molecule. When you average over the microstates compatible with each macrostate, the dynamics looks irreversible even though the underlying laws are not.
The arrow of time, in this story, is not in the laws. It is in the boundary condition and the coarse-graining.
Compare this to a bidirectional video model. The architecture is, in a precise sense, time-symmetric: it treats past and future positions as equivalent grid coordinates. The training data has an arrow of time, by virtue of being captured by cameras pointed at a real world that obeys the second law. The samples acquire an arrow of time by virtue of the data. But the model has no internal commitment to a direction. It can be asked to fill in the past from the future just as readily as the reverse, and it answers both equally well.
A causal model, by contrast, has the arrow baked into its parameterisation. It cannot be asked, even in principle, to fill in the past from the future without inverting the model in some external way. This sounds like a limitation. It is also exactly what makes a model behave like an agent embedded in time. To stand at a moment, to have only the past as evidence, to face a future that has not yet happened: this is what it means to be inside time rather than outside it.
The causalization surgery, philosophically
With all of this in mind, look again at what Vid2World actually does. The paper performs three kinds of surgery on a pretrained bidirectional video diffusion model.
First, it converts bidirectional temporal attention into causal temporal attention by adding a triangular mask. The transformer’s attention is no longer allowed to look at future frames when refining the current one. This costs no parameters. It is purely a mask.
Second, it converts temporal convolutions into causal convolutions by transferring weights from a kernel that originally used both past and future positions into a kernel that uses only past positions. The paper introduces a clever “extrapolative weight transfer” trick to make this transfer smooth, but the conceptual operation is just, redistribute the kernel’s weights so the future-facing taps become past-facing.
Third, it changes the training objective. Instead of corrupting every frame in a clip with the same noise level, it uses Diffusion Forcing, which draws an independent noise level per frame. This exposes the model to the autoregressive deployment regime, in which past frames are clean and future frames are still noised.
Each of these is a small technical adjustment. Taken together, they are a philosophical re-installation. The model is being told, retroactively, that there is a “now,” that the past has happened and the future has not, and that its job is to predict forward.
This is what I mean by saying that we hand the model an arrow of time it did not earn from data. The data had an arrow, yes. But the architecture refused to commit to one, and we had to install the commitment by hand.
Is the famous question even the right one?
I have come to think that the much-debated question “is Sora a world model?” is partly the wrong question, because it conflates two different things.
The first thing is, does Sora’s joint distribution over videos contain a lot of knowledge about how the world behaves? Almost certainly yes. The samples obey 3D consistency, object permanence, basic physics, and a great many subtler regularities that nobody wrote down. The model has learned, in some sense, the statistics of the visible world.
The second thing is, does Sora know which way time runs for it? Does it have a “now”? Can I ask it the question every agent has to answer, which is, given everything that has happened, what comes next? Here the answer is murkier. The model can be coaxed into producing forward continuations of an initial image, but the architecture itself does not parameterise a forward-Markov chain. The arrow of time is in the data, and in the prompt convention. It is not, structurally, in the model.
I will not pretend to know what to do with this distinction. But I think it is the right cleavage to draw. A model can be statistically aware of a world without being temporally embedded in one. Sora, taken architecturally, is in the first category. Vid2World is an attempt to drag it into the second.
What I am still chewing on
A few questions this puzzle leaves me with, that I cannot answer tonight.
-
Can the arrow of time emerge? At sufficient scale, could a bidirectional model effectively become forward-only? That is, does the data’s asymmetry get so deeply absorbed that bidirectional inference collapses onto causal inference in practice? I do not know of an experiment that has tried to measure this directly. I would love to see one.
-
Are the two asymmetries related? Is the KL asymmetry inside variational free energy structurally analogous to the data-induced asymmetry in a bidirectional model, or are they independent? My current guess is that they are independent. The KL asymmetry tells you how to fit $q$ to $p$. The temporal asymmetry tells you how $p$ is factored. But the analogy is suggestive enough that I want to think about it longer.
-
Is there a “principle of least action” for video models? In physics, the arrow of time emerges from low-entropy initial conditions plus a variational principle. Is there an analogous setup for video models in which the arrow of time is the boundary condition (the prompt, the initial frame) and the variational principle is the diffusion training objective? If something like this is true, then causalization may not be surgery at all but a natural consequence of choosing the right variational structure.
-
What about non-causal active inference? Active inference has, to my knowledge, always been derived against forward-Markov generative models. Has anyone tried to derive it against an undirected joint, that is, against a generative model that does not factor in time? If you wrote $p(s_{1:T})$ as a Markov random field over frames and asked what minimising $\mathcal{F}[q]$ looks like, what does the resulting “agent” do? Is there even a notion of policy? I think this is a tractable theoretical question, and I have not seen it asked.
A small parting thought
Part of what makes this puzzle hold me is that it turns a philosophical question into something concrete. Time, in the way philosophers usually talk about it, is hard. Block universe, growing block, presentism. These are positions one takes in seminar rooms.
But a video diffusion model with bidirectional attention is, in some quite literal sense, a block-universe device. It sees the whole clip at once and treats every frame as equally present. A causal video model with a forward-Markov chain is, in some quite literal sense, a presentist device. It only knows the past, and it has to predict its way into the future one step at a time. We have been building both kinds, more or less unintentionally, and we are now starting to notice that they are not the same thing.
I keep coming back to one image. A bidirectional model is something like a librarian who has read every book on the shelf and can tell you, when asked, what happens on page 73 of a novel given the contents of pages 1 to 72 and pages 74 to 200. A causal model is something like a reader, sitting at page 72, who only knows what has already happened and has to guess what comes next. These are very different epistemic positions. They produce different kinds of knowledge. They feel different from the inside, if a model can be said to have an inside.
It is not obvious to me that we want a librarian when we say we want a world model. It might be that the world model we have been chasing, all along, is the reader.
That, I think, is what kept me up.
References, if you want to chase these threads further: the Vid2World causalization recipe is in Huang et al., arXiv:2505.14357 (ICLR 2026). Sora’s “video generation models as world simulators” report is the OpenAI technical post from February 2024. The most accessible derivation of variational free energy is still Rafal Bogacz’s 2017 tutorial in the Journal of Mathematical Psychology, and the original “is RL the same thing as active inference?” question is laid out in Friston et al., PLoS ONE 2009. The reverse-time SDE result I lean on is Anderson, Stochastic Processes and their Applications 1982.