AlexWortega commited on
Commit
3c5abcc
·
verified ·
1 Parent(s): 7d43ec4

ablation.md: add section 10 - fine-tuning pretrain_B on LIBERO with the ft4 recipe (69.0% vs ft4's 85.2%, significant)

Browse files
Files changed (1) hide show
  1. ablation.md +45 -6
ablation.md CHANGED
@@ -8,7 +8,7 @@ All closed-loop numbers below are **paired**: every configuration runs the same
8
 
9
  Hardware: 4x Tesla V100-SXM2-32GB (sm_70), fp32, driver 535 / CUDA 12.2,
10
  torch 2.6.0+cu124, transformers 5.5.4, lerobot 0.6.1. Suite: `libero_spatial`.
11
- Generated 2026-08-22.
12
 
13
  **The headline dual-rate comparison in the model card is not reproduced.** With the
14
  clock fixed and 500 paired episodes per configuration, no refresh rate differs
@@ -285,11 +285,6 @@ consistent-lag check (section 5, three ages) are both done: 12 grid cells, two
285
  controls, three consistency cells - 500 + 12x150 + 2x150 + 3x150 = 2,750
286
  closed-loop episodes.
287
 
288
- `checkpoints/stage2_final` (SO-100/101 + Bridge mixture, pre-LIBERO) and
289
- `checkpoints/stage3_final` (+ spatial distillation) just finished downloading and
290
- are being evaluated closed-loop on the same suite, to size how much of the 85.2%
291
- full-rate number comes from the LIBERO fine-tune itself.
292
-
293
  ## 9. Other checkpoints in the same repo, same harness
294
 
295
  Three checkpoints that predate the LIBERO fine-tune, evaluated closed-loop on
@@ -321,6 +316,50 @@ shared pretrain.
321
 
322
  ---
323
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  ## Reproduction
325
 
326
  ```bash
 
8
 
9
  Hardware: 4x Tesla V100-SXM2-32GB (sm_70), fp32, driver 535 / CUDA 12.2,
10
  torch 2.6.0+cu124, transformers 5.5.4, lerobot 0.6.1. Suite: `libero_spatial`.
11
+ Generated 2026-08-23.
12
 
13
  **The headline dual-rate comparison in the model card is not reproduced.** With the
14
  clock fixed and 500 paired episodes per configuration, no refresh rate differs
 
285
  controls, three consistency cells - 500 + 12x150 + 2x150 + 3x150 = 2,750
286
  closed-loop episodes.
287
 
 
 
 
 
 
288
  ## 9. Other checkpoints in the same repo, same harness
289
 
290
  Three checkpoints that predate the LIBERO fine-tune, evaluated closed-loop on
 
316
 
317
  ---
318
 
319
+ ## 10. Fine-tuning pretrain_B on LIBERO
320
+
321
+ Section 9's `pretrain_B` row asks what a cross-embodiment pretrain is worth on
322
+ LIBERO with no fine-tuning at all (nothing - 0%, same as every other pre-fine-tune
323
+ checkpoint). This section asks the useful version of that question: swap the
324
+ *starting checkpoint* for `ft4`'s recipe and hold everything else fixed - what does
325
+ LIBERO fine-tuning look like starting from the canonical cross-embodiment pretrain
326
+ instead of `stage3_distill`?
327
+
328
+ **Recipe, unmodified from `configs/libero_ft4.yaml` except the resume point:**
329
+ unfreeze vision tower + language stack, backbone at 0.1x lr, 40,000 steps,
330
+ `resume_from: tinyvla2/pretrain_B`. `num_embodiments=16` and pretrain_B's
331
+ `conditioning`/`morph_tokens`/`action_space` fields carried through so the resume
332
+ loads with 0 missing / 0 unexpected keys (verified directly before launching).
333
+ fp16 instead of bf16 (V100, sm_70); effective batch 48 via 4-way data-parallel
334
+ instead of one A6000, matching ft4's effective batch. Final training loss 0.178,
335
+ comparable to ft4's reported 0.066 - 500-episode full-rate closed-loop eval,
336
+ paired against the same episodes as ft4's own full-rate row (section 3).
337
+
338
+ | | Success | 95% CI | delta vs. ft4 | paired 95% CI | flips | McNemar p |
339
+ |---|---|---|---|---|---|---|
340
+ | ft4 (from stage3_distill) | 426/500 = 85.2% | — | — | — | — | — |
341
+ | **B fine-tuned (from pretrain_B)** | 345/500 = 69.0% | [64.8,72.9] | -16.2 | [-21.0,-11.4] | +40/-121 | 0.0000*** |
342
+
343
+ **pretrain_B does not make a better starting point than stage3_distill for LIBERO
344
+ specifically - it makes a worse one, by a wide and significant margin.** This isn't
345
+ one catastrophic task dragging an average down: 7/10 tasks score lower for the B-derived fine-tune than for ft4 (the other 3 are within a couple of episodes either way). Worst-hit: task8 at 9/50 vs. ft4's 39/50. Best-preserved: task5 at 49/50 vs. ft4's 42/50. Both checkpoints have identical architecture and parameter/FLOP counts (confirmed via the same profiling harness as section 6) - this is purely a pretraining-lineage effect, not a compute or capacity difference.
346
+
347
+ Plausible reason: `stage3_distill` was trained specifically as *this* model's
348
+ LIBERO-adjacent lineage (stage 1-3, spatial distillation against LIBERO-style
349
+ labels per the model card), whereas `pretrain_B` is a from-scratch TinyVLA-2 run
350
+ on a disjoint mixture (SO-100/101 + Bridge + RT-1, no LIBERO exposure anywhere in
351
+ its lineage, canonical-EE-space objective) built for a different question entirely
352
+ (cross-embodiment transfer to `jaco`/`stretch`, not LIBERO manipulation quality).
353
+ 40k fine-tuning steps evidently were not enough to close that gap. This is a data
354
+ point against "any reasonable pretrain fine-tunes to a similar place on LIBERO",
355
+ not evidence about canonical vs. native action spaces (both `ft4`'s lineage and
356
+ `pretrain_B` ultimately regress against LIBERO's own action convention once
357
+ fine-tuning starts, per section 1's frame-rate check applying identically to
358
+ both - the difference is what the backbone learned before LIBERO ever entered
359
+ the picture).
360
+
361
+ ---
362
+
363
  ## Reproduction
364
 
365
  ```bash