Caesarrr commited on
Commit
fb72781
·
verified ·
1 Parent(s): aed114b

Publish MIKASA PPO trained with QwenOFT RTX 3090 latency profile

Browse files
README.md CHANGED
@@ -3,10 +3,11 @@ license: other
3
  ---
4
  # Latency-Sensitive Bench models
5
 
6
- Inference-ready zero-latency teachers and VLA policies for the supported benchmark tasks.
7
 
8
  ## Layout
9
 
 
10
  - `zero-latency/mikasa-intercept-grab-fast/small-policy/ppo-v1`: accepted PPO teacher and strict evaluation.
11
  - `zero-latency/mikasa-intercept-grab-fast/vla/starvla-qwenoft-v1`: StarVLA QwenOFT 5k inference checkpoint, portable config, statistics, and zero-latency evaluation.
12
  - `zero-latency/humanoidbench-balance-simple/small-policy/fasttd3-v1`: accepted FastTD3 teacher and portable train/eval configs.
 
3
  ---
4
  # Latency-Sensitive Bench models
5
 
6
+ Inference-ready teachers and VLA policies for the supported benchmark tasks.
7
 
8
  ## Layout
9
 
10
+ - `latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1`: scratch-trained PPO with the QwenOFT RTX 3090 temporal profile; independent 256-episode final success 98.83% (253/256).
11
  - `zero-latency/mikasa-intercept-grab-fast/small-policy/ppo-v1`: accepted PPO teacher and strict evaluation.
12
  - `zero-latency/mikasa-intercept-grab-fast/vla/starvla-qwenoft-v1`: StarVLA QwenOFT 5k inference checkpoint, portable config, statistics, and zero-latency evaluation.
13
  - `zero-latency/humanoidbench-balance-simple/small-policy/fasttd3-v1`: accepted FastTD3 teacher and portable train/eval configs.
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/README.md ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # MIKASA InterceptGrabFast — PPO with QwenOFT RTX 3090 latency
2
+
3
+ A small privileged-state PPO policy trained from random initialization with the
4
+ temporal latency profile measured for QwenOFT on one RTX 3090. The policy uses
5
+ 49D state observations and deterministic mean actions for evaluation.
6
+
7
+ ## Files
8
+
9
+ | File | Contents |
10
+ | --- | --- |
11
+ | `checkpoint.pt` | Inference-ready native MIKASA `AgentStateOnly` state dictionary. |
12
+ | `strict-eval.json` | Independent 256-episode evaluation under the temporal profile. |
13
+ | `train.yaml` | Portable scratch-training configuration. |
14
+ | `eval.yaml` | Portable configuration reproducing the independent evaluation. |
15
+ | `provenance.json` | Selected training step, W&B run, and pinned profile source. |
16
+
17
+ ## Training and latency
18
+
19
+ - Environment: `InterceptGrabFast-VLA-v0`, `normalized_dense` reward, 60-step episodes.
20
+ - Observation: 49D privileged state; actor and critic each use three 256-unit tanh layers.
21
+ - Action: 7D `pd_ee_delta_pose`, one action per accepted request.
22
+ - Control frequency: 20 Hz; physics frequency: 100 Hz.
23
+ - Seed: 123; 1,024 environments; 60-step rollouts; 32 minibatches; eight update epochs.
24
+ - Learning rate: `1e-4`; PPO target KL: `0.2`; gamma: `0.99`; GAE lambda: `0.95`.
25
+ - Latency: `temporal`, training latency seed 0, one simulated worker,
26
+ `latest_ready` ordering, and `hold` between action arrivals.
27
+ - The profile's mean observation-to-action latency is 99.05 ms. The joint model
28
+ represents both worker occupancy and action-ready time.
29
+ - Selected checkpoint: 13,824,000 environment steps, iteration 225, chosen by
30
+ periodic `eval/success_at_end`. `train.yaml` retains the original 150M training
31
+ budget; the selected checkpoint is from the step stated above.
32
+
33
+ Training run: [ks6d837t](https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/ks6d837t).
34
+
35
+ The exact latency profile is
36
+ [`profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c`](https://huggingface.co/datasets/latency-sensitive-bench/profiles/tree/66414463f2a609316da63935941a79abf0a73ce9/profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c),
37
+ pinned to revision `66414463f2a609316da63935941a79abf0a73ce9`.
38
+ Latency is simulated from this profile during small-policy training and evaluation.
39
+
40
+ ## Independent evaluation
41
+
42
+ The evaluation used 64 parallel environments, 240 control steps per environment
43
+ (four complete episodes each), environment seed `20260910`, and independent
44
+ latency seed `271828`. Actions were deterministic policy means. The seed is a
45
+ vector-environment reset seed; it is not an enumerated list of 256 episode seeds.
46
+
47
+ | Metric | Result |
48
+ | --- | --- |
49
+ | Success at least once | 255 / 256 = **99.61%** |
50
+ | Success at the end | 253 / 256 = **98.83%** |
51
+ | Mean episode return | 33.6446 |
52
+ | Mean episode length | 60 control steps |
53
+ | Accepted / capacity-dropped requests | 7,606 / 7,754 |
54
+
55
+ `success_at_end` is the primary metric: the ball is grasped and the robot is
56
+ static at the final control step. This checkpoint passes the 90% acceptance
57
+ target. Per-episode outcomes were not retained by this evaluation; the JSON
58
+ contains the recorded aggregate results.
59
+
60
+ ## Download and evaluate
61
+
62
+ Run from a benchmark checkout with its MIKASA environment installed:
63
+
64
+ ```bash
65
+ BENCH_ROOT="$PWD"
66
+ MODEL_PATH="latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1"
67
+ PROFILE_PATH="profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
68
+ BUNDLE="$BENCH_ROOT/outputs/published-models/$MODEL_PATH"
69
+
70
+ hf download latency-sensitive-bench/benchmark-models \
71
+ --include "$MODEL_PATH/*" --local-dir "$BENCH_ROOT/outputs/published-models"
72
+ hf download latency-sensitive-bench/profiles --repo-type dataset \
73
+ --revision 66414463f2a609316da63935941a79abf0a73ce9 \
74
+ --include "$PROFILE_PATH/*" --local-dir "$BUNDLE"
75
+
76
+ cd "$BUNDLE"
77
+ CUDA_VISIBLE_DEVICES=0 \
78
+ PYTHONPATH="$BENCH_ROOT:$BENCH_ROOT/third_party/MIKASA-Robo" \
79
+ "$BENCH_ROOT/third_party/MIKASA-Robo/.venv/bin/python" \
80
+ "$BENCH_ROOT/third_party/MIKASA-Robo/mikasa_robo_suite/vla/dataset_collectors/get_dataset_collectors_ckpt.py" \
81
+ --env-id InterceptGrabFast-VLA-v0 \
82
+ --latency-config eval.yaml --latency-output-dir evaluation
83
+ ```
84
+
85
+ For scratch-training reproduction, use `train.yaml` in the same command and
86
+ choose a separate latency output directory. The benchmark integration supplies
87
+ the native policy architecture, simulator, and action-latency wrapper.
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9bc3b3875af77b664ef246ae1dc66bf3e013f5e4a1143f89c79c8fb086dcfea1
3
+ size 1169937
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/eval.yaml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ env:
2
+ env_fps: 20
3
+ obs_fps: 20
4
+ noop_action:
5
+ - 0
6
+ - 0
7
+ - 0
8
+ - 0
9
+ - 0
10
+ - 0
11
+ - 0
12
+ executor:
13
+ simulated_worker_capacity: 1
14
+ latency:
15
+ method: temporal
16
+ seed: 271828
17
+ profile_path: profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ scheduler:
19
+ ordering_policy: latest_ready
20
+ hold_policy: hold
21
+ training:
22
+ num_envs: 1
23
+ num_eval_envs: 64
24
+ num_steps: 60
25
+ num_minibatches: 32
26
+ update_epochs: 8
27
+ total_timesteps: 60
28
+ eval_freq: 25
29
+ track: false
30
+ exp_name: small-ppo-mikasa-intercept-grab-fast-qwenoft-rtx3090-temporal-scratch-baseline-settings
31
+ checkpoint: checkpoint.pt
32
+ resume: null
33
+ seed: 20260910
34
+ num_eval_steps: 240
35
+ learning_rate: 0.0001
36
+ target_kl: 0.2
37
+ evaluate: true
38
+ save_model: false
39
+ profile_source:
40
+ repo_id: latency-sensitive-bench/profiles
41
+ revision: 66414463f2a609316da63935941a79abf0a73ce9
42
+ path: profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/provenance.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "task": "mikasa-intercept-grab-fast",
3
+ "model": "ppo-mlp-state",
4
+ "status": "accepted",
5
+ "run_id": "ks6d837t",
6
+ "wandb_url": "https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/ks6d837t",
7
+ "checkpoint": "checkpoint.pt",
8
+ "checkpoint_bytes": 1169937,
9
+ "checkpoint_global_step": 13824000,
10
+ "checkpoint_iteration": 225,
11
+ "selection_metric": "eval/success_at_end",
12
+ "initialization": "from_scratch",
13
+ "training_seed": 123,
14
+ "profile": {
15
+ "repo_id": "latency-sensitive-bench/profiles",
16
+ "revision": "66414463f2a609316da63935941a79abf0a73ce9",
17
+ "path": "profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
18
+ },
19
+ "trainer_source": {
20
+ "wandb_run_id": "ks6d837t",
21
+ "path": "code/third_party/MIKASA-Robo/mikasa_robo_suite/vla/dataset_collectors/get_dataset_collectors_ckpt.py"
22
+ },
23
+ "evaluation": "strict-eval.json"
24
+ }
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/strict-eval.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episodes": 256,
3
+ "metrics": {
4
+ "success_once": 0.99609375,
5
+ "return": 33.64462661743164,
6
+ "episode_len": 60.0,
7
+ "reward": 0.5607438087463379,
8
+ "success_at_end": 0.98828125
9
+ },
10
+ "admitted_count": 7606,
11
+ "dropped_count": 7754,
12
+ "checkpoint": "checkpoint.pt",
13
+ "checkpoint_global_step": 13824000,
14
+ "evaluation_config": "eval.yaml",
15
+ "success_rate": 0.98828125,
16
+ "success_metric": "success_at_end",
17
+ "success_once_count": 255,
18
+ "success_at_end_count": 253,
19
+ "environment_seed": 20260910,
20
+ "latency_seed": 271828,
21
+ "deterministic": true
22
+ }
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenoft-rtx3090-v1/train.yaml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ env:
2
+ env_fps: 20
3
+ obs_fps: 20
4
+ noop_action:
5
+ - 0
6
+ - 0
7
+ - 0
8
+ - 0
9
+ - 0
10
+ - 0
11
+ - 0
12
+ executor:
13
+ simulated_worker_capacity: 1
14
+ latency:
15
+ method: temporal
16
+ seed: 0
17
+ profile_path: profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ scheduler:
19
+ ordering_policy: latest_ready
20
+ hold_policy: hold
21
+ training:
22
+ num_envs: 1024
23
+ num_eval_envs: 16
24
+ num_steps: 60
25
+ num_minibatches: 32
26
+ update_epochs: 8
27
+ total_timesteps: 150000000
28
+ eval_freq: 25
29
+ track: true
30
+ exp_name: small-ppo-mikasa-intercept-grab-fast-qwenoft-rtx3090-temporal-scratch-baseline-settings
31
+ checkpoint: null
32
+ resume: null
33
+ seed: 123
34
+ num_eval_steps: 60
35
+ learning_rate: 0.0001
36
+ target_kl: 0.2
37
+ profile_source:
38
+ repo_id: latency-sensitive-bench/profiles
39
+ revision: 66414463f2a609316da63935941a79abf0a73ce9
40
+ path: profiles/qwenoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c