Skip to content

verl buffer trainer: background releases, per-round phase timing and hybrid MFU accounting - #327

Merged
michaellchung merged 1 commit into
mainfrom
background-release-mfu
Nov 3, 2026
Merged

michaellchung merged 1 commit into
mainfrom
background-release-mfu

Conversation

@michaellchung

Copy link
Copy Markdown
Contributor

Summary

  • --rl-release-background (buffer trainer, needs --rl-release-delta-full-every N): the staged release is written on the training thread, then encoded, digested and uploaded on a worker thread while the next rounds train. At most one release is in flight; the next publication waits for it and re-raises its error. The release log stays in version order, the release origin is computed on the training thread, and the publisher is closed when the run raises.
  • rl_round_phases: per-round phase timing, emitted on trainer islands only; no clock reads for phase accounting while it is off.
  • yeto.rl.hybrid_flops: Ascend MFU accounting and a CLI that prints step_mfu / wall_mfu per trained round from a trainer event tape, for hybrid models (Nemotron-H) whose framework MFU counter does not cover them.
  • Docs: background releases and hybrid MFU in docs/MILES_RL.md.

Behavior changes

None by default: background releases are opt-in; single trainer only.

Test plan

  • pytest tests/test_rl_hybrid_params.py tests/test_rl_engine_driver.py tests/test_verl_sample_role.py tests/test_rl_verl_buffer_trainer.py tests/test_rl_sparse_weight_update.py: 172 passed.
  • scripts/precommit_check.py on the changed files: no errors.

Stacked on #326.

🤖 Generated with Claude Code

@michaellchung
michaellchung force-pushed the background-release-mfu branch 2 times, most recently from d564b00 to ec4c078 Compare November 2, 2026 17:42
@michaellchung
michaellchung force-pushed the background-release-mfu branch from ec4c078 to fa54896 Compare November 2, 2026 18:30
@michaellchung
michaellchung force-pushed the sparse-weight-update branch 2 times, most recently from 5211599 to c27856a Compare November 2, 2026 18:42
@michaellchung
michaellchung force-pushed the background-release-mfu branch 2 times, most recently from 91226de to 7ed7c17 Compare November 2, 2026 19:27
@michaellchung
michaellchung force-pushed the background-release-mfu branch 2 times, most recently from c60a94d to 933f436 Compare November 2, 2026 20:09
@michaellchung
michaellchung force-pushed the background-release-mfu branch from 933f436 to 7ec663b Compare November 3, 2026 02:05
@michaellchung
michaellchung changed the base branch from sparse-weight-update to main November 3, 2026 03:29
…hybrid MFU accounting

- --rl-release-background: the staged release is written on the training
  thread, then encoded, digested and uploaded on a worker thread while the
  next rounds train; at most one release in flight, its error raises at the
  next publication; the release log stays in version order and the release
  origin is computed on the training thread; the publisher is closed when
  the run raises.
- rl_round_phases: per-round phase timing emitted on the trainer islands
  only; no clock reads for phase accounting while it is off.
- hybrid_flops: Ascend MFU accounting and a CLI that prints step/wall MFU
  per trained round from a trainer event tape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@michaellchung
michaellchung force-pushed the background-release-mfu branch from 7ec663b to 6ef9f6e Compare November 3, 2026 03:29
@michaellchung
michaellchung merged commit 08a70d8 into main Nov 3, 2026
2 checks passed
@michaellchung
michaellchung deleted the background-release-mfu branch November 3, 2026 04:09
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.

1 participant