Skip to content

feat: evaluation implement#16

Merged
parthchadha merged 11 commits into
mainfrom
yukih/eval
Mar 27, 2025
Merged

feat: evaluation implement#16
parthchadha merged 11 commits into
mainfrom
yukih/eval

Conversation

@yuki-97

@yuki-97 yuki-97 commented Mar 21, 2025

Copy link
Copy Markdown
Contributor

What does this PR do ?

Add a one line overview of what this PR aims to accomplish.

Changelog

  • Please update the CHANGELOG.md under next version with high level changes in this PR.

Usage

  • You can potentially add a usage example below
# Add a code snippet demonstrating how to use this 

Before your PR is "Ready for review"

Pre checks:

Checklist when contributing

  • TBD

Additional Information

#61

@github-actions github-actions Bot added the Documentation Improvements or additions to documentation label Mar 21, 2025
@yuki-97 yuki-97 force-pushed the yukih/eval branch 6 times, most recently from 87f6419 to bbda80e Compare March 24, 2025 03:54
Comment thread examples/configs/eval.yaml Outdated
Comment thread examples/run_grpo_math.py Outdated
@yuki-97 yuki-97 force-pushed the yukih/eval branch 2 times, most recently from 4033c1a to 27b417d Compare March 25, 2025 03:22
Comment thread examples/run_grpo_math.py
Comment thread examples/run_grpo_math.py Outdated
Comment thread examples/run_sft.py
@yuki-97 yuki-97 force-pushed the yukih/eval branch 3 times, most recently from c0a72bf to be87a25 Compare March 25, 2025 08:15
Comment thread examples/configs/eval.yaml Outdated
Comment thread nemo_reinforcer/data/datasets.py Outdated
parthchadha
parthchadha previously approved these changes Mar 25, 2025
Comment thread docs/guides/eval.md
Comment thread nemo_reinforcer/models/generation/vllm.py Outdated
Comment thread nemo_reinforcer/data/__init__.py
Comment thread nemo_reinforcer/data/llm_message_utils.py Outdated
terrykong
terrykong previously approved these changes Mar 26, 2025
yuki-97 added 5 commits March 26, 2025 06:07
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
@yuki-97 yuki-97 added Run CICD and removed Run CICD labels Mar 26, 2025
@parthchadha parthchadha enabled auto-merge (squash) March 26, 2025 23:53
@parthchadha parthchadha disabled auto-merge March 26, 2025 23:53
@parthchadha parthchadha enabled auto-merge (squash) March 26, 2025 23:53
@parthchadha parthchadha merged commit 8416915 into main Mar 27, 2025
@parthchadha parthchadha deleted the yukih/eval branch March 27, 2025 01:00
@yuki-97 yuki-97 linked an issue Apr 1, 2025 that may be closed by this pull request
yfw pushed a commit that referenced this pull request Apr 2, 2025
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yi-Fu Wu <yifu.wu@gmail.com>
KiddoZhu pushed a commit that referenced this pull request May 6, 2025
Signed-off-by: Yuki Huang <yukih@nvidia.com>
avenkateshha added a commit to avenkateshha/RL that referenced this pull request May 23, 2026
…t API

Address easy-batch items from PR NVIDIA-NeMo#2508 review.

- Move sinkhorn_one_dim / apply_canonicalization_if_enabled /
  clean_model_name_for_filename / project_token_likelihoods to
  nemo_rl/utils/x_token/_shared.py and import from there in the four
  projection-prep CLIs (#5).
- Drop unused sinkhorn (10-iter), debug_projection_map, and
  generate_projection_map from minimal_projection_generator.py (NVIDIA-NeMo#8).
- Move minimal_projection_generator.py's CLI parsing under
  `if __name__ == "__main__":` so the module is importable for the
  P1 dedup harness.
- Rename seq1 / seq2 (and the derivative s1_*/s2_*/used_seq*/joined_seq*/
  seg* names) to student_tokens / teacher_tokens throughout
  TokenAligner._align_single / _align_with_anchors / _align_dp; all call
  sites are internal (NVIDIA-NeMo#11).
- Replace **kwargs in TokenAligner._align_with_anchors with the five
  explicit keyword-only scoring knobs already declared on _align_dp,
  and pass them through named at the _align_single call site (NVIDIA-NeMo#12).
- Remove dead TokenAligner.load_projection_matrix + the private
  _load_projection_components plus the now-orphaned self._projection_*
  attributes; the live projection-load path is
  nemo_rl/algorithms/x_token/utils.py::{get_sparse_projection_matrix,
  get_topk_projection} added in 6336464 (NVIDIA-NeMo#13, NVIDIA-NeMo#14).
- git mv nemo_rl/algorithms/x_token/tokenalign.py -> token_aligner.py
  and update import sites in __init__.py, data/cross_tokenizer_collate.py,
  the four utils.x_token CLIs, and the xtoken-distillation guide; update
  Sphinx :mod: references in algorithms/x_token/utils.py (NVIDIA-NeMo#16).

Incidental: the CLIs previously called TokenAligner._canonical_token,
which was never a class attribute (the helper is module-level); the
new shared helper imports _canonical_token directly so the
use_canonicalization branch isn't broken at runtime.

Signed-off-by: Adithya Hanasoge <avenkateshha@nvidia.com>
avenkateshha added a commit to avenkateshha/RL that referenced this pull request May 27, 2026
…t API

Address easy-batch items from PR NVIDIA-NeMo#2508 review.

- Move sinkhorn_one_dim / apply_canonicalization_if_enabled /
  clean_model_name_for_filename / project_token_likelihoods to
  nemo_rl/utils/x_token/_shared.py and import from there in the four
  projection-prep CLIs (#5).
- Drop unused sinkhorn (10-iter), debug_projection_map, and
  generate_projection_map from minimal_projection_generator.py (NVIDIA-NeMo#8).
- Move minimal_projection_generator.py's CLI parsing under
  `if __name__ == "__main__":` so the module is importable for the
  P1 dedup harness.
- Rename seq1 / seq2 (and the derivative s1_*/s2_*/used_seq*/joined_seq*/
  seg* names) to student_tokens / teacher_tokens throughout
  TokenAligner._align_single / _align_with_anchors / _align_dp; all call
  sites are internal (NVIDIA-NeMo#11).
- Replace **kwargs in TokenAligner._align_with_anchors with the five
  explicit keyword-only scoring knobs already declared on _align_dp,
  and pass them through named at the _align_single call site (NVIDIA-NeMo#12).
- Remove dead TokenAligner.load_projection_matrix + the private
  _load_projection_components plus the now-orphaned self._projection_*
  attributes; the live projection-load path is
  nemo_rl/algorithms/x_token/utils.py::{get_sparse_projection_matrix,
  get_topk_projection} added in 6336464 (NVIDIA-NeMo#13, NVIDIA-NeMo#14).
- git mv nemo_rl/algorithms/x_token/tokenalign.py -> token_aligner.py
  and update import sites in __init__.py, data/cross_tokenizer_collate.py,
  the four utils.x_token CLIs, and the xtoken-distillation guide; update
  Sphinx :mod: references in algorithms/x_token/utils.py (NVIDIA-NeMo#16).

Incidental: the CLIs previously called TokenAligner._canonical_token,
which was never a class attribute (the helper is module-level); the
new shared helper imports _canonical_token directly so the
use_canonicalization branch isn't broken at runtime.

Signed-off-by: Adithya Hanasoge <avenkateshha@nvidia.com>
copy-pr-bot Bot pushed a commit that referenced this pull request Jun 7, 2026
…t API

Address easy-batch items from PR #2508 review.

- Move sinkhorn_one_dim / apply_canonicalization_if_enabled /
  clean_model_name_for_filename / project_token_likelihoods to
  nemo_rl/utils/x_token/_shared.py and import from there in the four
  projection-prep CLIs (#5).
- Drop unused sinkhorn (10-iter), debug_projection_map, and
  generate_projection_map from minimal_projection_generator.py (#8).
- Move minimal_projection_generator.py's CLI parsing under
  `if __name__ == "__main__":` so the module is importable for the
  P1 dedup harness.
- Rename seq1 / seq2 (and the derivative s1_*/s2_*/used_seq*/joined_seq*/
  seg* names) to student_tokens / teacher_tokens throughout
  TokenAligner._align_single / _align_with_anchors / _align_dp; all call
  sites are internal (#11).
- Replace **kwargs in TokenAligner._align_with_anchors with the five
  explicit keyword-only scoring knobs already declared on _align_dp,
  and pass them through named at the _align_single call site (#12).
- Remove dead TokenAligner.load_projection_matrix + the private
  _load_projection_components plus the now-orphaned self._projection_*
  attributes; the live projection-load path is
  nemo_rl/algorithms/x_token/utils.py::{get_sparse_projection_matrix,
  get_topk_projection} added in 6336464 (#13, #14).
- git mv nemo_rl/algorithms/x_token/tokenalign.py -> token_aligner.py
  and update import sites in __init__.py, data/cross_tokenizer_collate.py,
  the four utils.x_token CLIs, and the xtoken-distillation guide; update
  Sphinx :mod: references in algorithms/x_token/utils.py (#16).

Incidental: the CLIs previously called TokenAligner._canonical_token,
which was never a class attribute (the helper is module-level); the
new shared helper imports _canonical_token directly so the
use_canonicalization branch isn't broken at runtime.

Signed-off-by: Adithya Hanasoge <avenkateshha@nvidia.com>
copy-pr-bot Bot pushed a commit that referenced this pull request Jun 7, 2026
…t API

Address easy-batch items from PR #2508 review.

- Move sinkhorn_one_dim / apply_canonicalization_if_enabled /
  clean_model_name_for_filename / project_token_likelihoods to
  nemo_rl/utils/x_token/_shared.py and import from there in the four
  projection-prep CLIs (#5).
- Drop unused sinkhorn (10-iter), debug_projection_map, and
  generate_projection_map from minimal_projection_generator.py (#8).
- Move minimal_projection_generator.py's CLI parsing under
  `if __name__ == "__main__":` so the module is importable for the
  P1 dedup harness.
- Rename seq1 / seq2 (and the derivative s1_*/s2_*/used_seq*/joined_seq*/
  seg* names) to student_tokens / teacher_tokens throughout
  TokenAligner._align_single / _align_with_anchors / _align_dp; all call
  sites are internal (#11).
- Replace **kwargs in TokenAligner._align_with_anchors with the five
  explicit keyword-only scoring knobs already declared on _align_dp,
  and pass them through named at the _align_single call site (#12).
- Remove dead TokenAligner.load_projection_matrix + the private
  _load_projection_components plus the now-orphaned self._projection_*
  attributes; the live projection-load path is
  nemo_rl/algorithms/x_token/utils.py::{get_sparse_projection_matrix,
  get_topk_projection} added in 6336464 (#13, #14).
- git mv nemo_rl/algorithms/x_token/tokenalign.py -> token_aligner.py
  and update import sites in __init__.py, data/cross_tokenizer_collate.py,
  the four utils.x_token CLIs, and the xtoken-distillation guide; update
  Sphinx :mod: references in algorithms/x_token/utils.py (#16).

Incidental: the CLIs previously called TokenAligner._canonical_token,
which was never a class attribute (the helper is module-level); the
new shared helper imports _canonical_token directly so the
use_canonicalization branch isn't broken at runtime.

Signed-off-by: Adithya Hanasoge <avenkateshha@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Eval Script

4 participants