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

Publish MIKASA PPO trained with QwenPI v3 RTX 3090 latency profile

Browse files
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenpi_v3-rtx3090-v1/README.md ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # MIKASA InterceptGrabFast — PPO with QwenPI v3 RTX 3090 latency
2
+
3
+ A small privileged-state PPO policy trained from random initialization with the
4
+ temporal latency profile measured for QwenPI v3 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 148.69 ms. The joint model
28
+ represents both worker occupancy and action-ready time.
29
+ - Selected checkpoint: 15,360,000 environment steps, iteration 250, chosen by
30
+ periodic `eval/success_at_end` during the 25M-step run.
31
+
32
+ Training run: [u46f6pzq](https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/u46f6pzq).
33
+
34
+ The exact latency profile is
35
+ [`profiles/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c`](https://huggingface.co/datasets/latency-sensitive-bench/profiles/tree/66414463f2a609316da63935941a79abf0a73ce9/profiles/qwenpi_v3/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 | 253 / 256 = **98.83%** |
47
+ | Success at the end | 248 / 256 = **96.88%** |
48
+ | Mean episode return | 28.6463 |
49
+ | Mean episode length | 60 control steps |
50
+ | Accepted / capacity-dropped requests | 5,099 / 10,261 |
51
+
52
+ `success_at_end` is the primary metric. This checkpoint passes the 90%
53
+ acceptance target.
54
+
55
+ ## Download and evaluate
56
+
57
+ Run from a benchmark checkout with its MIKASA environment installed:
58
+
59
+ ```bash
60
+ BENCH_ROOT="$PWD"
61
+ MODEL_PATH="latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenpi_v3-rtx3090-v1"
62
+ PROFILE_PATH="profiles/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
63
+ BUNDLE="$BENCH_ROOT/outputs/published-models/$MODEL_PATH"
64
+
65
+ hf download latency-sensitive-bench/benchmark-models \
66
+ --include "$MODEL_PATH/*" --local-dir "$BENCH_ROOT/outputs/published-models"
67
+ hf download latency-sensitive-bench/profiles --repo-type dataset \
68
+ --revision 66414463f2a609316da63935941a79abf0a73ce9 \
69
+ --include "$PROFILE_PATH/*" --local-dir "$BUNDLE"
70
+
71
+ cd "$BUNDLE"
72
+ CUDA_VISIBLE_DEVICES=0 \
73
+ PYTHONPATH="$BENCH_ROOT:$BENCH_ROOT/third_party/MIKASA-Robo" \
74
+ "$BENCH_ROOT/third_party/MIKASA-Robo/.venv/bin/python" \
75
+ "$BENCH_ROOT/third_party/MIKASA-Robo/mikasa_robo_suite/vla/dataset_collectors/get_dataset_collectors_ckpt.py" \
76
+ --env-id InterceptGrabFast-VLA-v0 \
77
+ --latency-config eval.yaml --latency-output-dir evaluation
78
+ ```
79
+
80
+ For scratch-training reproduction, use `train.yaml` in the same command and
81
+ choose a separate latency output directory.
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenpi_v3-rtx3090-v1/checkpoint.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4ac89c11746e7d3d6c890ef97b37fd6bd6c091a55d2af38dd5cfaa7d0e3f7e1
3
+ size 1169937
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenpi_v3-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/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c
14
+ latency:
15
+ method: temporal
16
+ seed: 271828
17
+ profile_path: profiles/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ training:
19
+ exp_name: small-ppo-mikasa-intercept-grab-fast-qwenpi-v3-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-qwenpi_v3-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": "u46f6pzq",
6
+ "wandb_url": "https://wandb.ai/saberrr-zju/MIKASA-Robo-dataset-collectors/runs/u46f6pzq",
7
+ "checkpoint": "checkpoint.pt",
8
+ "checkpoint_bytes": 1169937,
9
+ "checkpoint_global_step": 15360000,
10
+ "checkpoint_iteration": 250,
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/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c"
18
+ },
19
+ "trainer_source": {
20
+ "wandb_run_id": "u46f6pzq",
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-qwenpi_v3-rtx3090-v1/strict-eval.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episodes": 256,
3
+ "metrics": {
4
+ "success_once": 0.98828125,
5
+ "return": 28.646331787109375,
6
+ "episode_len": 60.0,
7
+ "reward": 0.47743886709213257,
8
+ "success_at_end": 0.96875
9
+ },
10
+ "admitted_count": 5099,
11
+ "dropped_count": 10261,
12
+ "checkpoint": "checkpoint.pt",
13
+ "checkpoint_global_step": 15360000,
14
+ "evaluation_config": "eval.yaml",
15
+ "success_rate": 0.96875,
16
+ "success_metric": "success_at_end",
17
+ "success_once_count": 253,
18
+ "success_at_end_count": 248,
19
+ "environment_seed": 20260910,
20
+ "latency_seed": 271828,
21
+ "deterministic": true
22
+ }
latency-aware/mikasa-intercept-grab-fast/small-policy/ppo-qwenpi_v3-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/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c
14
+ latency:
15
+ method: temporal
16
+ seed: 0
17
+ profile_path: profiles/qwenpi_v3/1x-rtx3090/mikasa_intercept_grab_fast/instance_3a0d42681a03715c/profile.json
18
+ training:
19
+ exp_name: small-ppo-mikasa-intercept-grab-fast-qwenpi-v3-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: 25000000
40
+ eval_freq: 25
41
+ track: true