feat: log raw importance ratios and fraction of truncation/masking in vLLM importance sampling correction#5243
Open
muupan wants to merge 4 commits intohuggingface:mainfrom
Open
Conversation
for multi-process settings
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
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.
What does this PR do?
Resolves #5231
This PR adds new logged metrics:
sampling/raw_importance_sampling_ratio/{min,max,mean}sampling/importance_sampling_ratio/{min,max,mean}except being computed with values before truncation or masking.sampling/frac_modified_importance_sampling_ratioI ran the following code to verify the output:
From the tensorboard records, you can see:
sampling/raw_importance_sampling_ratio/maxare higher than the cap value of 1.2, whilesampling/importance_sampling_ratio/maxis upper bounded by it, which is expected as the latter are affected by truncation or masking. Masking leads to lower values than truncation, which is also expected.sampling/frac_modified_importance_sampling_ratiois higher with sequence-level IS than with token-level IS.Before submitting
Pull Request section?
to it if that's the case.
Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
Note
Low Risk
Low risk: changes are limited to additional metric logging around vLLM importance sampling ratios and do not affect the actual loss computation beyond variable renaming.
Overview
Adds new GRPOTrainer metrics to better diagnose vLLM importance-sampling correction by logging pre-cap (“raw”) importance sampling ratio stats (
sampling/raw_importance_sampling_ratio/{min,mean,max}) alongside the existing post-cap stats.Also logs
sampling/frac_modified_importance_sampling_ratio, the fraction of ratios that were changed by truncation/masking, and refactors the computation to keep bothraw_vllm_importance_sampling_ratioand the capped/maskedvllm_importance_sampling_ratiofor logging.Written by Cursor Bugbot for commit 7f8fee3. This will update automatically on new commits. Configure here.