ElysiaTrue commited on
Commit
b1f42ed
Β·
verified Β·
1 Parent(s): 094960e

Rename RTC-AC model to AC-Stream and update model card

Browse files
README.md CHANGED
@@ -1,3 +1,192 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ library_name: pytorch
4
+ tags:
5
+ - robotics
6
+ - robot-learning
7
+ - world-model
8
+ - action-generation
9
+ - libero
10
+ - pytorch
11
  ---
12
+
13
+ # StreamWAM
14
+
15
+ StreamWAM provides synchronous and asynchronous world-action inference for robot manipulation. This repository contains two LIBERO checkpoints in their original FastWAM checkpoint format. StreamWAM loads them directly at runtime; no offline checkpoint conversion or duplicate model copy is required.
16
+
17
+ ## Models
18
+
19
+ | Directory | Inference mode | Description |
20
+ | --- | --- | --- |
21
+ | `joint-cd/` | Joint CD | Direct synchronous one-step consistency inference that jointly predicts world and action tokens. |
22
+ | `ac-stream/` | AC-Stream | D0/D8 asynchronous inference that overlaps model prediction with action execution. The same checkpoint supports eager and accelerated backends. |
23
+
24
+ Each directory contains:
25
+
26
+ ```text
27
+ model.pt
28
+ dataset_stats.json
29
+ ```
30
+
31
+ The checkpoints use a Wan2.2 TI2V 5B backbone. The Wan2.2 model assets are not included in this repository and must be obtained separately.
32
+
33
+ ## Inference geometry
34
+
35
+ Both checkpoints target the following LIBERO setup:
36
+
37
+ - two RGB cameras, concatenated horizontally;
38
+ - per-camera resolution: 224 x 224;
39
+ - model image input: 224 x 448;
40
+ - action dimension: 7;
41
+ - proprioception dimension: 8;
42
+ - action horizon: 32;
43
+ - video context: 9 frames at inference time;
44
+ - BF16 model execution.
45
+
46
+ Joint CD uses one consistency step and replans every 16 executed actions.
47
+
48
+ AC-Stream uses the H32/s16/d8 schedule:
49
+
50
+ - D0 starts without a clean action prefix;
51
+ - D8 conditions on the first 8 clean actions of the current horizon;
52
+ - background D8 inference is launched while actions are executing;
53
+ - the controller advances by a stride of 16 actions;
54
+ - deadline misses block at the boundary instead of installing a stale prediction.
55
+
56
+ ## Requirements
57
+
58
+ Inference requires:
59
+
60
+ 1. the StreamWAM source code;
61
+ 2. Wan2.2 TI2V 5B model assets;
62
+ 3. a LIBERO source checkout and simulator dependencies;
63
+ 4. the checkpoint and matching `dataset_stats.json` from this repository.
64
+
65
+ The accelerated AC-Stream backend was validated with:
66
+
67
+ ```text
68
+ Python 3.10.20
69
+ PyTorch 2.7.1+cu128
70
+ Triton 3.3.1
71
+ CUDA 12.8 runtime
72
+ NVIDIA H100 80GB HBM3
73
+ BF16
74
+ ```
75
+
76
+ It uses static full-graph `torch.compile`, Inductor CUDA Graph Trees, prompt cross-attention K/V caching, attention-mask and schedule caching, and D0/D8 prewarming. Compilation or prewarming failure is reported instead of silently falling back to eager execution.
77
+
78
+ ## Download
79
+
80
+ Install the Hugging Face CLI, authenticate if required, and download the repository:
81
+
82
+ ```bash
83
+ hf download SJTU-DENG-Lab/StreamWAM \
84
+ --local-dir checkpoints/streamwam
85
+ ```
86
+
87
+ The resulting layout is:
88
+
89
+ ```text
90
+ checkpoints/streamwam/
91
+ β”œβ”€β”€ joint-cd/
92
+ β”‚ β”œβ”€β”€ model.pt
93
+ β”‚ └── dataset_stats.json
94
+ └── ac-stream/
95
+ β”œβ”€β”€ model.pt
96
+ └── dataset_stats.json
97
+ ```
98
+
99
+ ## LIBERO evaluation
100
+
101
+ Set the external asset paths first:
102
+
103
+ ```bash
104
+ export BACKBONE_PATH=/path/to/Wan2.2-TI2V-5B
105
+ export LIBERO_HOME_PATH=/path/to/LIBERO
106
+ ```
107
+
108
+ ### Joint CD
109
+
110
+ The following evaluates all 40 LIBERO tasks once with four persistent workers:
111
+
112
+ ```bash
113
+ python examples/libero/multigpu_rollout.py \
114
+ --gpus 0,1,2,3 \
115
+ --suites libero_spatial,libero_object,libero_goal,libero_10 \
116
+ --num-trials 1 \
117
+ --config examples/libero/configs/recipes/streamwam_libero_joint_cd_wan22_5b.yaml \
118
+ --checkpoint-format fastwam \
119
+ --checkpoint checkpoints/streamwam/joint-cd/model.pt \
120
+ --backbone-path "$BACKBONE_PATH" \
121
+ --stats-path checkpoints/streamwam/joint-cd/dataset_stats.json \
122
+ --libero-home "$LIBERO_HOME_PATH" \
123
+ --num-steps-wait 30 \
124
+ --replan-steps 16 \
125
+ --num-inference-steps 1 \
126
+ --sampling-method consistency \
127
+ --fixed-seed \
128
+ --mujoco-gl egl \
129
+ --save-video
130
+ ```
131
+
132
+ ### AC-Stream eager
133
+
134
+ ```bash
135
+ python examples/libero/multigpu_rollout.py \
136
+ --gpus 0,1,2,3 \
137
+ --suites libero_spatial,libero_object,libero_goal,libero_10 \
138
+ --num-trials 1 \
139
+ --config examples/libero/configs/recipes/streamwam_libero_rtc_ac_wan22_5b.yaml \
140
+ --checkpoint-format fastwam \
141
+ --checkpoint checkpoints/streamwam/ac-stream/model.pt \
142
+ --backbone-path "$BACKBONE_PATH" \
143
+ --stats-path checkpoints/streamwam/ac-stream/dataset_stats.json \
144
+ --libero-home "$LIBERO_HOME_PATH" \
145
+ --num-steps-wait 30 \
146
+ --replan-steps 16 \
147
+ --num-inference-steps 1 \
148
+ --sampling-method rtc_ac \
149
+ --fixed-seed \
150
+ --mujoco-gl egl \
151
+ --save-video
152
+ ```
153
+
154
+ ### AC-Stream accelerated
155
+
156
+ Use the same checkpoint and append `--rtc-ac-accelerated`:
157
+
158
+ ```bash
159
+ python examples/libero/multigpu_rollout.py \
160
+ --gpus 0,1,2,3 \
161
+ --suites libero_spatial,libero_object,libero_goal,libero_10 \
162
+ --num-trials 1 \
163
+ --config examples/libero/configs/recipes/streamwam_libero_rtc_ac_wan22_5b.yaml \
164
+ --checkpoint-format fastwam \
165
+ --checkpoint checkpoints/streamwam/ac-stream/model.pt \
166
+ --backbone-path "$BACKBONE_PATH" \
167
+ --stats-path checkpoints/streamwam/ac-stream/dataset_stats.json \
168
+ --libero-home "$LIBERO_HOME_PATH" \
169
+ --num-steps-wait 30 \
170
+ --replan-steps 16 \
171
+ --num-inference-steps 1 \
172
+ --sampling-method rtc_ac \
173
+ --rtc-ac-accelerated \
174
+ --fixed-seed \
175
+ --mujoco-gl egl \
176
+ --save-video
177
+ ```
178
+
179
+ For the validated accelerated runtime, the final report should show one Dynamo graph, zero recompiles, zero Inductor CUDA Graph skips, and successful D0/D8 prewarming. Raw inference averages include startup effects; use the reported steady-state D8 latency for backend comparisons.
180
+
181
+ ## Checkpoint loading
182
+
183
+ Use `--checkpoint-format fastwam` for both models. StreamWAM validates the video expert, action expert, and proprioception encoder key sets and tensor shapes before copying weights. A partial or incompatible checkpoint fails before mutating the model.
184
+
185
+ The matching statistics file is required for LIBERO state normalization and action denormalization. Do not mix statistics between `joint-cd` and `ac-stream`.
186
+
187
+ ## Scope and limitations
188
+
189
+ - These checkpoints are provided for LIBERO evaluation.
190
+ - Wan2.2 backbone assets and LIBERO are external dependencies and are not redistributed here.
191
+ - AC-Stream accelerated performance depends on GPU architecture, PyTorch/Triton versions, compilation cache state, and simulator workload.
192
+ - The accelerated backend changes execution strategy but uses the same AC-Stream checkpoint and inference semantics.
{rtc-ac β†’ ac-stream}/dataset_stats.json RENAMED
File without changes
{rtc-ac β†’ ac-stream}/model.pt RENAMED
File without changes