feat(rollout): add min_valid_group_size to drop under-filled rollout groups - #1416
feat(rollout): add min_valid_group_size to drop under-filled rollout groups#1416EazyReal wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for dropping rollout groups that fall below a minimum size threshold (min_valid_group_size) and enables group-level normalization to handle partial or unequal groups correctly by passing actual group sizes. The review feedback suggests validating that all elements in group_sizes are positive integers, logging a warning when min_valid_group_size is silently clamped, and adding a defensive check for empty input data in compute_advantages.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
a26ede8 to
90f07e5
Compare
|
Thanks for the review. Addressed:
Respectfully holding off on:
|
38b0b77 to
60040c8
Compare
|
@garrett4wade @nuzant @sitabulaixizawaluduo @rchardx @fishcrap @HwVanICI @guozhihao-224 Could I get a quick review on this rollout-group filtering PR? It drops under-filled groups before they skew group-based training. |
60040c8 to
0d8d4ea
Compare
|
Rebuilt on current |
Allow grouped rollouts to reject under-filled groups while keeping partial groups as the default. Document the configuration boundary and cover wrapper plumbing. Signed-off-by: EazyReal <8047065+EazyReal@users.noreply.github.com>
0d8d4ea to
8777cb6
Compare
Description
Adds
min_valid_group_sizefor grouped rollouts. When a grouped rollout has too few non-Nonesurvivors,GroupedRolloutWorkflowcan now drop the whole group instead of training on a partial group.The default is
1, so existing behavior is unchanged: any non-empty partial group is kept. Set the value togconfig.n_samplesto require full groups. Values outside[1, group_size]raise instead of being clamped. The config is plumbed through both grouped rollout wrap sites, CLI reference docs are regenerated, and the Chinese rollout workflow reference documents the drop-policy behavior and YAML usage.Current
mainalready includes the variable-size group normalization layer from #1454, so this PR is now focused only on the optional drop policy.Related Issue
Part of #1419.
Validation
uv run python docs/generate_cli_docs.pyuv run pytest -q tests/test_grouped_rollout_min_valid.py tests/test_reward_norm_variable_group.py(15 passed)uv run ruff check areal/api/cli_args.py areal/infra/remote_inf_engine.py tests/test_grouped_rollout_min_valid.pyuv run ruff format --check areal/api/cli_args.py areal/infra/remote_inf_engine.py tests/test_grouped_rollout_min_valid.pygit diff --check origin/main...HEAD