Source-led article
Open Dreamer: Open-Source Reproduction of Dreamer 4 World Model Pipeline Released

A group of AI researchers under the name Reactor has released Open Dreamer, an open-source implementation of the Dreamer 4 world model pipeline written in JAX and Flax NNX. The project aims to make the full training recipe and inference code publicly available, giving researchers and developers a reproducible foundation for building world models.
The release includes two primary repositories. The first, next-state/open-dreamer, contains the complete training pipeline: a causal video tokenizer, an action-conditioned latent dynamics model, rollout generation, and Frechet Video Distance (FVD) scoring scripts. The second, reactor-team/open-dreamer, provides a minimal local rollout harness that generates frames from an MP4 video and a matching action file. A third component is a browser demo hosted on the Reactor runtime, which streams a generated Minecraft world in real time. The demo includes a Game ⟷ Dream toggle that switches the view between the real game and the world model frame by frame.
Datos clave
| Parameter | Value |
|---|---|
| Model size (dynamics) | 6 billion parameters |
| Tokenizer compression | ~100×, achieved via Masked Autoencoder |
| Training hardware | B200 GPUs, 200,000 steps |
| Open-source status | Fully public, including training recipe |
Technical highlights
The team deliberately stayed within the Dreamer 4 research paper to keep the search space narrow. They began training on CoinRun, a procedurally generated 2D platformer that fits on a single GPU, then scaled the pipeline to Minecraft/VPT-style gameplay video.
Both the tokenizer and the dynamics model use the same block-causal transformer backbone. Space layers propagate information among elements within a single frame, while causal time layers connect information across frames. The tokenizer is a transformer-based Masked Autoencoder (MAE) rather than a VAE, achieving roughly 100× compression without requiring KL or adversarial loss. The dynamics model performs next-frame prediction using diffusion forcing, flow matching, and shortcut models. It also predicts the next action. Critically, world-model tokens cannot read the agent token, ensuring that task and policy information influence future states only through the next action.
The shipped Minecraft configuration uses a 1.6B parameter dynamics model with 30 block-causal layers, d_model 1920, 30 attention heads, and 3 KV heads for grouped-query attention. Every fourth layer is a time-attention layer, and each timestep carries 32 learned register tokens. The model uses a 192-step sliding window for time attention. Training runs for 200,000 steps with the Muon optimizer, a WSD schedule, and a peak learning rate of 3e-4. The tokenizer emits 512 latent tokens per frame at a bottleneck width of 16, and raw 360×640 frames are padded to 368×640.
Stability lessons
The team reported that stability consumed the largest share of development time. Notably, most stability problems occur even when the loss is going down — MSE improves smoothly while generation quality degrades. They documented six fixes:
– Replacing LaProp with Muon, as LaProp caused random spikes.
– Treating EMA weights as mandatory for diffusion inference.
– Keeping parameters in float32, using BF16 only for most matmul activations, and float32 for normalization and the dynamics flow output head.
– Using x-prediction with a v-space loss, which improved stability slightly.
– Applying minibatch barycentric optimal transport between noise and latent sequences to stabilise rollout generation.
– Testing μ-parametrization but finding it unnecessary, partly because Muon holds hyperparameters steadier across model sizes.
The team also reported 57–58% model FLOPs utilisation, close to the 60% benchmark for healthy transformer training. On a B200, the crossover between bandwidth-bound and compute-bound sits at 292 FLOP/byte, and feeding 256 frames per GPU pushes the workload past that ridge point. Notably, the model state (parameters, gradients, optimizer, EMA) fits in about 24 GiB on a B200, but activations were the costlier factor. The team settled on plain data parallelism plus activation checkpointing, after trying FSDP, tensor parallelism, and sequence parallelism. Dataloading was solved by pre-tokenizing the entire dataset into .arrayrecord files and using Grain with a GPU-side prefetch buffer.
Why it matters for Indian AI developers
Open Dreamer provides a fully reproducible, open-source reference implementation of a state-of-the-art world model. For Indian researchers and startups working on AI agents, robotics, or game AI, this project reduces the barrier to experimenting with world models. The full training recipe, including the stability fixes, offers practical lessons for training large models on modest hardware. The project does not yet include the behaviour-cloning or RL training loop, but that is listed as an open roadmap item.
How to get started
The team has published a blog post, a browser demo, and the two repositories on GitHub. The training repo (next-state/open-dreamer) contains all configuration files and scripts needed to reproduce the Minecraft results. The inference repo (reactor-team/open-dreamer) provides the local rollout harness and the browser demo code. The team also shared updates on X (formerly Twitter) under the Reactor handle.
Source: MarkTechPost, “Meet Open Dreamer: A JAX/Flax Reproduction of the Dreamer 4 World Model Pipeline, With the Full Training Recipe Published” (https://www.marktechpost.com/2026/07/25/meet-open-dreamer-a-jax-flax-reproduction-of-the-dreamer-4-world-model-pipeline-with-the-full-training-recipe-published/)