Skip to content

feat(refit): export native MXFP8 training weights - #3908

Open
seonjinn wants to merge 80 commits into
NVIDIA-NeMo:mainfrom
seonjinn:sna/native-mxfp8-megatron-source
Open

seonjinn wants to merge 80 commits into
NVIDIA-NeMo:mainfrom
seonjinn:sna/native-mxfp8-megatron-source

Conversation

@seonjinn

@seonjinn seonjinn commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Megatron can keep trained parameters in native MXFP8 storage when fp8_param=true, while refit previously expected one ordinary tensor per parameter. This PR sends Transformer Engine's live E4M3 values and E8M0 scales through the ordered component contract from #3907 without dequantizing the weight.

Design

  • Validate native MXFP8 storage against fp8_cfg and te_precision_config_file.
  • Preserve first/last BF16 layers and keep co-trained MTP parameters on the normal tensor path.
  • Ask Megatron-Bridge #5917 to build globally ordered PP/VP/EP-aware export tasks.
  • Synchronize every optimizer-owned model chunk before refit, including overlap-buffer configurations.
  • Restore shared MXFP8 buffers before policy and reference logprob passes.

Dependencies

Validation

  • Unit coverage includes values/scales, mixed BF16/MXFP8 storage, MTP exclusion, optimizer synchronization, TE-recipe precedence, and Bridge delegation.
  • Targeted Megatron-Bridge Linux/GB200 suite: 288 passed, 2 unrelated Apex-dependent cases deselected.
  • Qwen3.5-35B-A3B completed 20/20 Async steps with gen_kl_error mean 0.001264 (range 0.000838-0.001549).
  • Latest Megatron-Bridge head completed a 2/2-step GB200 smoke with gen_kl_error=0.00130165 at step 2. The nightly used the NCCL Reshard exact-transfer Python fallback, so this is correctness evidence rather than native-op performance evidence.
  • 20-step W&B | latest-head smoke

Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 29, 2026

Copy link
Copy Markdown

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: seonjinn <sna@nvidia.com>
Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 4ece17c (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

@seonjinn seonjinn added CI:L1 Run doctests, unit tests, and functional tests CI:Lfast Runs a fast test suite and re-use nightly `main` container (but sync dependencies to PRs version) and removed CI:megatron CI:L1 Run doctests, unit tests, and functional tests labels Sep 17, 2026
…0-20260922

Signed-off-by: seonjinn <sna@nvidia.com>

# Conflicts:
#	nemo_rl/weight_sync/nccl_reshard_weight_synchronizer.py
…3908-mcore7300-20260922

Signed-off-by: seonjinn <sna@nvidia.com>

# Conflicts:
#	nemo_rl/models/megatron/setup.py
#	tests/unit/models/megatron/test_megatron_setup.py
#	tests/unit/models/policy/test_megatron_worker.py
#	uv.lock
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 628f55b (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 7900726 (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: d3eeda6 (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 94bd46d (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

…0-20260922

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: de34cbe (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

…0-20260922

Signed-off-by: seonjinn <sna@nvidia.com>
…3908-mcore7300-20260922

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: e8fa878 (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 2e4203b (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: f77a586 (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: dc3d61c (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 3c575fc (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

@seonjinn

Copy link
Copy Markdown
Contributor Author

Exact-head GB200 validation completed on 3c575fcd with the pinned Megatron-Bridge/Megatron-LM/Transformer Engine revisions.

  • Dependency pins: 11 passed
  • NVRx async-checkpoint compatibility: 5 passed
  • Native MXFP8 producer and transfer: 63 passed
  • First/last BF16 scope and NCCL component preservation: 2 passed
  • Public Megatron-Bridge export API: 2 passed
  • Real MCore selective MXFP8 parameter construction: 3 passed

All 86 selected tests passed. The run used one GB200 node and the current NeMo-RL nightly image.

Signed-off-by: seonjinn <sna@nvidia.com>
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 9ebba9a (PR #3908 from sna/native-mxfp8-megatron-source)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI:Lfast Runs a fast test suite and re-use nightly `main` container (but sync dependencies to PRs version)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants