BridgeQuant-Async — LIBERO-Object 100.0%
Full-finetuned 480M VLA (LFM2.5-VL-450M backbone + BridgeConnector + BridgeActionHead). 200/200 episodes solved.
| suite | this repo | GR00T N1.7 (2B, 12.8M samples) |
|---|---|---|
| Object | 100.0 | 98.45 |
| Spatial | 98.0 (separate repo) | 97.65 |
| Goal | 95.0 (separate repo) | 97.50 |
| Long | 94.0 (separate repo) | 94.35 |
| mean | 96.75 | 97.00 |
Protocol: seed 42, 200 episodes (20 per task × 10 tasks), synchronous rollout,
n_action_steps=8, one Euler denoising step, raw (non-EMA) bundle.
Recipe
train_mode: finetune, lr 5e-5, 30k steps, batch 16, vision 512px, GR00T-style
augmentation, taps [0, 6, 12, 15], 64 role queries, memory rank 256, chunk 16,
flow matching with Beta(1.5, 1) time sampling, num_steps 1.
Object-specific: a small language-contrastive auxiliary (in-batch InfoNCE,
weight 0.05, pooled z_bridge against frozen text anchors). This suite is the
one place where an extra shaping objective helps: plain full finetune scores
93.0 here, langnce takes it to 100.0 (+7.0) and transition oversampling to 98.5
(+5.5). Elsewhere the same signals cost points — on LIBERO-Long the InfoNCE
objective drops the suite to 55.0. The useful amount of extra shaping scales
with how much slack the latent still has: Object's tasks are single-phase with
visually distinct targets, so there is capacity to spend; Long's are multi-phase
and every added constraint evicts a rare skill.
Async deployment
Same weights under the asynchronous runtime (cached bridge latent, ~5 ms
replan): 100.0 with --context-refresh-every 4, and 99.0 under the
unified controller shared by all four suites (K=8, refresh 2,
--precision-refresh --precision-refresh-approach --precision-refresh-uncertainty).
Eval
uv run python scripts/eval_libero_object.py \
--config train_config.yaml --checkpoint <this-dir> \
--n-action-steps 8 --episodes-per-task 20
The eval suite must match the training suite or success rate is 0%.
- Downloads last month
- 8