feat(eval): add gym eval reverify to recompute rewards from stored ro…#2078
Open
mpatel31415 wants to merge 30 commits into
Open
feat(eval): add gym eval reverify to recompute rewards from stored ro…#2078mpatel31415 wants to merge 30 commits into
mpatel31415 wants to merge 30 commits into
Conversation
…llouts Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
🌿 Preview your docs: https://nvidia-preview-mpatelka-compute-reward-from-existing-rollouts.docs.buildwithfern.com/nemo/gym Here are the markdown pages you've updated: |
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
…reward-from-existing-rollouts' into mpatelka/compute-reward-from-existing-rollouts Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
…he code Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
Signed-off-by: Martyna Patelka <mpatelka@nvidia.com>
mpatel31415
commented
Jul 23, 2026
| from pathlib import Path | ||
|
|
||
|
|
||
| def failures_path_for(output_fpath: Path) -> Path: |
Author
There was a problem hiding this comment.
This file has only single function. I hope it's fine, since I was not able to find a better place for it. Maybe rollout_common if we decide to add it. (but actually it's used also in resources_servers/gdpval/tests/test_multistage_orchestrator.py so I'd keep it here)
Signed-off-by: Martyna Patelka <mpatelka@nvidia.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.
What & why
Adds
gym eval reverify— recompute rewards from collected rollouts by re-running only the verifier, no model or agent inference. Use it when you change a verifier (grading mode, threshold, judge prompt) and want fresh rewards on existing rollouts, or to compare verifier configs on the same rollouts without sampling noise.How it works
Pairs each rollout with its materialized input on
(_ng_task_index, _ng_rollout_index)and POSTsinput_row | {"response": ...}to the server's/verify— no/seed_session, no session cookie. Writes recomputed-reward rows, a<output>_failures.jsonlsidecar, and (unless--disable-aggregation)<output>_aggregate_metrics.json.Safety:
REVERIFY_MODEReplaying
/verifyagainst a fresh session is only correct when the reward is a pure function of request body + config. NewReverifyModeenum (STATELESS/UNSUPPORTED) as aREVERIFY_MODEClassVaronBaseResourcesServerConfig(defaultUNSUPPORTED), served atGET /reverify_mode. Reverify queries it per server and refuses onUNSUPPORTED(reward depends on gone session state → silently wrong);--forceoverrides and prefixes outputsunsafe_. Servers opt in withREVERIFY_MODE: ClassVar[ReverifyMode] = ReverifyMode.STATELESS.