In the previous post, we set up and ran DreamerV3 from scratch. A reader asked: what can a trained world model actually do?
Today we discuss a more cutting-edge topic: how to use world models to generate synthetic data that enhances the training of VLA (Vision-Language-Action) models. This has become one of the widely researched directions in robot foundation models in recent years.
Why VLA Needs Synthetic Data
The core capability of a VLA is enabling a robot to “understand human language” — you point at a cup on the table and say “hand me the red one,” and it can understand the language instruction and execute the corresponding action.
But training such a model requires massive amounts of data:
- Real data collection is expensive: it requires human demonstrations, with every data point needing a person to operate the robot
- Limited scenario coverage: real environments struggle to cover all edge cases (e.g., lighting changes, object occlusion)
- Dangerous actions cannot be collected: certain failure cases are too dangerous to collect in the real world
This is where world models prove valuable — they can generate large amounts of synthetic data in “imagination,” compensating for the shortcomings of real data.
How World Models Generate Synthetic Data
Recall the core capability of a world model: given the current state and action, predict what will happen next.
It is worth noting that synthetic data sources in robotics are not limited to latent world models like Dreamer. They also include physics simulators (MuJoCo, Isaac Sim, ManiSkill), neural rendering environments, and video-generation-based world models. The Dreamer series is representative for understanding model-based RL and latent imagination, but actual research draws from a much more diverse set of data sources.
In DreamerV3, the RSSM (Recurrent State Space Model) can perform rollouts in imagination space:
- Encode the initial latent state (posterior state) from real observations
- Sample or specify an action sequence
- RSSM progressively predicts latent state transitions and expected rewards
- Decode latent states into observations via the observation model
What the world model generates are latent trajectories. After passing through a visual decoder and task-condition mapping, these can be further used to construct the vision-language-action data needed for robot learning.
An important note: DreamerV3’s latent imagination differs fundamentally from the large-scale video generation models based on diffusion/transformer architectures that have emerged in recent years. DreamerV3’s core advantage lies in policy learning (latent dynamics, reward prediction), not in directly generating high-fidelity robot visual data. Images reconstructed directly from the DreamerV3 decoder tend to be blurry with missing details, and prolonged rollouts can suffer from object identity drift. This is precisely why the robotics field is moving toward video diffusion world models and transformer-based world models (such as UniSim, RoboGen, GAIA-1) to obtain higher-quality visual synthetic data.
Advantages of Synthetic Data
- Low-cost, large-scale generation: not limited by real robot collection speed, enabling rapid generation of large volumes of trajectories. However, keep in mind that generated samples come from the model’s distribution — if the model itself has learned biased representations, generating more data simply produces more biased data
- Coverage of edge cases: you can deliberately sample extreme actions to generate rare scenarios
- Zero marginal cost: no human operation needed, no real robot required
- Safe exploration of failure modes: you can explore failure modes that are difficult to collect in real environments (e.g., collisions, grasp failures), though the quality of these failure samples still depends on the world model’s ability to model physical laws
Specific Methods: World Model-Augmented VLA
There are several mainstream approaches to combining world models with VLA:
Method 1: Data Augmentation
The simplest approach — use the world model to generate more training samples and mix them with real data to train the VLA.
# Pseudocode
real_data = collect_human_demonstrations() # Real data
synthetic_data = world_model.generate_rollouts(n=10000) # Synthetic data
mixed_data = real_data + synthetic_data
vla.train(mixed_data) # Mixed training
The key is controlling the ratio of synthetic data. Too much synthetic data may cause the VLA to learn the world model’s biases; too little and the augmentation effect is negligible. There is no universally agreed-upon optimal ratio for synthetic data — it depends heavily on world model quality, task complexity, and domain gap. Simple manipulation tasks may benefit from large amounts of synthetic data, whereas in complex humanoid robot tasks, excessive synthetic data may actually degrade performance.
Method 2: Curriculum Learning
First train the VLA on simple scenarios generated by the world model, then gradually introduce real data.
- Stage 1: Pure synthetic data pre-training (learning basic action patterns)
- Stage 2: Mixed synthetic + real data fine-tuning (adapting to real distribution)
- Stage 3: Pure real data fine-tuning (eliminating sim-to-real gap)
The advantage of this approach is that the VLA first learns “roughly how to do it,” then fine-tunes with a small amount of real data.
Method 3: Online Imagination
At deployment time, the VLA uses the world model in real time to “imagine” possible futures, assisting decision-making.
This is closer to the DreamerV3 philosophy — the Actor is trained in imagination space. The difference is that VLA adds a language condition, requiring language instructions to be considered during imagination as well.
An Active Research Direction: World Model-Augmented VLA
In 2024, Physical Intelligence released the pi-0 model, generating significant attention in the robot foundation model field. Pi-0 is a general-purpose VLA model capable of performing well across diverse robot tasks.
However, pi-0 has substantial training data requirements. A natural research direction is: use world models to generate synthetic data for VLA to augment training.
Current exploration approaches include:
- Use DreamerV3 or similar models to learn task-specific world models
- Perform rollouts in the world model, generating latent trajectories and decoding them into observation sequences
- Combine with language condition mapping to construct (observation, language instruction, action) training samples
- Use these data to fine-tune pi-0 or similar VLA models
It is important to emphasize that this remains an active research direction, not a mature, standardized pipeline. There is currently no public evidence that pi-0’s training pipeline has integrated DreamerV3 data augmentation. The core value of world model-augmented VLA lies in providing a scalable data source, but how to efficiently integrate it remains under exploration.
Positioning note: DreamerV3 is better suited as an experimental platform for understanding world model imagination, rather than a mainstream solution for current robot VLA data production. Actual VLA training data comes more from physics simulators (Isaac Sim, ManiSkill) or real robot teleoperation collection.
Three Levels of Value: World Models for VLA
After discussing specific methods, it is worth stepping back to think: the value of world models for VLA goes beyond just “generating data.” There are at least three levels:
1. Data Generation
This is the most direct use case — the world model performs rollouts, generates synthetic trajectories, and augments the VLA training set.
2. Data Filtering
The world model or an auxiliary reward model can estimate the quality of generated trajectories (e.g., through predicted reward or task-specific success classifiers), and use this to filter high-value samples for training. This is far more efficient than “indiscriminately generating massive data” — rather than using 100,000 low-quality samples, it is better to use 10,000 filtered high-quality samples.
3. Online Planning
Looking further ahead, robots could use world models in real time at deployment for “imagination-based planning”:
- Receive a language instruction
- The world model performs rollouts of multiple candidate trajectories in imagination space
- Evaluate the expected return of each trajectory
- Select the best candidate and hand it off to the VLA policy for execution
This has more potential than simple data augmentation — it lets the robot “think before acting,” rather than relying entirely on patterns seen during training.
Practical challenges: online planning requires solving inference speed and long-horizon prediction stability problems. A single manipulation task may require rolling out hundreds of candidate trajectories, each dozens of steps long, creating significant computational overhead. Therefore, current approaches lean toward offline imagination or MPC (Model Predictive Control) based on compact latent models. Real-time visual world model planning remains in the research stage.
Hands-On: Generating VLA Training Data in DreamerV3
If you have already gotten DreamerV3 running (refer to the previous tutorial), you can try the following steps to generate synthetic data:
Step 1: Train a Task-Specific World Model
# Using cartpole as an example
python dreamerv3/main.py \
--logdir ~/logdir/wm_cartpole \
--configs defaults dmc_proprio \
--task dmc_cartpole_balance \
--run.steps 5e5
Step 2: Load the Trained Model and Generate Rollouts
The following code is conceptual pseudocode illustrating the core idea. DreamerV3’s actual API uses the RSSM’s observe() and imagine() workflows, which differ from the simplified version below.
import pickle
import numpy as np
# Load checkpoint
with open('~/logdir/wm_cartpole/ckpt/latest/agent.pkl', 'rb') as f:
agent = pickle.load(f)
# Generate synthetic data (conceptual pseudocode)
synthetic_data = []
for _ in range(1000):
# Random initial state
obs = env.reset()
# Concept flow: obs encoder -> RSSM posterior state
latent = agent.encode_observation(obs)
# Concept flow: RSSM imagine(action) -> next latent state
for t in range(100):
action = agent.sample_action(latent)
next_latent, reward = agent.imagine_step(latent, action)
# Concept flow: observation model -> decoded observation
next_obs = agent.decode_latent(next_latent)
synthetic_data.append((next_obs, action, reward))
latent = next_latent
# Save synthetic data
np.save('synthetic_data.npy', synthetic_data)
Engineering note: the np.save above is for demonstration only. Actual robot data typically includes variable-length trajectories, multimodal observations, and language annotations, and is saved as structured trajectory datasets (e.g., RLDS, LeRobot, Open X-Embodiment formats) rather than simple numpy files.
For practical use, it is recommended to refer to the implementation of the imagine() method in DreamerV3’s official code to understand the RSSM’s posterior/prior sampling mechanism. Note that the RSSM’s latent state actually consists of two parts: a deterministic hidden state (GRU output) and a stochastic latent state (sampled random variable), both of which jointly determine future predictions.
Step 3: Train VLA with Synthetic Data
Here you need a VLA framework, such as OpenVLA or an open-source implementation of RT-2. Convert the synthetic data into the format required by the VLA, then train. VLA data typically contains three components:
- image: camera observations (RGB images)
- language: task instructions (e.g., “pick up the red cup”)
- action: robot-specific control representations — different robots have very different action spaces
For example:
- Franka robot arm: joint positions + gripper width
- Mobile robot: velocity command (linear velocity, angular velocity)
- Humanoid robot: whole-body trajectory (full-body joint trajectories)
The action representation in synthetic data must be strictly aligned with the target VLA’s action space, otherwise it cannot be used directly.
Note: For proprioceptive tasks (only proprioception, no vision), additional processing is needed. VLA typically requires visual observations, so you should use robot environments with RGB observations (e.g., MuJoCo + camera, Isaac Sim, ManiSkill, RoboSuite) rather than proprioception-only control environments.
Challenges and Outlook
While the combination of world models + VLA is promising, it also faces several challenges:
Challenge 1: World Model Accuracy
The quality of synthetic data depends on the accuracy of the world model. If the world model has learned biased representations, the generated synthetic data will introduce errors, potentially degrading VLA performance.
Solution approach: validate synthetic data quality with real data, filtering out low-quality samples.
Challenge 2: Sim-to-Real Gap
The world model learns in simulation, but the VLA needs to be deployed in the real world. Synthetic data may not fully cover the distribution of the real world.
Solution approach: combine domain randomization with real data fine-tuning.
Challenge 3: Action Space Alignment
This is one of the biggest engineering hurdles in the World Model to VLA pipeline. The action representation learned by the world model and the action representation output by the VLA often differ:
- The world model may learn continuous torque (joint torques)
- The VLA may output 6D pose delta (end-effector pose increments)
The two cannot be directly connected. You may need an action tokenizer, trajectory adapter, or other action representation conversion modules (such as action chunking, diffusion action head) to perform the mapping:
World Model action space (e.g., torque)
|
↓
Action tokenizer / adapter
|
↓
VLA action representation (e.g., 6D pose)
This is a highly watched engineering problem in the current robot foundation model field. Efforts like Open X-Embodiment attempt to alleviate data silo problems between different robots through large-scale cross-robot data sharing.
Challenge 4: Language Grounding
World models typically do not directly process language. How to “inject” language instructions into the world model’s imagination remains an open question.
There are two mainstream approaches:
The first uses a VLM (Vision-Language Model) encoder to map language instructions into embeddings, serving as conditional input to the world model to guide rollout direction. This is more flexible than earlier CLIP-based approaches, because while CLIP can perform vision-language alignment, it does not understand robot actions and contains no dynamics information.
The second is the joint multimodal transformer approach, which unifies image tokens, language tokens, and action tokens in a single model. RT-2, OpenVLA, and pi-0 all represent directions in vision-language-action model development, but each has different architectures and action generation mechanisms — RT-2 discretizes actions into tokens predicted directly by the VLM, OpenVLA is an open-source VLA foundation model, and pi-0 uses flow matching for continuous action generation. The role of the world model in such architectures may be to provide imagined tokens or assist pre-training, rather than simple conditional generation.
Future Architecture for World Model-Augmented VLA
Synthesizing the above discussion, a relatively complete world model-augmented VLA architecture might look like this:
Language Instruction
|
↓
VLM Encoder
|
↓
World Model
|
-----------------------
| |
↓ ↓
imagined trajectories future prediction
|
↓
trajectory filtering
|
↓
VLA policy
|
↓
Robot
Note: this is a conceptual architecture. In actual systems, the coupling between world model and VLA remains non-standardized — it could be conditional generation, planning assistance, or joint training. Specific implementations vary significantly across research groups.
In this architecture, the world model is not just a “data factory” but simultaneously serves multiple roles: trajectory generation, quality assessment, and planning assistance. With the development of task generation frameworks like RoboGen, robot simulation platforms like RoboCasa and ManiSkill, and the accumulation of large-scale cross-robot datasets like Open X-Embodiment, the combination of world models and VLA holds promise for moving from research exploration toward practical deployment.
Summary
If you have already gotten the DreamerV3 experiment running from the previous post, you can understand this article in three layers:
- DreamerV3: learning environment dynamics — RSSM models state transitions in latent space
- World Model: generating the future in imagination — rolling out latent trajectories to construct synthetic training data
- VLA: using vision and language to complete robot tasks — combining synthetic data with language instructions to train general-purpose policies
The fusion of world models and VLA is an important direction in robot AI. World models provide “imagination,” enabling the generation of large amounts of synthetic data; VLA provides “language understanding,” enabling robots to understand human language. Combined, they hold promise for addressing the core pain point of VLA data scarcity.
If you are interested in this field, here are some recommendations:
- First get DreamerV3 running and understand how world models work
- Try generating synthetic data and observe the quality
- Follow open-source VLA projects like OpenVLA and pi-0
- Experiment with combining world models and VLA hands-on
Practice yields true knowledge. Code and more resources will be continuously updated on GitHub.
Comments