perf(refit): use NCCL Reshard for all async MXFP8 recipes - #3865
Open
seonjinn wants to merge 3 commits into
Open
perf(refit): use NCCL Reshard for all async MXFP8 recipes#3865seonjinn wants to merge 3 commits into
seonjinn wants to merge 3 commits into
Conversation
Signed-off-by: seonjinn <sna@nvidia.com>
|
Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
Self-review (adjudicated)Two-lens review (production config semantics, test quality) with an adversarial spot-check pass against the code at Bottom line: the production change is correct and all 5 recipes are functional as-is on main. Every defect found is in the new test or the PR body wording. Production semantics — verified clean
Test defects (should fix)
PR body wording
Noted, no action required
CI note: only lightweight checks have run; |
Contributor
Author
|
/ok to test 5bd246b |
Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
|
/ok to test 4e71df5 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Use
refit_transport: nccl_reshardin every existing async 1-off MXFP8 rollout performance recipe:Both the default collective transport and NCCL Reshard already quantize BF16 trainer weights to MXFP8 on the receiver side, so rollout numerics are unchanged. What this switch changes is the wire path: shard-to-shard resharding of BF16 trainer shards instead of full-tensor broadcast, which reduces refit bandwidth and peak memory. All five recipes are non-colocated async setups, which is exactly the configuration
nccl_reshardrequires. Nemotron3 Nano is not listed becausemaindoes not currently contain a Nano MXFP8 performance recipe.The tests discover all
*-async-1off-mxfp8-rollout.yamlfiles (with a guard that the glob is non-empty), require this transport, and validate each resolved recipe againstcheck_nccl_reshard_refit_support, so future async MXFP8 recipes cannot silently fall back to the legacy collective or drift into a layout the reshard path rejects.Test
python3 -m pytest -q tests/test_mxfp8_rollout_recipes.py(22 passed, 5 skippedlocally; the 5 validator cases require the fullnemo_rlenvironment and run in CI unit tests)check_nccl_reshard_refit_supportagainst all 5 resolved recipes locally: all passgit diff --check