pi05_busybox_multitask
Full-component fine-tune of π0.5 on villekuosmanen/busybox_multitask. Relative 6D actions (5 joints delta, gripper absolute) with per-frame task prompts.
This checkpoint replaces the 2026-09-01 Hub root. That earlier 30k used shuffled language: OpenPI indexed meta.tasks with the inner LeRobot task_index instead of the remapped wrapper index. RoboCandyWrapper main (597aa9ad, remap de4e4eb) now maps sample task_index onto the sorted meta.tasks table, so a "push the green button" frame gets that sentence (wrapped index 23), not "Move the left slider to position 1".
Siblings: minmax-norm relative pravsels/pi05_busybox_multitask_minmax; absolute-action pravsels/pi05_busybox_multitask_abs (still the shuffled-language abs run).
| Policy | π0.5 (pi05=true, full-component) |
| Init checkpoint | pi05_base (gs://openpi-assets/checkpoints/pi05_base) |
| Dataset | villekuosmanen/busybox_multitask (LeRobot v3, 66 episodes, 12141 frames, 20 fps, 27 tasks) |
| Prompt | prompt_from_task (RCW remaps task_index; 27 instructions; no single default) |
| Action dim | 6 (single-arm; 5 joints delta, gripper absolute) |
| Cameras | top → base_0_rgb, wrist → left_wrist_0_rgb, front → base_1_rgb |
| Training | Vast 4× H100 80GB SXM data-parallel, full-component, 30k steps, global batch 32, action horizon 30 |
| Norm | per-timestep 1%/99% quantile |
| W&B project | busybox_multitask_pi05 |
| W&B run | 4ym0qegc |
Checkpoints
main is the latest finalized checkpoint (params/ + assets/ at the repo root). The publisher overwrites the root at each 5k save. Training target is step 30,000. train_state/ is not published.
| Field | Value |
|---|---|
| Latest published | main (params/, step 29999) |
| Config | pi05_busybox_multitask |
| Code | 84a93ad on task/busybox_multitask_promptfix |
| RCW | git main 597aa9ad21176e7f7dcee4aede5dc1ffc07eacee |
| Runtime | ~4h 30m (2026-09-02 12:40 UTC → 17:10 UTC) |
| Train loss | 0.2669 (step 0) → 0.0030 (step 29900) |
Usage
from huggingface_hub import snapshot_download
from openpi.policies import policy_config
from openpi.training.config import get_config
ckpt = snapshot_download("pravsels/pi05_busybox_multitask")
policy = policy_config.create_trained_policy(
get_config("pi05_busybox_multitask"),
ckpt,
)
uv run scripts/serve_policy.py \
--policy.config=pi05_busybox_multitask \
--policy.dir=/path/to/pravsels/pi05_busybox_multitask