fix(sc): gate reference logprobs on KL penalty - #3742
Merged
yfw merged 2 commits intoSep 1, 2026
Merged
Conversation
jinglinglingling
left a comment
Contributor
Author
There was a problem hiding this comment.
Self-review
No action needed — all high-confidence findings from the self-review were resolved and re-reviewed.
Scope
Reviewed the complete v2 Zero-KL reference-logprob gating change with parallel RL-correctness, bug, test, design, and comment reviewers, followed by an independent devil's-advocate pass.
Findings resolved
- Fixed the zero-KL producer/consumer mismatch: the trainer now fetches only logprob columns produced for the current step.
- Added direct train-pump coverage for all four policy/reference logprob gate combinations.
- Constrained
reference_policy_kl_penaltyto finite non-negative values. - Added setup-time rejection for reward-KL configurations that would skip required policy logprobs.
All fixes landed in e06a1b7342855ebeb7d36139853121477bd27533 and the final adversarial pass returned LGTM with no remaining findings at or above the 80% confidence threshold.
Validation
- 56 final SingleController/setup tests passed.
- 102 broader affected CPU tests passed across controller, setup, checkpointing, and split-policy APIs.
pre-commit run --all-filespassed, including Ruff, formatting, and Pyrefly.- PR is conflict-free.
Limitation
GPU/runtime qualification was not run locally because this environment does not expose a GPU. Full NVIDIA-runner validation and reviewer approval remain pending.
Generated by Cursor Agent using the upstream /review-pr-team workflow.
4 tasks
yfw
reviewed
Aug 29, 2026
Keep v2 reference-logprob requests aligned with reference-model initialization so zero-KL runs do not call an unavailable model. Signed-off-by: Linglin Jing <linglinj@nvidia.com>
Fetch only data-plane columns produced for each v2 train step and reject KL configurations that would silently omit required logprobs. Signed-off-by: Linglin Jing <linglinj@nvidia.com>
jinglinglingling
force-pushed
the
linglinj/v2-zero-kl-reference-logprobs
branch
from
August 29, 2026 03:10
e06a1b7 to
ff0df3f
Compare
yfw
approved these changes
Aug 31, 2026
Contributor
|
/ok to test ff0df3f |
yfw
enabled auto-merge (squash)
August 31, 2026 15:44
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
This PR forward-ports the Zero-KL reference-logprob gating introduced in #2443 to NeMo RL v2 (single-controller async).
reference_policy_kl_penaltyand the explicit skip flagThis forward-ports the Zero-KL reference-logprob gating behavior from #2443 to the current v2 single-controller async path.
Test plan
pre-commit run --all-filesGPU/runtime qualification was not run locally because this environment does not expose a GPU.