[perf] feat: add Qwen3 and DeepSeek-V3 MoE recipes - #4850
Conversation
Signed-off-by: dimapihtar <dpykhtar@nvidia.com> Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Signed-off-by: dimapihtar <dpykhtar@nvidia.com>
Signed-off-by: dimapihtar <dpykhtar@nvidia.com>
Signed-off-by: dimapihtar <dpykhtar@nvidia.com>
Signed-off-by: dimapihtar <dpykhtar@nvidia.com>
Signed-off-by: Dmytro Pykhtar <37850217+dimapihtar@users.noreply.github.com>
Signed-off-by: dimapihtar <dpykhtar@nvidia.com>
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
|
/ok to test b09f54b |
| cfg.model.moe_router_force_load_balancing = True | ||
|
|
||
|
|
||
| def _enable_deepseek_precision_aware_optimizer(cfg: ConfigContainer) -> None: |
There was a problem hiding this comment.
this seems to be not only limit to deepseek?
There was a problem hiding this comment.
what do you mean?
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
This reverts commit d07f348.
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
|
/ok to test 75b120a |
|
Review: add qwen3 and deepseek-v3 MoE perf recipes Mostly straightforward additions of tuned flat perf recipes plus two shared helpers. One real concern: [High] New recipes are not discoverable via the perf CLI (naming order). All existing recipes and the discovery machinery use model / pretrain / Ngpu / gpu / precision / optional-variant / then config. _recipe_function_name() in scripts/performance/utils/utils.py builds the name as model_task_Ngpu_gpu_precision+variant+_config, so get_perf_recipe_by_name() / find_perf_recipe() cannot resolve any of these. A CLI request for qwen3_30b_a3b / 16gpu / gb200 / bf16 raises 'No perf recipe ... found'. They are only reachable by direct import from the package init. Either rename to the standard order (folding partial_cg / paged_stash / deepep / hybridep into the config_variant suffix so they map to list_available_config_variants), or confirm these are intentionally direct-import-only. [Low] Test coverage. No unit/functional test instantiates any of the new recipes. test_perf_config_integration.py only covers a few default-variant lookups. A parametrized instantiation test (like test_glm5_perf_recipes.py) over the new functions would catch phantom-attribute / precision-setup regressions. Minor: the added members in the package init import blocks are not isort-sorted; ruff check --fix will resolve it before CI. Suggested test cases
|
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
|
/ok to test 5f99db9 |
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
@yaoyu-33, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/ |
|
/ok to test e1c203b |
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
Resolve conflicts in qwen perf_recipes after NVIDIA-NeMo#4850 restructured the same files. Re-applied the PR's changes onto main's current layout: - 5 new qwen3_30b_a3b_pretrain_8gpu_{gb200,gb300,b200,b300,vr200}_nvfp4_config - cfg.comm_overlap.tp_comm_overlap = False on the 8 existing 235B A22B NVFP4 configs (main added an env_vars block to them but not this fix) - __init__ re-exports + vr200 gb300 alias - tests/unit_tests/recipes/test_qwen_perf_recipes.py unchanged
What does this PR do ?
Add a one line overview of what this PR aims to accomplish.
Changelog
GitHub Actions CI
See the CI section in the Contributing doc for how to trigger the CI. A Nvidia developer will need to approve and trigger the CI for external contributors.
Before your PR is "Ready for review"
Pre checks:
If you haven't finished some of the above items you can still open "Draft" PR.
Additional Information