fix(rollout): require complete groups for group estimators - #109
Merged
hijkzzz merged 1 commit intoSep 13, 2026
Merged
Conversation
Group estimators require every requested rollout to compute the intended prompt-level baseline. With dynamic filtering disabled, a per-response drop could leave a partial group and change that baseline. Require complete groups for group estimators while preserving partial groups for per-sample estimators and evaluation. Signed-off-by: Karthik Suresh <karsures@adobe.com>
2 tasks
hijkzzz
added a commit
that referenced
this pull request
Sep 13, 2026
…" (#111) This reverts commit 34fd910. A per-response drop (empty_tokens / vlm_media_unresolved / vlm_truncation / logprob_misalign / no_action_tokens) marks ONE rollout as unusable; #109 made a group estimator discard the prompt's healthy siblings as well and backfill, wasting 7 rollouts of generation per incident on the long-context / multi-image episodes that are most expensive. The motivations do not hold on main: every group estimator already handles short groups (mean over the remaining rollouts, grpo std guard, rloo n-1), and with dynamic filtering off batch divisibility is handled by balance_experiences dropping the trailing remainder, so there is no NCCL hang on this path. Plain over-length rollouts are truncated and kept. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Supersedes #48 with a smaller implementation against current
main, following the rollout dispatch and regrouping changes in #108.Group completeness was enforced only when dynamic filtering was enabled. A group estimator could therefore receive fewer than
n_samples_per_promptusable rollouts after a per-response drop, changing its intended prompt-level baseline.Require complete groups when training with group estimators, while preserving partial groups for:
Existing dynamic-filtering behavior remains unchanged.
Test plan
Regression coverage:
Validation:
python -m pytest -q tests/unit/test_samples_generator.py— 19 passed.python -m compileall -q molt examples/python tests— passed.The full suite could not collect locally because the test environment has PyTorch 2.4 and no Ray. Full-suite validation remains pending in the supported project container.