--- license: apache-2.0 tags: - robotics - world-model - robotwin - chronoloop --- # ChronoLoop on 5 hard RoboTwin 2.0 tasks (epoch 5) Epoch-5 checkpoints of two ChronoLoop runs (the `chrono` branch of [anhdao69/LoopWAM_NT](https://github.com/anhdao69/LoopWAM_NT)) trained on five RoboTwin 2.0 tasks: | Folder | Run | Memory | |---|---|---| | `CL-0_no-memory_a4/` | CL-0, the no-memory control | none (stateless) | | `CL-A_mem16-learned-loopwrite_a4/` | CL-A | 16 memory tokens, learned source, loop write, TBPTT S = 4 | Both use LoopWAM-S v0 (3 pre + 6 core x 4 loops + 3 coda), K_a = 4, initialized from the full-suite LIBERO v0 4/4 parent ([anhdao69/LoopWAM_NT](https://huggingface.co/anhdao69/LoopWAM_NT)) with new 14-D action and proprio interfaces. **These are mid-schedule checkpoints.** The runs follow a 10-epoch cosine schedule (70,220 updates); epoch 5 ends at update 35,111, where the learning rate is still 53% of its peak. ## Data Tasks: hanging_mug, blocks_ranking_size, scan_object, place_can_basket, handover_mic — the five tasks with the lowest trimmed-mean success in LiLa-WAM (arXiv 2608.03701) Table 8. 550 demonstrations per task (50 clean + 500 randomized) from the FastWAM RoboTwin release: 2,750 episodes, 792,168 training windows. FastWAM RoboTwin input protocol: 9 frames (offsets 0..32 step 4) and 32 actions per window, three cameras packed into 384x320, 14-D joint actions and state, global z-score with the published FastWAM statistics (`data/dataset_stats.json`). ## Files - `/epoch_05/policy.pt` — weights only (`chronoloop-v1`), FP32. - `/epoch_05/config.json` — memory flags, parent and schedule hashes, the epoch's last update. - `/manifest.json`, `metrics.jsonl`, `timing.json` — the full training record (per-update losses, LR, gates). - `data/dataset_stats.json` (normalization), `data/data_manifest.json` (episodes, windows, protocol). Load with `fastwam.models.wan22.chronoloop_robot.create_chronoloop_robot(cfg, vae_path, action_dim=14, proprio_dim=14, checkpoint_path=".../policy.pt")`, where `cfg` is the `ChronoConfig` stored in the checkpoint. ## Training LoopWAM-S v0, K_a = 4; AdamW (0.9, 0.95), weight decay 0.01; LR 3e-5 backbone, 3e-4 memory and robot interfaces; 3% warmup and cosine to 1% over 10 epochs (70,220 updates of 32 streams x 4 windows); TBPTT over 4 windows with stride 24. Two H100s per run. | Epoch | CL-0 loss (video / action) | CL-A loss (video / action) | |---|---|---| | 1 | 0.1014 / 0.1139 | 0.1014 / 0.1139 | | 2 | 0.0756 / 0.0170 | 0.0756 / 0.0170 | | 3 | 0.0691 / 0.0113 | 0.0690 / 0.0110 | | 4 | 0.0651 / 0.0085 | 0.0648 / 0.0072 | | 5 | 0.0623 / 0.0067 | 0.0618 / 0.0051 | Per-epoch means of the training loss. CL-A's memory read gates start at zero, so the two runs coincide for two epochs; CL-A's action loss is 24% lower in epoch 5. ## RoboTwin 2.0 evaluation RoboTwin 2.0 harness (`script/eval_policy.py`, aloha-agilex), unseen instructions, 50 episodes per task in each setting (scene seeds from 100000, kept only if the expert planner solves them; step limits from RoboTwin's task configs). The policy uses the training input protocol, executes the first 24 of 32 predicted joint targets and replans; 10 Euler steps, no CFG. CL-A's memory resets each episode. Mean success over the 5 tasks (mean of per-task rates): | Run | Clean | Randomized | |---|---:|---:| | CL-0 (no memory) | 55.2% | 50.0% | | CL-A (mem16) | **57.6%** | **53.1%** | | Task | CL-0 Clean | CL-A Clean | CL-0 Randomized | CL-A Randomized | |---|---:|---:|---:|---:| | hanging_mug | 12/50 | 15/50 | 15/50 | 14/49 | | blocks_ranking_size | 24/50 | 23/50 | 18/50 | 18/50 | | scan_object | 30/50 | 29/50 | 22/50 | 25/50 | | place_can_basket | 22/50 | 27/48 | 21/50 | 25/49 | | handover_mic | 50/50 | 49/50 | 49/50 | 50/50 | (CL-A's evaluation ran each job as two halves; in three jobs one or two seeds were run by both halves and count once.) On the 220 scenes per setting that both models ran, CL-A leads by 1.3 points on Clean and 5.4 on Randomized; neither difference is statistically significant (exact McNemar p = 0.80 and 0.14). Per-seed outcomes: `eval/robotwin5hard_epoch05_results.json`. These models are trained on 5 tasks only, so their numbers are not comparable to multi-task results on all 50 RoboTwin tasks. Report: `plans/performance/ChronoLoop_Robotwin5hard_Epoch5_20261017.md` on the `chrono` branch (training, evaluation protocol, harness changes, environment and commands).