Skip to content

Fix fully_async stale-drop count and carry-over execution mode (P0-S follow-up) - #257

Merged
michaellchung merged 2 commits into
mainfrom
s23-p0s-fix
Oct 14, 2026
Merged

michaellchung merged 2 commits into
mainfrom
s23-p0s-fix

Conversation

@michaellchung

@michaellchung michaellchung commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two fixes to the P0-S rollout/training overlap from #245, found during review of the P0-S GPU evidence, plus the golden samples that the first fix invalidates.

What changed

  • fully_async_prompts.py: Miles resets _metric_stale_groups in get_metrics right after the trained-groups hook, so the value is already per round. Subtracting the previous reading turned 9, 0, 10, 0 into 9, -9, 10, -10. The value is now reported as read.
  • Rounds whose rollout overlaps training (Miles and verl fully_async) now label rl_rollout_carry_over with execution mode partitioned-overlap. The profile keeps its partitioned-serial step-scheduling mode; the driver lets carry-over fields replace the profile label for that event only.
  • rollout_meta_hook.py changed, so its source hash changed: 8 decoupling golden samples are regenerated, with a hash-migration record.

Behavior changes / compatibility

  • rl_rollout_carry_over.execution_mode is partitioned-overlap for fully_async rounds (was partitioned-serial).
  • The per-round stale-drop count is never negative.

Tests

  • Related tests: 219 passed. golden/backend_identity: 25 passed.
  • Full local suite: 15 failed before the golden regeneration = 7 multinode thread-limit failures (in the baseline) + 8 golden (fixed by the second commit). No new failures.

Depends on

#256. Branch rebased with no tree change; the GPU code baseline s23-p0s-fix@7a8485e5 has the same tree.

Not verified on GPU

Not run on GPU yet. The S23 GPU runs (third stage) use this branch as their code baseline.

🤖 Generated with Claude Code

chowhsu and others added 2 commits October 14, 2026 11:33
Miles resets _metric_stale_groups in get_metrics right after the
trained-groups hook, so the value is already per round; subtracting the
previous reading turned 9, 0, 10, 0 into 9, -9, 10, -10. Report it as read.

Rounds whose rollout overlaps training (Miles and verl fully_async) now
label rl_rollout_carry_over with execution_mode "partitioned-overlap";
the profile keeps its partitioned-serial step-scheduling mode, and the
driver lets carry-over fields replace the profile label for that event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@michaellchung
michaellchung marked this pull request as ready for review October 14, 2026 11:33
@michaellchung
michaellchung merged commit 921ee96 into main Oct 14, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants