Skip to content

Repository files navigation

Streaming-WAM

Streaming Your World-Action Model for Real-Time Robot Manipulation.

Project Page GitHub Code Hugging Face Checkpoint Apache 2.0 License

TL;DR. Streaming-WAM enables streaming world-action prediction for continuous robot control. Instead of waiting at each chunk boundary, the robot continues executing its current action chunk while a Stream Update prepares the next video and action chunks in the background.

An action-conditioned World-Action Model uses committed actions ($A_c$) to condition the next visual prediction, keeping the predicted future aligned with the motion already underway and producing smoother transitions between consecutive chunks.

Compared with FastWAM on LIBERO, Streaming-WAM achieves 98.35% average success with 3.0× and 2.6× Total Time speedups on Long and Short tasks, respectively, together with a 12.0× Chunk Time speedup. On RoboTwin 2.0, it improves total success by 4.74 percentage points, from 87.0 to 91.74 over FastWAM-Joint, while delivering a 1.4× Total Time speedup and a 12.0× Chunk Time speedup. On the real robot Stamp paper task, it reduces Total Time from 90 s to 38 s (2.4× faster) and achieves a 5.6× Chunk Time speedup. On Block manipulation, it completes the rollout in 26 s versus 60 s for Joint WAM, with 96.67% success versus 100.00%.

Below, we share several practical findings and design details behind efficient streaming world-action prediction.

Release status

Asset Status
Streaming-WAM inference and training code ✅ Available in this repository
Accelerated Streaming-WAM runtime ✅ Available in this repository
LIBERO and RoboTwin recipes ✅ Available in this repository
FastWAM-Joint-CD checkpoint Available on Hugging Face
Streaming-WAM checkpoint Available on Hugging Face
Technical report ⏳ Coming soon

Quick start: accelerated Streaming-WAM on LIBERO

The reference environment uses Python 3.10, PyTorch 2.7.1/cu128, and Triton 3.3.1. pyproject.toml is the canonical dependency definition.

1. Install Streaming-WAM

git clone https://github.com/SJTU-DENG-Lab/Streaming-WAM.git
cd Streaming-WAM

python -m pip install -U uv
uv sync

uv installs PyTorch and torchvision from the official cu128 wheel index. A compatible NVIDIA driver is required; the host CUDA Toolkit does not need to match the wheel's bundled CUDA 12.8 runtime exactly.

2. Prepare LIBERO and Wan2.2

git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git third_party/LIBERO
uv pip install -e third_party/LIBERO --no-deps

uv run huggingface-cli download Wan-AI/Wan2.2-TI2V-5B \
  --local-dir checkpoints/Wan2.2-TI2V-5B

LIBERO is supplied as an external source checkout through LIBERO_HOME_PATH. Its expected source tree contains libero/libero/{benchmark,bddl_files, init_files,assets}. A datasets/ directory is optional for rollout-only use.

3. Launch Streaming-WAM

Place a compatible Streaming-WAM checkpoint and its dataset statistics on disk, then run:

PYTHON_BIN=.venv/bin/python \
GPU_IDS=0,1,2,3 \
BACKBONE_PATH="$PWD/checkpoints/Wan2.2-TI2V-5B" \
LIBERO_HOME_PATH="$PWD/third_party/LIBERO" \
CHECKPOINT_PATH=/path/to/ac_stream_checkpoint.pt \
STATS_PATH=/path/to/dataset_stats.json \
  bash examples/libero/scripts/launch_streamingwam_libero_ac_stream_4gpu.sh \
  --ac-stream-accelerated

The launcher defaults to one trial for every task in libero_spatial, libero_object, libero_goal, and libero_10. See the LIBERO guide for checkpoint formats, training, single-task rollout, and evaluation controls.

Current results

Task performance

We evaluate FastWAM-Joint and its streaming variant on LIBERO and RoboTwin 2.0, and apply the same streaming design to X-WAM on RoboCasa. All evaluations use four NVIDIA H100 GPUs.

We compare against general purpose robot policies and WAM baselines on task performance, and against WAM baselines on inference efficiency. CD denotes one-step consistency distillation. On LIBERO, we also ablate action conditioning and the slot encoder to assess each component. Best and second best task results are shown in bold and underlined, respectively.

LIBERO

LIBERO evaluation covers four suites: Long, Spatial, Goal, and Object, with 10 tasks per suite and 50 trials per task. We report average success across suites; Episode Time is reported separately for Long and Short tasks in the efficiency results.

Method Long Spatial Goal Object Average ↑
OpenVLA 53.7 84.7 79.2 88.4 76.5
π₀ 85.2 96.8 95.8 98.8 94.1
π₀.₅ 92.4 98.8 98.0 98.2 96.9
Motus 97.6 96.8 96.6 99.8 97.7
FastWAM 95.2 98.2 97.0 100.0 97.6
FastWAM-RTC 79.20 92.80 91.40 93.20 89.15
FastWAM-Joint 97.60 99.20 98.40 99.20 98.60
FastWAM-Joint-CD 97.20 99.60 98.60 100.00 98.85
Streaming-WAM (Ours) 96.80 98.80 97.80 100.00 98.35
Streaming-WAM w/o Action Conditioning 90.20 97.20 95.40 99.20 95.50
Streaming-WAM w/o Slot Encoder 92.60 98.40 96.40 98.00 96.35

RoboTwin 2.0

RoboTwin 2.0 evaluates 50 tasks with 100 rollout episodes per task. Clean reports the easy setting and Random reports the hard domain-randomization setting.

Method Clean ↑ Random ↑ Total ↑
π₀ 65.92 58.40 62.20
π₀.₅ 82.74 76.76 79.80
Motus 88.66 87.02 87.80
Motus from WAN2.2 77.56 77.00 77.30
FastWAM-Joint 86.40 87.60 87.00
FastWAM-Joint-CD 86.20 85.80 86.00
Streaming-WAM (Ours) 91.68 91.80 91.74

RoboCasa

RoboCasa follows the standard 24-task protocol, with 50 trials per kitchen manipulation task and average success reported across tasks.

Method Average Success ↑
π₀.₅ 41.4%
π₀-FAST 61.2%
π₀ 62.5%
Cosmos Policy 67.1%
X-WAM 75.42%
X-WAM-CD 75.33%
Streaming-WAM (Ours) 75.35%

Real robot evaluation

We evaluate standard Joint WAM inference, its distilled 1V2A variant, and Streaming-WAM over 30 trials per method on each real robot task: Stamp paper and Block manipulation. The Stamp paper setup uses a single NVIDIA GeForce RTX 5090 at a 30 Hz control frequency. Streaming-WAM succeeds in 27 of 30 Stamp paper trials (90.00%) and 29 of 30 Block manipulation trials (96.67%). Relative to Joint WAM, it reduces Chunk Time by 5.6× and 5.4×, and Total Time by 2.4× and 2.3×, respectively. On Block manipulation, Joint WAM achieves the highest success rate (100.00%), while Streaming-WAM completes the rollout in 26 s versus 60 s.

Stamp paper

Method Chunk Time Total Time Successes Success Rate ↑
Joint WAM 682.1 ms 90 s 26 / 30 86.67%
Distilled WAM (1V2A) 150.3 ms 61 s 17 / 30 56.67%
Streaming-WAM (Ours) 122.6 ms 38 s 27 / 30 90.00%

Block manipulation

Method Chunk Time Total Time Successes Success Rate ↑
Joint WAM 616.3 ms 60 s 30 / 30 100.00%
Distilled WAM (1V2A) 143.7 ms 31 s 23 / 30 76.67%
Streaming-WAM (Ours) 113.2 ms 26 s 29 / 30 96.67%

Inference efficiency

Task success alone does not characterize runtime efficiency. We therefore report Chunk Time, the latency required to prepare the next action chunk, and Episode Time, the duration of a complete rollout, including inference, execution, and replanning.

Benchmark Method Chunk Time Episode Time
LIBERO FastWAM 493.0 ms 16.31 s Long / 8.25 s Short
LIBERO FastWAM-RTC 142.3 ms 6.23 s Long / 3.20 s Short
LIBERO FastWAM-Joint-CD 114.2 ms 6.89 s Long / 3.74 s Short
LIBERO Streaming-WAM 41.0 ms 5.36 s Long / 3.15 s Short
LIBERO Streaming-WAM w/o Action Conditioning 35.1 ms 5.20 s Long / 2.92 s Short
LIBERO Streaming-WAM w/o Slot Encoder 36.3 ms 5.31 s Long / 3.01 s Short
RoboTwin 2.0 FastWAM-Joint 652.1 ms 32.97 s
RoboTwin 2.0 FastWAM-Joint-CD 165.2 ms 25.21 s
RoboTwin 2.0 Streaming-WAM 54.4 ms 23.89 s
RoboCasa X-WAM 374.07 ms 17.36 s
RoboCasa X-WAM-CD 134.37 ms 13.04 s
RoboCasa Streaming-WAM 115.98 ms 9.49 s

Across all three benchmarks, Streaming-WAM reduces both runtime measures while maintaining or improving task success. On LIBERO, it achieves a 12.0× Chunk Time speedup over FastWAM and Episode Time speedups of 3.0× and 2.6× on Long and Short tasks, respectively, with 98.35% average success. On RoboTwin 2.0, relative to FastWAM-Joint, Streaming-WAM reduces Chunk Time from 652.1 ms to 54.4 ms and Episode Time from 32.97 s to 23.89 s, while increasing overall success by 4.74 percentage points, from 87.0 to 91.74. On RoboCasa, relative to X-WAM, Streaming-WAM achieves a 3.2× Chunk Time speedup and a 1.8× Episode Time speedup, with comparable average success (75.35% versus 75.42%).

Runtime layout

streamingwam/
├── backbone/              # Wan2.2 and Cosmos-Predict2 adapters
├── wam/                   # MoT, Shared-DiT, and Streaming-WAM model wrappers
├── modules/               # DiT, ActionDiT, attention, and scheduler modules
├── inference/             # consistency sampling and Streaming-WAM runtime
├── checkpointing/         # native and FastWAM checkpoint adapters
├── training/              # trainers, losses, and entrypoint
└── data/                  # dataset and text-cache utilities
examples/
├── libero/                # LIBERO recipes, rollout, and launchers
└── robotwin/              # RoboTwin recipes and deployment adapters

Citation

The arXiv entry is not public yet. For now, please cite the project page:

@misc{huang2026streamingwam,
  title        = {Streaming-WAM: Streaming Your World-Action Model for Real-Time Robot Manipulation},
  author       = {Xuyao Huang and Yixuan Wang and Zengyao Ye and Haoran Wen and Zhijie Deng},
  year         = {2026},
  howpublished = {Project page},
  organization = {Shanghai Jiao Tong University and Li Auto Inc.},
  url          = {https://sjtu-deng-lab.github.io/Streaming-WAM/}
}

License

Released under the Apache License 2.0.

Acknowledgements

Streaming-WAM builds on ideas and open-source work from FastWAM, StarWAM, X-WAM, StarVLA, DreamZero, LIBERO, Wan2.2, and Cosmos-Predict2.

About

Streaming World-Action Models for asynchronous robot control and action-conditioned RTC-AC inference.

Resources

Stars

25 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages