Skip to content

[GDPVal] Align rubric judge max_tokens default with comparison mode - #1234

Merged
marta-sd merged 4 commits into
mainfrom
spanev-gdpval-rubric-default-max-tokens
Jul 10, 2026
Merged

marta-sd merged 4 commits into
mainfrom
spanev-gdpval-rubric-default-max-tokens

Conversation

@Kh4L

@Kh4L Kh4L commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Two related changes to harmonize judge-side knobs between rubric and comparison modes:

  1. Rubric default max_tokens 8192 → 65535 (scoring.py:score_with_rubric, score_with_rubric_visual). Matches the default already in place for comparison mode (comparison.send_judge_request) and structured rubric (score_with_rubric_structured). Prevents finish_reason: length truncations on rubrics with many criteria when callers don't override.

  2. create_overrides plumbing for comparison-mode judge calls — adds the same override mechanism to comparison.send_judge_request and threads it through run_trials and _verify_comparison. Mirrors the rubric path where judge_responses_create_params_overrides already gets merged into chat.completions.create. Also switches _verify_comparison from overrides.get → overrides.pop so model/api_key are consumed and the rest pass through (same pattern _verify_rubric uses post [GDPVal] Add opt-in persistence of raw judge responses #1225).

After this lands, callers can override max_tokens / temperature / top_p / etc. for the comparison-mode judge from Hydra config exactly the same way they already can for rubric mode.

Replaces #1215

Supersedes #1215 (same change, rebased onto current main). The original branch was DIRTY against main due to overlap with #1225 (raw_responses kwarg on run_trials), #1228 (preconvert + clean_up_list), and #1229 (JUDGE_REQUEST_TIMEOUT_SECONDS). All three are kept; this PR adds create_overrides alongside.

Test plan

  • Existing test_app.py::test_verify_rubric_passes_create_overrides_through continues to verify the rubric path.
  • Ad-hoc smoke: run a 5-task comparison-mode rollout with ++gdpval_judge_model.responses_api_models.openai_model.max_tokens=8192 to verify the override actually reaches the comparison judge call.

Signed-off-by: Serge Panev <spanev@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented May 5, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Kh4L and others added 3 commits June 16, 2026 20:39
Signed-off-by: Serge Panev <spanev@nvidia.com>

# Conflicts:
#	resources_servers/gdpval/app.py
#	resources_servers/gdpval/comparison.py
#	resources_servers/gdpval/scoring.py
@marta-sd

Copy link
Copy Markdown
Contributor

/ok to test 3024e01

@copy-pr-bot

copy-pr-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown

/ok to test 3024e01

@marta-sd, there was an error processing your request: E2

See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/

@marta-sd

Copy link
Copy Markdown
Contributor

/ok to test 5ee8986

@marta-sd
marta-sd enabled auto-merge (squash) July 10, 2026 07:31
@marta-sd
marta-sd merged commit 2b1c0dd into main Jul 10, 2026
14 checks passed
@marta-sd
marta-sd deleted the spanev-gdpval-rubric-default-max-tokens branch July 10, 2026 07:31
OlegSudakov pushed a commit to OlegSudakov/Gym that referenced this pull request Jul 15, 2026
…VIDIA-NeMo#1234)

## Summary

Two related changes to harmonize judge-side knobs between rubric and
comparison modes:

1. **Rubric default max_tokens 8192 → 65535**
(`scoring.py:score_with_rubric`, `score_with_rubric_visual`). Matches
the default already in place for comparison mode
(`comparison.send_judge_request`) and structured rubric
(`score_with_rubric_structured`). Prevents `finish_reason: length`
truncations on rubrics with many criteria when callers don't override.

2. **`create_overrides` plumbing for comparison-mode judge calls** —
adds the same override mechanism to `comparison.send_judge_request` and
threads it through `run_trials` and `_verify_comparison`. Mirrors the
rubric path where `judge_responses_create_params_overrides` already gets
merged into `chat.completions.create`. Also switches
`_verify_comparison` from `overrides.get` → `overrides.pop` so
`model`/`api_key` are consumed and the rest pass through (same pattern
`_verify_rubric` uses post NVIDIA-NeMo#1225).

After this lands, callers can override max_tokens / temperature / top_p
/ etc. for the comparison-mode judge from Hydra config exactly the same
way they already can for rubric mode.

## Replaces NVIDIA-NeMo#1215

Supersedes NVIDIA-NeMo#1215 (same change, rebased onto current main). The original
branch was DIRTY against main due to overlap with NVIDIA-NeMo#1225 (raw_responses
kwarg on `run_trials`), NVIDIA-NeMo#1228 (preconvert + `clean_up_list`), and NVIDIA-NeMo#1229
(`JUDGE_REQUEST_TIMEOUT_SECONDS`). All three are kept; this PR adds
`create_overrides` alongside.

## Test plan

- [x] Existing
`test_app.py::test_verify_rubric_passes_create_overrides_through`
continues to verify the rubric path.
- [ ] Ad-hoc smoke: run a 5-task comparison-mode rollout with
`++gdpval_judge_model.responses_api_models.openai_model.max_tokens=8192`
to verify the override actually reaches the comparison judge call.

Signed-off-by: Serge Panev <spanev@nvidia.com>
Co-authored-by: Marta Stepniewska-Dziubinska <marta-sd@users.noreply.github.com>
Signed-off-by: Oleg Sudakov <oleg.sudakov@outlook.com>

This branch was previously deployed

1 inactive deployment
public — 5ee8986a Deployed Jul 10, 2026 by copy-pr-bot[bot] via release / finalize / notify #702
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants