feat(nemotronh): add Nemotron 3 Ultra recipes and examples - #4224
Conversation
|
Light Code Review -- Overall this is a clean PR. Recipes, Slurm examples, docs, and tests are internally consistent and follow the established Nemotron 3 patterns. -- Missing test coverage: nemotron_3_ultra_pretrain_config is imported, exported, and documented in the README, but has no unit test. The existing Super recipe test covers all three recipe functions; the Ultra test only covers SFT and PEFT. Adding a pretrain test would guard the MTP settings, default parallelism (TP=1, PP=3, EP=8), and optimizer hyperparameters. See inline comment on test_nemotron_3_ultra.py. -- No other issues found. Shell scripts are well-structured. Documentation accurately reflects the recipe defaults and Slurm script parameters. -- Suggested test cases: No perf tests impacted. Unit tests to add: test_pretrain_uses_initial_parallelism_values asserting TP=1, PP=3, EP=8, MTP settings, optimizer defaults for nemotron_3_ultra_pretrain_config |
|
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. |
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
5a6adf9 to
0cdae37
Compare
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com> (cherry picked from commit b35a97b)
Summary
This PR is stacked on #4223 so its diff stays limited to Ultra-specific recipe/docs/examples.
Blast Radius / Test Assessment
Validation
uv run --no-sync pre-commit run --files docs/models/nemotron/index.md docs/models/nemotron/nemotron3-ultra.md examples/models/nemotron/nemotron_3/README.md examples/models/nemotron/nemotron_3/ultra/README.md examples/models/nemotron/nemotron_3/ultra/conversion.sh examples/models/nemotron/nemotron_3/ultra/pack_data_job.sh examples/models/nemotron/nemotron_3/ultra/slurm_conversion.sh examples/models/nemotron/nemotron_3/ultra/slurm_inference.sh examples/models/nemotron/nemotron_3/ultra/slurm_peft.sh examples/models/nemotron/nemotron_3/ultra/slurm_pretrain.sh examples/models/nemotron/nemotron_3/ultra/slurm_sft.sh src/megatron/bridge/recipes/nemotronh/__init__.py src/megatron/bridge/recipes/nemotronh/nemotron_3_ultra.py tests/unit_tests/recipes/nemotronh/test_nemotron_3_ultra.pyuv run --no-sync pre-commit run --files tests/unit_tests/recipes/nemotronh/test_nemotron_3_ultra.pyuv run --no-sync python -m py_compile src/megatron/bridge/recipes/nemotronh/nemotron_3_ultra.py tests/unit_tests/recipes/nemotronh/test_nemotron_3_ultra.pybash -n examples/models/nemotron/nemotron_3/ultra/conversion.sh examples/models/nemotron/nemotron_3/ultra/pack_data_job.sh examples/models/nemotron/nemotron_3/ultra/slurm_conversion.sh examples/models/nemotron/nemotron_3/ultra/slurm_inference.sh examples/models/nemotron/nemotron_3/ultra/slurm_peft.sh examples/models/nemotron/nemotron_3/ultra/slurm_pretrain.sh examples/models/nemotron/nemotron_3/ultra/slurm_sft.shgrep -n "Day-0\|day-0\|MEGATRON_BRIDGE_BRANCH\|uv sync" examples/models/nemotron/nemotron_3/ultra/README.md || trueconfirmed the obsolete setup text is gone.Focused pytest was attempted with
uv run --no-sync python -m pytest tests/unit_tests/recipes/nemotronh/test_nemotron_3_ultra.py -q, but pytest is not installed in this local no-sync environment.