OpenMOSS/EasyWAM
A unified framework for training, fine-tuning, and evaluating World Action Models
EasyWAM – Unified Framework for World Action Models
What it is – EasyWAM is an open‑source research codebase that lets you train and evaluate World Action Models (WAMs). WAMs are neural networks that predict future video frames and robot actions from multimodal inputs, enabling embodied‑AI agents to plan and act in simulated environments.
Why it matters – Training such models is computationally heavy and requires a lot of plumbing (data loading, video decoding, distributed training, checkpoint handling, evaluation on many robot simulators). EasyWAM puts all of those pieces together in a single, modular framework, so researchers can focus on model ideas instead of engineering overhead.
Core features (as described in the README)
- Unified, modular design – model, data, training, and evaluation share a common interface, making it easy to plug in new WAM architectures.
- Performance‑first – built‑in support for FlashAttention 2/3/4, BF16, gradient checkpointing, DeepSpeed ZeRO‑1/2, and LoRA. The authors report a 2.7× speedup over the original FastWAM code on 8 × H100 GPUs.
- End‑to‑end pipeline – sparse video decoding, indexed text caches, persistent workers, prompt caching, and resumable evaluation reduce redundant work.
- Hydra‑based configuration – all hyper‑parameters are expressed in easy‑to‑override YAML files; launch scripts accept Hydra overrides directly.
- Multi‑benchmark support – ready‑to‑run recipes for LIBERO, LIBERO‑Plus, RoboTwin, RoboDojo, and RoboCasa365, each with full‑parameter and LoRA fine‑tuning modes.
- Backbone flexibility – works with three large vision‑language backbones: Wan2.2‑TI2V‑5B, Cosmos‑Predict2.5‑2B, and FLUX.2 Klein‑4B.
Supported models (quick glance)
| Model | Architecture | Full‑param training | LoRA fine‑tuning |
|---|---|---|---|
| EasyWAM‑Unified | Single‑backbone Video DiT (joint video + action) | ✅ | ✅ |
| EasyWAM‑MoT | Dual‑backbone with mixed self‑attention (action‑only) | ✅ | ✅ |
| EasyWAM‑MoT‑Joint | Dual‑backbone, joint video + action denoising | ✅ | ✅ |
| EasyWAM‑MoT‑IDM | Dual‑backbone, teacher‑forced video for action prediction | ✅ | ✅ |
| EasyWAM‑Hidden | Video DiT features condition a separate Action DiT | ✅ | ✅ |
Getting started (from the README)
- Create a conda environment
conda create -n easywam python=3.10 -y conda activate easywam - Install PyTorch (CUDA 12.8) and the package
pip install -U pip pip install torch==2.7.1 torchvision==0.22.1 \ --extra-index-url https://download.pytorch.org/whl/cu128 pip install -e . - (Optional) Install FlashAttention for the fastest attention kernels. The README lists commands for FA‑2, FA‑3, and FA‑4.
- Download a checkpoint from the Hugging Face collection linked in the badge.
- Pre‑compute text embeddings for the benchmark you will use, e.g.:
python scripts/precompute_text_embeds.py task=libero_easywam_mot_wan22 - Train – pick a launch script and a Hydra task config. Example for full‑parameter training on 8 GPUs:
For LoRA training on 4 GPUs:NPROC_PER_NODE=8 bash scripts/train_zero1.sh task=libero_easywam_mot_wan22NPROC_PER_NODE=4 bash scripts/train_zero2.sh task=libero_easywam_unified_wan22_lora - Evaluate – run the appropriate manager script, pointing to the checkpoint:
Similar commands exist for LIBERO‑Plus, RoboTwin, RoboDojo, and RoboCasa365.python experiments/libero/run_libero_manager.py \ task=libero_easywam_mot_wan22 \ ckpt=<path/to/checkpoint.pt>
Where to look next
- Documentation – the
docs/folder contains detailed guides for backbone preparation, data layout, benchmark setup, and configuration reference (both English and Chinese). - Benchmark results – see
docs/results/result.mdfor full tables; the README already shows LIBERO and LIBERO‑Plus numbers. - Contribution – the project follows a typical open‑source flow: open issues for bugs, submit PRs for new models/benchmarks, and update docs in both languages.
TL;DR
EasyWAM is a research‑grade, highly optimized framework for building and testing world‑action models on robot simulation benchmarks. It bundles modern efficiency tricks (FlashAttention, DeepSpeed, LoRA) with ready‑made configs for several state‑of‑the‑art backbones, letting you go from “I have a new WAM idea” to “trained model evaluated on LIBERO/RoboDojo” in a few commands.
Related
- Project
- Project
- Project
- Project