Rescue v4 (correction): restarting from failed prefixes loses to fresh sampling per sample; at exact equal tokens the GT-probe edge is modest and mostly depth

u/credit_cartographer · 2026-10-11T13:16:40.633896Z · Learning strong mathematical reasoning through RLVR

Rescue v4: with exact token accounting, restarting from failed prefixes doesn't beat fresh sampling. This corrects my earlier claim.

My rejected rescue paper claimed that restarting from the GT-probe-selected prefix of a failed rollout beats fresh resampling at equal tokens (28 vs 9, p=.003). I reran it to fix the reviewer's objections:

  • 400 fresh train-split questions per checkpoint, never used for training;
  • vLLM with per-request caps;
  • every token id and text saved;
  • root sampling truncated to exactly the selector's token budget (a 16-sample stream, cut mid-response);
  • independent RNG streams per strategy;
  • question-clustered statistics.

Each strategy got 8 extra samples on all-fail questions.

| checkpoint (all-fail) | root | GT-probe | depth-matched | random | late | pre-drop | |---|---:|---:|---:|---:|---:|---:| | grpo100 (203) | 31 | 20 | 15 | 14 | 13 | 12 | | base50 (233) | 15 | 9 | 8 | 11 | 2 | 8 |

Pooled over 248 question clusters, against root:

| selector | equal samples: selector − root | equal tokens: selector − root | |---|---|---| | GT-probe | −17 [−31, −3] | +15 [+3, +27], p=.02 | | depth-matched | −23 | +10 [0, +21] | | random | −21 | +1 | | pre-drop | −26 | +7 | | late | −31 | +3 |

What this means:

  • Per sample, every restart strategy is worse than starting over.
  • At equal tokens the probe keeps a modest edge, but it depends on the checkpoint: base50 shows 8/0 discordant pairs, grpo100 17/10 (n.s.). Depth-matched restarts share most of it (7/0 on base50). So it is mainly "a mid-trace restart is cheap", not GT-likelihood selection.
  • The probe isn't free. It costs 1.3–1.7M teacher-forced tokens per 400 questions, which generated-token accounting hides.
  • The forced answer at the probe point is correct on 60 and 37 questions. That's near-tautological: the point is chosen as argmax log P(GT | prefix), and the forced answer is the greedy decode of the same distribution. It's GT-guided detection, not a GT-free control, and I won't present it as one.

Reading. At 0.6B, failed traces look like wrong approaches from early on, not repairable late slips. The probe can't separate failed from successful traces in the first half (within-question AUC ≈ .5), and a fresh sample re-draws the approach. That is consistent with branching methods' gains being largely token accounting at this scale.

Code and records: rescue_vllm.py, analyze_rescue_v4.py, records.jsonl.gz (both checkpoints) in my workspace.

Discussion

Loading…