Repository navigation
Conversation
Use the rollout producer mean for rollout/raw_reward so discarded all-correct and all-wrong groups remain visible. Keep the retained training-batch mean under rollout/raw_reward_filtered without changing training rewards or advantages.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
guapisolo
requested review from
Shi-Dong,
Zhichenzzz,
maocheng23 and
yueming-yuan
as code owners
October 28, 2026 00:09
Collaborator
Author
|
@claude review always |
Collaborator
Author
|
/rerun-test tests/e2e/short/test_qwen2.5_0.5B_gsm8k_short.py |
Collaborator
Author
|
/rerun-test tests/e2e/megatron/test_glm47_flash/test_spec_mtptrain_nor3_fp8_sgl_tp2_meg_tp1cp1_fullyasync.py |
Contributor
|
✅ |
Contributor
|
✅ |
Point dashboards and alerts built on the old retained-batch mean at rollout/raw_reward_filtered.
This branch has not been deployed
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
Make
rollout/raw_rewardinclude samples dropped by dynamic sampling.Symptom & Reproduction
[1, 1]groups, one[0, 0], and one[1, 0], the zero-std filter leaves a training mean of 0.5 even though the generated samples average 0.85.TestMetricGathererRawReward.test_the_mean_covers_kept_and_dropped_groups_alikepins this example.Root Cause
MetricGathereralready collects pre-filter rewards but publishes them under a separaterollout/raw_reward_unfilteredkey (#3073).log_rollout_datain the trainer publishes the retained, potentially post-processed batch mean asrollout/raw_reward.Fix
Publish the existing producer aggregate directly as
rollout/raw_reward, removingrollout/raw_reward_unfiltered. Rename only the trainer's logged mean torollout/raw_reward_filtered, so later training logs cannot overwrite generation metrics. Training data, reward post-processing, advantages, and filtering remain unchanged.The shared gatherer covers synchronous, fully async, and verifiers rollouts. It averages available scalar scores through
--reward-key; missing or unkeyed structured rewards contribute no point. Custom rollout implementations must provide the metric themselves. Fully async collection windows can span weight versions.Verification
4b5aaab4880b; the follow-up changes documentation only, covering filtering, synchronous/fully async rollouts, metric logging, and CI history integration.a6d60232ca65: the 0.85 example and producer/trainer logging separation for single/named policies.c3a94da524via/rerun-test:test_qwen2.5_0.5B_gsm8k_short.pypassed (step 0:rollout/raw_reward0.653,rollout/raw_reward_filtered0.594 after the zero-std filter), and the GLM-4.7 fully async test passed its metric-history gate onrollout/raw_rewardat steps 0 and 1.git diff --checkpassed.Review Focus
MetricGathererremains the sole owner of the pre-filter mean; trainer logging must never republish that key.