Caesarrr commited on
Commit
c72713d
·
verified ·
1 Parent(s): a44e078

Publish MIKASA PPO trained with WanOFT RTX 3090 latency profile

Browse files
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1/README.md ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # MIKASA InterceptGrabFast — PPO with WanOFT RTX 3090 latency
2
+
3
+ A small privileged-state PPO policy trained from random initialization with the
4
+ temporal latency profile measured for WanOFT 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 300.54 ms. The joint model
28
+ represents both worker occupancy and action-ready time.
29
+ - Selected checkpoint: 69,120,000 environment steps, iteration 1125, chosen by
30
+ the highest periodic `eval/success_at_end` during the 150M-step run.
31
+
32
+ Training run: [sw3b981e](https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/sw3b981e).
33
+
34
+ The exact latency profile is
35
+ [`profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c`](https://huggingface.co/datasets/latency-sensitive-bench/profiles/tree/66414463f2a609316da63935941a79abf0a73ce9/profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c),
36
+ pinned to revision `66414463f2a609316da63935941a79abf0a73ce9`.
37
+
38
+ ## Independent evaluation
39
+
40
+ The evaluation used 64 parallel environments, 240 control steps per environment
41
+ (four complete episodes each), environment seed `20260910`, and independent
42
+ latency seed `271828`. Actions were deterministic policy means.
43
+
44
+ | Metric | Result |
45
+ | --- | --- |
46
+ | Success at least once | 161 / 256 = **62.89%** |
47
+ | Success at the end | 122 / 256 = **47.66%** |
48
+ | Mean episode return | 22.5840 |
49
+ | Mean episode length | 60 control steps |
50
+ | Accepted / capacity-dropped requests | 2,560 / 12,800 |
51
+
52
+ ## Download and evaluate
53
+
54
+ Run from a benchmark checkout with its MIKASA environment installed:
55
+
56
+ ```bash
57
+ BENCH_ROOT="$PWD"
58
+ MODEL_PATH="latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1"
59
+ PROFILE_PATH="profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
60
+ BUNDLE="$BENCH_ROOT/outputs/published-models/$MODEL_PATH"
61
+
62
+ hf download latency-sensitive-bench/benchmark-models \
63
+ --include "$MODEL_PATH/*" --local-dir "$BENCH_ROOT/outputs/published-models"
64
+ hf download latency-sensitive-bench/profiles --repo-type dataset \
65
+ --revision 66414463f2a609316da63935941a79abf0a73ce9 \
66
+ --include "$PROFILE_PATH/*" --local-dir "$BUNDLE"
67
+
68
+ cd "$BUNDLE"
69
+ CUDA_VISIBLE_DEVICES=0 \
70
+ PYTHONPATH="$BENCH_ROOT:$BENCH_ROOT/third_party/MIKASA-Robo" \
71
+ "$BENCH_ROOT/third_party/MIKASA-Robo/.venv/bin/python" \
72
+ "$BENCH_ROOT/third_party/MIKASA-Robo/mikasa_robo_suite/vla/dataset_collectors/get_dataset_collectors_ckpt.py" \
73
+ --env-id InterceptGrabFast-VLA-v0 \
74
+ --latency-config eval.yaml --latency-output-dir evaluation
75
+ ```
76
+
77
+ For scratch-training reproduction, use `train.yaml` in the same command and
78
+ choose a separate latency output directory.
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ec32a1d150f295d7f27d8d2dabdda34966b91389ff3d6568c09a75da98334ea
3
+ size 1169937
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1/eval.yaml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ env:
2
+ env_fps: 20
3
+ obs_fps: 20
4
+ noop_action: [0, 0, 0, 0, 0, 0, 0]
5
+ executor:
6
+ simulated_worker_capacity: 1
7
+ scheduler:
8
+ ordering_policy: latest_ready
9
+ hold_policy: hold
10
+ profile_source:
11
+ repo_id: latency-sensitive-bench/profiles
12
+ revision: 66414463f2a609316da63935941a79abf0a73ce9
13
+ path: profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c
14
+ latency:
15
+ method: temporal
16
+ seed: 271828
17
+ profile_path: profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ training:
19
+ exp_name: small-ppo-mikasa-intercept-grab-fast-wanoft-rtx3090-temporal-scratch
20
+ checkpoint: checkpoint.pt
21
+ resume: null
22
+ seed: 20260910
23
+ num_envs: 1
24
+ num_eval_envs: 64
25
+ num_steps: 60
26
+ num_eval_steps: 240
27
+ num_minibatches: 32
28
+ update_epochs: 8
29
+ learning_rate: 0.0001
30
+ target_kl: 0.2
31
+ gamma: 0.99
32
+ gae_lambda: 0.95
33
+ clip_coef: 0.2
34
+ ent_coef: 0.0
35
+ vf_coef: 0.5
36
+ max_grad_norm: 0.5
37
+ anneal_lr: false
38
+ finite_horizon_gae: true
39
+ total_timesteps: 60
40
+ eval_freq: 25
41
+ track: false
42
+ evaluate: true
43
+ save_model: false
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1/provenance.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "task": "mikasa-intercept-grab-fast",
3
+ "model": "ppo-mlp-state",
4
+ "status": "published",
5
+ "run_id": "sw3b981e",
6
+ "wandb_url": "https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/sw3b981e",
7
+ "checkpoint": "checkpoint.pt",
8
+ "checkpoint_bytes": 1169937,
9
+ "checkpoint_global_step": 69120000,
10
+ "checkpoint_iteration": 1125,
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/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
18
+ },
19
+ "trainer_source": {
20
+ "wandb_run_id": "sw3b981e",
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-wanoft-rtx3090-v1/strict-eval.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episodes": 256,
3
+ "metrics": {
4
+ "success_once": 0.62890625,
5
+ "return": 22.58401107788086,
6
+ "episode_len": 60.0,
7
+ "reward": 0.3764001727104187,
8
+ "success_at_end": 0.4765625
9
+ },
10
+ "admitted_count": 2560,
11
+ "dropped_count": 12800,
12
+ "checkpoint": "checkpoint.pt",
13
+ "checkpoint_global_step": 69120000,
14
+ "evaluation_config": "eval.yaml",
15
+ "success_rate": 0.4765625,
16
+ "success_metric": "success_at_end",
17
+ "success_once_count": 161,
18
+ "success_at_end_count": 122,
19
+ "environment_seed": 20260910,
20
+ "latency_seed": 271828,
21
+ "deterministic": true
22
+ }
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-wanoft-rtx3090-v1/train.yaml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ env:
2
+ env_fps: 20
3
+ obs_fps: 20
4
+ noop_action: [0, 0, 0, 0, 0, 0, 0]
5
+ executor:
6
+ simulated_worker_capacity: 1
7
+ scheduler:
8
+ ordering_policy: latest_ready
9
+ hold_policy: hold
10
+ profile_source:
11
+ repo_id: latency-sensitive-bench/profiles
12
+ revision: 66414463f2a609316da63935941a79abf0a73ce9
13
+ path: profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c
14
+ latency:
15
+ method: temporal
16
+ seed: 0
17
+ profile_path: profiles/wanoft/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ training:
19
+ exp_name: small-ppo-mikasa-intercept-grab-fast-wanoft-rtx3090-temporal-scratch
20
+ checkpoint: null
21
+ resume: null
22
+ seed: 123
23
+ num_envs: 1024
24
+ num_eval_envs: 16
25
+ num_steps: 60
26
+ num_eval_steps: 60
27
+ num_minibatches: 32
28
+ update_epochs: 8
29
+ learning_rate: 0.0001
30
+ target_kl: 0.2
31
+ gamma: 0.99
32
+ gae_lambda: 0.95
33
+ clip_coef: 0.2
34
+ ent_coef: 0.0
35
+ vf_coef: 0.5
36
+ max_grad_norm: 0.5
37
+ anneal_lr: false
38
+ finite_horizon_gae: true
39
+ total_timesteps: 150000000
40
+ eval_freq: 25
41
+ track: true