Publish Parkour qwengr00t latency-aware PPO
Browse files- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/README.md +20 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/checkpoint.pt +3 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_l0.json +44 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_l0.yaml +12 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_profile.json +44 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_profile.yaml +8 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/provenance.json +34 -0
- latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/train.yaml +34 -0
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Extreme Parkour Go2 — QwenGR00T latency-aware PPO
|
| 2 |
+
|
| 3 |
+
Native command policy trained from scratch with the QwenGR00T RTX 3090 temporal
|
| 4 |
+
latency profile. The checkpoint completed 3,000 PPO iterations on one H200.
|
| 5 |
+
|
| 6 |
+
Training used 6,144 environments, seed 1, 50 Hz control, 10 Hz decisions,
|
| 7 |
+
24 decisions/environment/iteration, control repeat 5, five PPO epochs, four
|
| 8 |
+
minibatches, and fixed learning rate `2e-4`.
|
| 9 |
+
|
| 10 |
+
| Evaluation | Episodes | Return mean ± SD | Raw length mean ± SD | Waypoint progress mean ± SD |
|
| 11 |
+
|---|---:|---:|---:|---:|
|
| 12 |
+
| QwenGR00T temporal profile | 100 | 18.6098 ± 3.5573 | 607.84 ± 85.42 | 0.9814 ± 0.1100 |
|
| 13 |
+
| 0 ms latency | 100 | 12.7761 ± 4.3001 | 479.16 ± 121.89 | 0.7900 ± 0.3054 |
|
| 14 |
+
|
| 15 |
+
Both evaluations use 256 parallel environments, seed 1, deterministic policy
|
| 16 |
+
means, and a 1,500 raw-control-frame episode cap. See `eval_profile.json` and
|
| 17 |
+
`eval_l0.json` for complete metrics and latency counts.
|
| 18 |
+
|
| 19 |
+
Training run: https://wandb.ai/saberrr-zju/isaaclab-parkour/runs/ce1ykqzc
|
| 20 |
+
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/checkpoint.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:72d03f3afa63efa0cc81bc600e546e45ecb3fa9cb19145f6e18d9bf32c5c5c5f
|
| 3 |
+
size 172353147
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_l0.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"identity": {
|
| 3 |
+
"checkpoint": "/home/ubuntu/latency-sensitive-bench/third_party/Isaaclab_Parkour/logs/rsl_rl/unitree_go2_parkour/2026-09-16_09-14-42_extreme_parkour_go2_qwengr00t_scratch_seed1_3k_h200/model_2999.pt",
|
| 4 |
+
"latency_config": "/home/ubuntu/latency-sensitive-bench/configs/training/latency/parkour_zero.yaml",
|
| 5 |
+
"latency": {
|
| 6 |
+
"method": "fixed",
|
| 7 |
+
"env_fps": 50,
|
| 8 |
+
"obs_fps": 10,
|
| 9 |
+
"profile_path": null
|
| 10 |
+
},
|
| 11 |
+
"teacher_checkpoint": "/home/ubuntu/model_14999.pt",
|
| 12 |
+
"teacher_baseline": false,
|
| 13 |
+
"seed": 1
|
| 14 |
+
},
|
| 15 |
+
"evaluation": {
|
| 16 |
+
"num_envs": 256,
|
| 17 |
+
"completed_episodes": 100,
|
| 18 |
+
"requested_episodes": 100,
|
| 19 |
+
"max_episode_steps": 1500,
|
| 20 |
+
"control_repeat": 5
|
| 21 |
+
},
|
| 22 |
+
"metrics": {
|
| 23 |
+
"reward_mean": 12.776075179576873,
|
| 24 |
+
"reward_std": 4.300141180357825,
|
| 25 |
+
"episode_length_raw_mean": 479.16,
|
| 26 |
+
"episode_length_raw_std": 121.88707474502368,
|
| 27 |
+
"waypoints_mean": 0.79,
|
| 28 |
+
"waypoints_std": 0.3053636173081368,
|
| 29 |
+
"edge_violation_mean": 0.154,
|
| 30 |
+
"edge_violation_std": 0.4126548194314469
|
| 31 |
+
},
|
| 32 |
+
"latency": {
|
| 33 |
+
"scope": "all_vector_slots_until_requested_episode_count",
|
| 34 |
+
"admissions": 32768,
|
| 35 |
+
"drops": 0,
|
| 36 |
+
"raw_control_frames": 163660,
|
| 37 |
+
"sampled_ms_mean": 0.0
|
| 38 |
+
},
|
| 39 |
+
"throughput": {
|
| 40 |
+
"raw_control_frames": 163660,
|
| 41 |
+
"elapsed_seconds": 21.216213559004245,
|
| 42 |
+
"raw_control_frames_per_second": 7713.911794149623
|
| 43 |
+
}
|
| 44 |
+
}
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_l0.yaml
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__base__: train.yaml
|
| 2 |
+
latency:
|
| 3 |
+
method: fixed
|
| 4 |
+
fixed_latency_ms: 0
|
| 5 |
+
seed: 0
|
| 6 |
+
evaluation:
|
| 7 |
+
num_envs: 256
|
| 8 |
+
episodes: 100
|
| 9 |
+
max_episode_steps: 1500
|
| 10 |
+
seed: 1
|
| 11 |
+
deterministic: true
|
| 12 |
+
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_profile.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"identity": {
|
| 3 |
+
"checkpoint": "/home/ubuntu/latency-sensitive-bench/third_party/Isaaclab_Parkour/logs/rsl_rl/unitree_go2_parkour/2026-09-16_09-14-42_extreme_parkour_go2_qwengr00t_scratch_seed1_3k_h200/model_2999.pt",
|
| 4 |
+
"latency_config": "/home/ubuntu/latency-sensitive-bench/outputs/latency_rl/parkour/h200_20260916_qwengr00t/latency.yaml",
|
| 5 |
+
"latency": {
|
| 6 |
+
"method": "temporal",
|
| 7 |
+
"env_fps": 50,
|
| 8 |
+
"obs_fps": 10,
|
| 9 |
+
"profile_path": "/home/ubuntu/latency-sensitive-bench/results/profiling/profiles/qwengr00t/1x-rtx3090/extreme_parkour_go2/instance_6e332477bffea7da/profile.json"
|
| 10 |
+
},
|
| 11 |
+
"teacher_checkpoint": "/home/ubuntu/model_14999.pt",
|
| 12 |
+
"teacher_baseline": false,
|
| 13 |
+
"seed": 1
|
| 14 |
+
},
|
| 15 |
+
"evaluation": {
|
| 16 |
+
"num_envs": 256,
|
| 17 |
+
"completed_episodes": 100,
|
| 18 |
+
"requested_episodes": 100,
|
| 19 |
+
"max_episode_steps": 1500,
|
| 20 |
+
"control_repeat": 5
|
| 21 |
+
},
|
| 22 |
+
"metrics": {
|
| 23 |
+
"reward_mean": 18.609787216186522,
|
| 24 |
+
"reward_std": 3.55725858640821,
|
| 25 |
+
"episode_length_raw_mean": 607.84,
|
| 26 |
+
"episode_length_raw_std": 85.41907624095795,
|
| 27 |
+
"waypoints_mean": 0.9814285714285714,
|
| 28 |
+
"waypoints_std": 0.1100185513113723,
|
| 29 |
+
"edge_violation_mean": 0.112,
|
| 30 |
+
"edge_violation_std": 0.3625686141959891
|
| 31 |
+
},
|
| 32 |
+
"latency": {
|
| 33 |
+
"scope": "all_vector_slots_until_requested_episode_count",
|
| 34 |
+
"admissions": 18937,
|
| 35 |
+
"drops": 18695,
|
| 36 |
+
"raw_control_frames": 187942,
|
| 37 |
+
"sampled_ms_mean": 157.4469528677673
|
| 38 |
+
},
|
| 39 |
+
"throughput": {
|
| 40 |
+
"raw_control_frames": 187942,
|
| 41 |
+
"elapsed_seconds": 22.80954939799267,
|
| 42 |
+
"raw_control_frames_per_second": 8239.619149010443
|
| 43 |
+
}
|
| 44 |
+
}
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/eval_profile.yaml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__base__: train.yaml
|
| 2 |
+
evaluation:
|
| 3 |
+
num_envs: 256
|
| 4 |
+
episodes: 100
|
| 5 |
+
max_episode_steps: 1500
|
| 6 |
+
seed: 1
|
| 7 |
+
deterministic: true
|
| 8 |
+
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/provenance.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"task": "extreme-parkour-go2",
|
| 3 |
+
"model": "ppo-command-policy",
|
| 4 |
+
"latency_profile_model": "qwengr00t",
|
| 5 |
+
"status": "evaluated",
|
| 6 |
+
"wandb_url": "https://wandb.ai/saberrr-zju/isaaclab-parkour/runs/ce1ykqzc",
|
| 7 |
+
"checkpoint": "checkpoint.pt",
|
| 8 |
+
"checkpoint_bytes": 172353147,
|
| 9 |
+
"checkpoint_sha256": "72d03f3afa63efa0cc81bc600e546e45ecb3fa9cb19145f6e18d9bf32c5c5f",
|
| 10 |
+
"checkpoint_iteration": 2999,
|
| 11 |
+
"decision_timesteps": 442368000,
|
| 12 |
+
"control_frames": 2211840000,
|
| 13 |
+
"initialization": "from_scratch",
|
| 14 |
+
"training_seed": 1,
|
| 15 |
+
"source_revisions": {
|
| 16 |
+
"benchmark": "f0929454423a5f170eb3c226aec42103ea351248",
|
| 17 |
+
"isaac_lab": "46dff135f44683f031edf346e544fcfd8456b2bb",
|
| 18 |
+
"parkour": "b34830ece802978aaff8b97500a3a924d1209c21"
|
| 19 |
+
},
|
| 20 |
+
"teacher": {
|
| 21 |
+
"checkpoint_sha256": "acd97fbc316cdfa52521f05ee6c6be8614a18b28cb9ff918a4aa9e25c7e29378"
|
| 22 |
+
},
|
| 23 |
+
"profile": {
|
| 24 |
+
"repo_id": "latency-sensitive-bench/profiles",
|
| 25 |
+
"revision": "e8be1e5dfd309f85ab7ff704dc02bd4898b7ceb4",
|
| 26 |
+
"path": "profiles/qwengr00t/1x-rtx3090/extreme_parkour_go2/instance_6e332477bffea7da",
|
| 27 |
+
"profile_sha256": "0513d130967861f132c68f5e851de0e004adb544336c28e1447acbf9b7c10bc1"
|
| 28 |
+
},
|
| 29 |
+
"evaluations": {
|
| 30 |
+
"profile": "eval_profile.json",
|
| 31 |
+
"zero_latency": "eval_l0.json"
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
|
latency-aware/extreme-parkour-go2/small-policy/ppo-qwengr00t-rtx3090-v1/train.yaml
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
experiment:
|
| 2 |
+
name: extreme_parkour_go2_qwengr00t_scratch
|
| 3 |
+
seed: 1
|
| 4 |
+
env:
|
| 5 |
+
name: extreme_parkour_go2
|
| 6 |
+
env_fps: 50
|
| 7 |
+
obs_fps: 10
|
| 8 |
+
simulator_device: cuda:0
|
| 9 |
+
latency:
|
| 10 |
+
method: temporal
|
| 11 |
+
seed: 0
|
| 12 |
+
profile_path: profiles/qwengr00t/1x-rtx3090/extreme_parkour_go2/instance_6e332477bffea7da/profile.json
|
| 13 |
+
executor:
|
| 14 |
+
simulated_worker_capacity: 1
|
| 15 |
+
scheduler:
|
| 16 |
+
hold_policy: hold
|
| 17 |
+
ordering_policy: latest_ready
|
| 18 |
+
command:
|
| 19 |
+
dimension: 34
|
| 20 |
+
horizon: 1
|
| 21 |
+
control_repeat: 5
|
| 22 |
+
training:
|
| 23 |
+
num_envs: 6144
|
| 24 |
+
kit_threads: 8
|
| 25 |
+
physx_threads: 8
|
| 26 |
+
physics_dt: 0.005
|
| 27 |
+
decimation: 4
|
| 28 |
+
decisions_per_env_per_iteration: 24
|
| 29 |
+
max_iterations: 3000
|
| 30 |
+
learning_epochs: 5
|
| 31 |
+
minibatches: 4
|
| 32 |
+
learning_rate: 0.0002
|
| 33 |
+
learning_rate_schedule: fixed
|
| 34 |
+
|