Repository navigation
Conversation
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
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. |
1 task done
Contributor
Author
|
Closing this as completed. The stateless grouped Transformer Engine extra-state handling is already fixed on |
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.
What does this PR do?
Replicate an empty Transformer Engine grouped-linear
_extra_stateentry for each expert when saving a sharded checkpoint.Stateless FP8 recipes encode the absence of extra state as an empty byte tensor. The grouped-linear checkpoint adapter previously tried to decode that tensor as serialized FP8 metadata whenever FP8 execution was active, which returned no state and then failed while indexing it. Treating the empty tensor as stateless preserves the per-expert checkpoint key layout without inventing FP8 metadata.
Issue tracking
Linked issue: N/A
Contribution process
Pre-checks
Validation
uv run python -m torch.distributed.run --standalone --nproc_per_node=4 -m pytest -q tests/unit_tests/transformer/test_transformer_engine_grouped_linear.py(15 passedon every rank)BASE_REF=base CHECK_ONLY=true SKIP_DOCS=true bash tools/autoformat.sh128-GPU DeepSeek V4 real-data training completed 100 finite steps, saved model, distributed optimizer, and RNG state, then loaded iteration 100 and resumed through iteration 105
I, the PR author, have personally reviewed every line of this PR.