qualia_pi05 / ringonpole-both-bs64-ah60
openpi pi05 SFT fine-tune, launched via q-research vlatrain.
- Dataset:
qualiadev/ringonpole-v21(LeRobot v2.1) - Steps: 15000 | Batch: 64
Revisions step-<N> hold inference params only; the default revision is the final full
checkpoint (params + train_state).
Run config (verbatim, for reproducibility)
# ringonpole task ablation: full dataset, both tasks (199 eps / 158691 frames; prompts
# come from the per-episode task strings). Pair: ringonpole-put-bs64-ah60.yaml.
# bs64 needs 2x H100-80G at fsdp=1 (32/card, the full-fine-tune ceiling per card);
# stock openpi has no gradient accumulation, so 1 GPU would force bs32 instead.
name: qualia_pi05
exp_name: ringonpole-both-bs64-ah60
repo_id: qualiadev/ringonpole-v21
checkpoint_base_dir: /ephemeral/checkpoints
project_name: qualia-pi05
hf_repo_id: qualiadev/pi05-ringonpole-both-bs64-ah60
# ── Data: bi_dk1_follower, 14-D state/action, 3 cameras (the left arm is parked in
# every demo; kept in full anyway) ──────────────────────────────────────────
data_layer: generic
cameras:
cam_1: observation.images.base
cam_2: observation.images.left_wrist
cam_3: observation.images.right_wrist
relativize: true # dataset actions are absolute joint positions
bimanual: true
# ── Model ──────────────────────────────────────────────────────────────────
action_horizon: 60 # 2.0 s chunks at 30 fps
# ── Hyperparameters ─────────────────────────────────────────────────────────
num_train_steps: 15000 # ~6 epochs (158691 frames / bs 64)
save_interval: 2500
keep_period: null # keep only the latest save on disk; every save still
# publishes params to HF as a step-<N> revision
batch_size: 64
num_workers: 16 # pyav decode (leak-free) is ~3x slower per worker than
# torchcodec; 16 keeps 2x headroom over the bs64 frame rate
seed: 42
fsdp_devices: 1
ema_decay: null # openpi's pi05 fine-tune anchor uses 0.99; off in our stack
overwrite: false
resume: true # fresh dir starts from step 0; a re-run of this
# exp_name continues from its last on-disk checkpoint
optimizer:
b1: 0.9
b2: 0.95
eps: 1.0e-8
weight_decay: 1.0e-10
clip_gradient_norm: 1.0
lr_schedule:
warmup_steps: 1000
peak_lr: 2.5e-5 # matches openpi's pi05_aloha_pen_uncap anchor AT bs64
decay_steps: 15000 # match num_train_steps
decay_lr: 2.5e-6