Skip to content

feat(translation): overhaul WMT24++ and FLORES evaluation - #2251

Merged
bxyu-nvidia merged 2 commits into
NVIDIA-NeMo:mainfrom
thompsonb:update_translate_benchmarks
Jul 30, 2026
Merged

feat(translation): overhaul WMT24++ and FLORES evaluation#2251
bxyu-nvidia merged 2 commits into
NVIDIA-NeMo:mainfrom
thompsonb:update_translate_benchmarks

Conversation

@thompsonb

Copy link
Copy Markdown
Contributor

Expand the translation benchmarks and standardize scoring around chrF,
FLORES-200 spBLEU, COMET, and target-language consistency.

  • expand WMT24++ from five defaults to all 55 target locales
  • expand FLORES from the six-language pair matrix to 219 English-to-X devtest pairs across 220 supported FLORES+ configurations
  • store generated language names and FLORES devtest availability in checked-in metadata instead of querying or hardcoding them at runtime
  • preserve complete FLORES language and script codes in prepared rows
  • reject unknown or devtest-incompatible FLORES configurations
  • deduplicate WMT target locales while preserving their requested order
  • exclude WMT24++ rows marked as bad source data
  • publish WMT preparation output atomically after model prefetch succeeds
  • add CLI controls for COMET, spBLEU, and GlotLID prefetching

Replace language-specific SacreBLEU tokenization with NFC-normalized chrF
and FLORES-200 SentencePiece spBLEU scoring. Use sentence chrF as the
dense RL reward and report sentence and corpus chrF/spBLEU separately.
Emit a startup warning because the new spBLEU values are not comparable
with the previous BLEU metrics.

Add configurable target-language consistency scoring:

  • use CLD2 for WMT24++ locale-to-language validation
  • use GlotLID probabilities for FLORES languages and dialect mappings
  • load language-detection backends lazily and reuse them across requests
  • report per-rollout scores and per-pair, source, target, and global aggregate metrics
  • warn when a language pair falls below the configured consistency threshold
  • document CLD2 limitations for regional language variants

Prefetch the shared SentencePiece, COMET, and GlotLID assets for offline
verification. Update translation dependencies, configs, documentation,
and example rollouts for the new scoring contract. Add metadata
generation and mapping-validation utilities plus unit coverage for
preparation, scoring, aggregation, backend loading, and language-code
handling.

BREAKING CHANGE: The wmt_translation per-rollout reward now uses sentence-
level chrF instead of sentence-level BLEU; spBLEU remains a separately
reported metric. The sentence_bleu field and */bleu aggregate keys are
replaced by sentence_chrf, sentence_spbleu, */chrF, and */spBLEU.

@copy-pr-bot

copy-pr-bot Bot commented Jul 30, 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.

bxyu-nvidia
bxyu-nvidia previously approved these changes Jul 30, 2026
  Expand the translation benchmarks and standardize scoring around chrF,
  FLORES-200 spBLEU, COMET, and target-language consistency.

  - expand WMT24++ from five defaults to all 55 target locales
  - expand FLORES from the six-language pair matrix to 219 English-to-X
    devtest pairs across 220 supported FLORES+ configurations
  - store generated language names and FLORES devtest availability in
    checked-in metadata instead of querying or hardcoding them at runtime
  - preserve complete FLORES language and script codes in prepared rows
  - reject unknown or devtest-incompatible FLORES configurations
  - deduplicate WMT target locales while preserving their requested order
  - exclude WMT24++ rows marked as bad source data
  - publish WMT preparation output atomically after model prefetch succeeds
  - add CLI controls for COMET, spBLEU, and GlotLID prefetching

  Replace language-specific SacreBLEU tokenization with NFC-normalized chrF
  and FLORES-200 SentencePiece spBLEU scoring. Use sentence chrF as the
  dense RL reward and report sentence and corpus chrF/spBLEU separately.
  Emit a startup warning because the new spBLEU values are not comparable
  with the previous BLEU metrics.

  Add configurable target-language consistency scoring:

  - use CLD2 for WMT24++ locale-to-language validation
  - use GlotLID probabilities for FLORES languages and dialect mappings
  - load language-detection backends lazily and reuse them across requests
  - report per-rollout scores and per-pair, source, target, and global
    aggregate metrics
  - warn when a language pair falls below the configured consistency
    threshold
  - document CLD2 limitations for regional language variants

  Prefetch the shared SentencePiece, COMET, and GlotLID assets for offline
  verification. Update translation dependencies, configs, documentation,
  and example rollouts for the new scoring contract. Add metadata
  generation and mapping-validation utilities plus unit coverage for
  preparation, scoring, aggregation, backend loading, and language-code
  handling.

  BREAKING CHANGE:  The wmt_translation per-rollout reward now uses sentence-
  level chrF instead of sentence-level BLEU; spBLEU remains a separately
  reported metric. The sentence_bleu field and */bleu aggregate keys are
  replaced by sentence_chrf, sentence_spbleu, */chrF, and */spBLEU.

Signed-off-by: Brian Thompson <3534106+thompsonb@users.noreply.github.com>
Signed-off-by: Brian Thompson <3534106+thompsonb@users.noreply.github.com>
@thompsonb
thompsonb force-pushed the update_translate_benchmarks branch from efcd085 to 8188cec Compare July 30, 2026 20:10
@bxyu-nvidia
bxyu-nvidia merged commit 902b985 into NVIDIA-NeMo:main Jul 30, 2026
8 checks passed
kajalj22 added a commit that referenced this pull request Aug 5, 2026
- Remove osworld_agent/pyproject.toml (not in r0.5.0 yet)
- Revert wmt_translation/requirements.txt to r0.5.0 state (pycld2
  addition came from feat(translation) #2251, not the Python bump PR)
- Regenerate uv.lock

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Kajal Jain <kajalj@nvidia.com>
OlegSudakov pushed a commit to OlegSudakov/Gym that referenced this pull request Aug 7, 2026
…o#2251)

Expand the translation benchmarks and standardize scoring around chrF,
  FLORES-200 spBLEU, COMET, and target-language consistency.

  - expand WMT24++ from five defaults to all 55 target locales
- expand FLORES from the six-language pair matrix to 219 English-to-X
devtest pairs across 220 supported FLORES+ configurations
- store generated language names and FLORES devtest availability in
checked-in metadata instead of querying or hardcoding them at runtime
  - preserve complete FLORES language and script codes in prepared rows
  - reject unknown or devtest-incompatible FLORES configurations
- deduplicate WMT target locales while preserving their requested order
  - exclude WMT24++ rows marked as bad source data
- publish WMT preparation output atomically after model prefetch
succeeds
  - add CLI controls for COMET, spBLEU, and GlotLID prefetching

Replace language-specific SacreBLEU tokenization with NFC-normalized
chrF
  and FLORES-200 SentencePiece spBLEU scoring. Use sentence chrF as the
  dense RL reward and report sentence and corpus chrF/spBLEU separately.
Emit a startup warning because the new spBLEU values are not comparable
  with the previous BLEU metrics.

  Add configurable target-language consistency scoring:

  - use CLD2 for WMT24++ locale-to-language validation
  - use GlotLID probabilities for FLORES languages and dialect mappings
- load language-detection backends lazily and reuse them across requests
- report per-rollout scores and per-pair, source, target, and global
aggregate metrics
- warn when a language pair falls below the configured consistency
threshold
  - document CLD2 limitations for regional language variants

Prefetch the shared SentencePiece, COMET, and GlotLID assets for offline
  verification. Update translation dependencies, configs, documentation,
  and example rollouts for the new scoring contract. Add metadata
  generation and mapping-validation utilities plus unit coverage for
  preparation, scoring, aggregation, backend loading, and language-code
  handling.

BREAKING CHANGE: The wmt_translation per-rollout reward now uses
sentence-
  level chrF instead of sentence-level BLEU; spBLEU remains a separately
  reported metric. The sentence_bleu field and */bleu aggregate keys are
  replaced by sentence_chrf, sentence_spbleu, */chrF, and */spBLEU.

---------

Signed-off-by: Brian Thompson <3534106+thompsonb@users.noreply.github.com>
Co-authored-by: Brian Thompson <3534106+thompsonb@users.noreply.github.com>
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