Skip to content

Commit a27e55f

Browse files
kamran-nvidiaclaude
andcommitted
Merge main into the Nemotron 3 Ultra 384-GPU SFT recipe branch
Bring in the latest main (#6162, #6163, #6382) on top of the earlier conflict resolution; the merge is clean and the regenerated model verification catalog check still passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Kamran Jafari <kjafarisadeg@nvidia.com>
2 parents de18bcd + 53681c1 commit a27e55f

20 files changed

Lines changed: 519 additions & 41 deletions

File tree

‎docs/_static/model-verification/catalog-v1.json‎

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,14 +691,47 @@
691691
"status": "verified",
692692
"variant": null,
693693
"workflow": "pretrain_performance"
694+
},
695+
{
696+
"bridge_commit": "797a3141d3ccc4ec20a45cc653a4b69f9af0cdbf",
697+
"command_topologies": [
698+
{
699+
"gpus_per_node": "4",
700+
"nodes": "64",
701+
"recipe": "deepseek_v3_pretrain_256gpu_gb300_fp8mx_hsdp_config",
702+
"sequence_length": "4096",
703+
"total_gpus": 256
704+
}
705+
],
706+
"commands": [
707+
"./scripts/training/train.sh --wait --nodes 64 --gpus-per-node 4 --recipe deepseek_v3_pretrain_256gpu_gb300_fp8mx_hsdp_config --mode pretrain --max_steps 50 --seq_length 4096 logger.save_config_filepath=work/model-verification/deepseek-v3/gb300-hsdp-performance/ConfigContainer.yaml"
708+
],
709+
"dimensions": {},
710+
"enabled_features": {},
711+
"entry_id": "deepseek-v3-pretrain-performance-hsdp-gb300",
712+
"expected_result": "On exactly 256 GB300 GPUs, the 50-step mock-data MXFP8 Megatron Hybrid FSDP recipe completed at TP1/PP1/VP1/CP1/EP64/ETP1 and GBS/MBS 1024/1. Dense parameters use ZeRO-2 optim_grads sharding while expert parameters use optim_grads_params across four distributed optimizer instances, with full-iteration CUDA graphs and MoE paged stashing enabled. All 50 keyed rows had finite loss and throughput with zero skipped or NaN iterations. Steps 41-50 averaged 3,197.040 ms and 1,332.420 model TFLOP/s/GPU. Do not compare this item against pretrain_performance.GB300: that recipe runs a different convergence contract at GBS 4096 with PP2/VP8/EP32, so step time and per-GPU throughput are not commensurable. Mock data, forced expert balancing, and reduced-precision optimizer moments make this benchmark-only evidence, not convergence evidence.\n",
713+
"hardware": "GB300",
714+
"last_verified": "2026-10-09",
715+
"metrics": {
716+
"final_loss": 5.146079,
717+
"initial_loss": 11.89824,
718+
"last_10_steps_model_tflops_per_gpu_avg": 1332.42,
719+
"last_10_steps_step_time_ms_avg": 3197.04,
720+
"last_10_steps_tokens_per_second_per_gpu_avg": 5124.74
721+
},
722+
"precision": "fp8_mx",
723+
"source_pointer": "items.pretrain_performance_hsdp.GB300",
724+
"status": "verified",
725+
"variant": null,
726+
"workflow": "pretrain_performance_hsdp"
694727
}
695728
],
696729
"hf_id": "deepseek-ai/DeepSeek-V3",
697730
"hf_revision": "e815299b0bcbac849fa540c768ef21845365c9eb",
698731
"min_transformers_version": "5.8.0",
699732
"slug": "deepseek-v3",
700733
"source_card": "examples/model_verification_cards/deepseek-v3/card.yaml",
701-
"summary": "Distributed H100 GPU import, BF16 export, and deterministic inference are verified against the pinned blockwise-FP8 checkpoint. The canonical pretrain_performance.H100 1024-GPU BF16, pretrain_performance.GB200 256-GPU MXFP8, and pretrain_performance.GB300 256-GPU MXFP8 recipes are also verified. A distributed CPU export of the same pinned checkpoint is also verified. Timing and throughput metrics from future functional training items remain sanity checks rather than optimized performance results. CPU import, forward correlation, functional training, fine-tuning, and checkpoint-resume verification remain deferred.\n",
734+
"summary": "Distributed H100 GPU import, BF16 export, and deterministic inference are verified against the pinned blockwise-FP8 checkpoint. The canonical pretrain_performance.H100 1024-GPU BF16, pretrain_performance.GB200 256-GPU MXFP8, and pretrain_performance.GB300 256-GPU MXFP8 recipes are also verified, as is the pretrain_performance_hsdp.GB300 256-GPU MXFP8 Hybrid FSDP recipe. A distributed CPU export of the same pinned checkpoint is also verified. Timing and throughput metrics from future functional training items remain sanity checks rather than optimized performance results. CPU import, forward correlation, functional training, fine-tuning, and checkpoint-resume verification remain deferred.\n",
702735
"title": "deepseek_v3"
703736
},
704737
{

‎docs/fern/versions/nightly/pages/models/README.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Choose a model to open its interactive import/export and training configurations. Every option comes directly from an authoritative YAML verification card; independent fields are never combined into synthetic commands.
66

7-
Current inventory: **26 model cards** and **364 concrete configurations**.
7+
Current inventory: **26 model cards** and **365 concrete configurations**.
88

99
Each model page lets you select import/export, pretraining, benchmarking, SFT, LoRA, or long-context SFT and immediately see the exact command and expected result for the recorded precision and GPU.
1010

‎docs/fern/versions/nightly/pages/models/deepseek/deepseek-v3.mdx‎

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,13 @@ Choose a workflow, precision, and exact recorded combination. The command and ex
121121
</span>
122122
<span class="verification-combination-meta">FP8 MX</span>
123123
</button>
124+
<button type="button" class="verification-combination" data-capability="benchmark" data-precision="fp8_mx" data-hardware="GB300" data-status="verified" data-entry="deepseek-v3-pretrain-performance-hsdp-gb300" aria-controls="deepseek-v3-pretrain-performance-hsdp-gb300" aria-pressed="false">
125+
<span class="verification-combination-heading">
126+
<strong>Benchmark · HSDP · GB300</strong>
127+
<span class="verification-status verification-status--verified" title="Verified">✓ Verified</span>
128+
</span>
129+
<span class="verification-combination-meta">FP8 MX</span>
130+
</button>
124131
</div>
125132
<div class="verification-model-details">
126133
<article id="deepseek-v3-hf-to-megatron-cpu" class="verification-model-detail" data-entry-detail="deepseek-v3-hf-to-megatron-cpu" tabindex="-1">
@@ -543,6 +550,56 @@ Choose a workflow, precision, and exact recorded combination. The command and ex
543550
<p>On exactly 256 GB300 GPUs, the canonical 50-step mock-data MXFP8 recipe completed at TP1/PP2/VP8/CP1/EP32/ETP1 and GBS/MBS 4096/1. All 50 keyed rows had finite loss and throughput with zero skipped or NaN iterations, and the resolved configuration was saved. Steps 41-50 averaged 10,667.300 ms and 1,597.310 model TFLOP/s/GPU, passing gates of at most 11,000 ms and at least 1,550 TFLOP/s/GPU. Mock data, forced expert balancing, and reduced-precision optimizer moments make this benchmark-only evidence, not convergence evidence.</p>
544551
</section>
545552
</article>
553+
<article id="deepseek-v3-pretrain-performance-hsdp-gb300" class="verification-model-detail" data-entry-detail="deepseek-v3-pretrain-performance-hsdp-gb300" tabindex="-1">
554+
<header class="verification-model-detail-heading">
555+
<h4>Benchmark · HSDP · GB300</h4>
556+
<span class="verification-status verification-status--verified" title="Verified">✓ Verified</span>
557+
</header>
558+
<dl class="verification-model-detail-meta">
559+
<div><dt>Hardware</dt><dd>GB300</dd></div>
560+
<div><dt>Precision</dt><dd>FP8 MX</dd></div>
561+
<div><dt>Last verified</dt><dd>2026-10-09</dd></div>
562+
</dl>
563+
<section class="verification-recorded-metrics">
564+
<h5>Recorded metrics</h5>
565+
<dl class="verification-metric-list">
566+
<div>
567+
<dt>Initial loss</dt>
568+
<dd>11.89824</dd>
569+
</div>
570+
<div>
571+
<dt>Final loss</dt>
572+
<dd>5.146079</dd>
573+
</div>
574+
<div>
575+
<dt>Step time · last 10 avg</dt>
576+
<dd>3,197.040 ms</dd>
577+
</div>
578+
<div>
579+
<dt>Model throughput · last 10 avg</dt>
580+
<dd>1,332.420 TFLOP/s/GPU</dd>
581+
</div>
582+
<div>
583+
<dt>Token throughput · last 10 avg</dt>
584+
<dd>5,124.740 tokens/s/GPU</dd>
585+
</div>
586+
</dl>
587+
</section>
588+
<section class="verification-command-section">
589+
<h5>Exact command</h5>
590+
<div class="verification-command">
591+
<div class="verification-command-heading">
592+
<span>Command</span>
593+
<button type="button" class="verification-copy-command">Copy</button>
594+
</div>
595+
<pre><code class="language-bash">./scripts/training/train.sh --wait --nodes 64 --gpus-per-node 4 --recipe deepseek_v3_pretrain_256gpu_gb300_fp8mx_hsdp_config --mode pretrain --max_steps 50 --seq_length 4096 logger.save_config_filepath=work/model-verification/deepseek-v3/gb300-hsdp-performance/ConfigContainer.yaml</code></pre>
596+
</div>
597+
</section>
598+
<section class="verification-expected-result">
599+
<h5>Expected result</h5>
600+
<p>On exactly 256 GB300 GPUs, the 50-step mock-data MXFP8 Megatron Hybrid FSDP recipe completed at TP1/PP1/VP1/CP1/EP64/ETP1 and GBS/MBS 1024/1. Dense parameters use ZeRO-2 optim_grads sharding while expert parameters use optim_grads_params across four distributed optimizer instances, with full-iteration CUDA graphs and MoE paged stashing enabled. All 50 keyed rows had finite loss and throughput with zero skipped or NaN iterations. Steps 41-50 averaged 3,197.040 ms and 1,332.420 model TFLOP/s/GPU. Do not compare this item against pretrain_performance.GB300: that recipe runs a different convergence contract at GBS 4096 with PP2/VP8/EP32, so step time and per-GPU throughput are not commensurable. Mock data, forced expert balancing, and reduced-precision optimizer moments make this benchmark-only evidence, not convergence evidence.</p>
601+
</section>
602+
</article>
546603
</div>
547604
</div>
548605

‎docs/models/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Choose a model to open its interactive import/export and training configurations. Every option comes directly from an authoritative YAML verification card; independent fields are never combined into synthetic commands.
66

7-
Current inventory: **26 model cards** and **364 concrete configurations**.
7+
Current inventory: **26 model cards** and **365 concrete configurations**.
88

99
Each model page lets you select import/export, pretraining, benchmarking, SFT, LoRA, or long-context SFT and immediately see the exact command and expected result for the recorded precision and GPU.
1010

‎docs/models/deepseek/deepseek-v3.md‎

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,13 @@ Choose a workflow, precision, and exact recorded combination. The command and ex
121121
</span>
122122
<span class="verification-combination-meta">FP8 MX</span>
123123
</button>
124+
<button type="button" class="verification-combination" data-capability="benchmark" data-precision="fp8_mx" data-hardware="GB300" data-status="verified" data-entry="deepseek-v3-pretrain-performance-hsdp-gb300" aria-controls="deepseek-v3-pretrain-performance-hsdp-gb300" aria-pressed="false">
125+
<span class="verification-combination-heading">
126+
<strong>Benchmark · HSDP · GB300</strong>
127+
<span class="verification-status verification-status--verified" title="Verified">✓ Verified</span>
128+
</span>
129+
<span class="verification-combination-meta">FP8 MX</span>
130+
</button>
124131
</div>
125132
<div class="verification-model-details">
126133
<article id="deepseek-v3-hf-to-megatron-cpu" class="verification-model-detail" data-entry-detail="deepseek-v3-hf-to-megatron-cpu" tabindex="-1">
@@ -551,6 +558,57 @@ Choose a workflow, precision, and exact recorded combination. The command and ex
551558
<section class="verification-expected-result">
552559
<h5>Expected result</h5>
553560
<p>On exactly 256 GB300 GPUs, the canonical 50-step mock-data MXFP8 recipe completed at TP1/PP2/VP8/CP1/EP32/ETP1 and GBS/MBS 4096/1. All 50 keyed rows had finite loss and throughput with zero skipped or NaN iterations, and the resolved configuration was saved. Steps 41-50 averaged 10,667.300 ms and 1,597.310 model TFLOP/s/GPU, passing gates of at most 11,000 ms and at least 1,550 TFLOP/s/GPU. Mock data, forced expert balancing, and reduced-precision optimizer moments make this benchmark-only evidence, not convergence evidence.
561+
</p>
562+
</section>
563+
</article>
564+
<article id="deepseek-v3-pretrain-performance-hsdp-gb300" class="verification-model-detail" data-entry-detail="deepseek-v3-pretrain-performance-hsdp-gb300" tabindex="-1">
565+
<header class="verification-model-detail-heading">
566+
<h4>Benchmark · HSDP · GB300</h4>
567+
<span class="verification-status verification-status--verified" title="Verified">✓ Verified</span>
568+
</header>
569+
<dl class="verification-model-detail-meta">
570+
<div><dt>Hardware</dt><dd>GB300</dd></div>
571+
<div><dt>Precision</dt><dd>FP8 MX</dd></div>
572+
<div><dt>Last verified</dt><dd>2026-10-09</dd></div>
573+
</dl>
574+
<section class="verification-recorded-metrics">
575+
<h5>Recorded metrics</h5>
576+
<dl class="verification-metric-list">
577+
<div>
578+
<dt>Initial loss</dt>
579+
<dd>11.89824</dd>
580+
</div>
581+
<div>
582+
<dt>Final loss</dt>
583+
<dd>5.146079</dd>
584+
</div>
585+
<div>
586+
<dt>Step time · last 10 avg</dt>
587+
<dd>3,197.040 ms</dd>
588+
</div>
589+
<div>
590+
<dt>Model throughput · last 10 avg</dt>
591+
<dd>1,332.420 TFLOP/s/GPU</dd>
592+
</div>
593+
<div>
594+
<dt>Token throughput · last 10 avg</dt>
595+
<dd>5,124.740 tokens/s/GPU</dd>
596+
</div>
597+
</dl>
598+
</section>
599+
<section class="verification-command-section">
600+
<h5>Exact command</h5>
601+
<div class="verification-command">
602+
<div class="verification-command-heading">
603+
<span>Command</span>
604+
<button type="button" class="verification-copy-command">Copy</button>
605+
</div>
606+
<pre><code class="language-bash">./scripts/training/train.sh --wait --nodes 64 --gpus-per-node 4 --recipe deepseek_v3_pretrain_256gpu_gb300_fp8mx_hsdp_config --mode pretrain --max_steps 50 --seq_length 4096 logger.save_config_filepath=work/model-verification/deepseek-v3/gb300-hsdp-performance/ConfigContainer.yaml</code></pre>
607+
</div>
608+
</section>
609+
<section class="verification-expected-result">
610+
<h5>Expected result</h5>
611+
<p>On exactly 256 GB300 GPUs, the 50-step mock-data MXFP8 Megatron Hybrid FSDP recipe completed at TP1/PP1/VP1/CP1/EP64/ETP1 and GBS/MBS 1024/1. Dense parameters use ZeRO-2 optim_grads sharding while expert parameters use optim_grads_params across four distributed optimizer instances, with full-iteration CUDA graphs and MoE paged stashing enabled. All 50 keyed rows had finite loss and throughput with zero skipped or NaN iterations. Steps 41-50 averaged 3,197.040 ms and 1,332.420 model TFLOP/s/GPU. Do not compare this item against pretrain_performance.GB300: that recipe runs a different convergence contract at GBS 4096 with PP2/VP8/EP32, so step time and per-GPU throughput are not commensurable. Mock data, forced expert balancing, and reduced-precision optimizer moments make this benchmark-only evidence, not convergence evidence.
554612
</p>
555613
</section>
556614
</article>

‎examples/model_verification_cards/deepseek-v3/card.yaml‎

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ summary: >
66
Distributed H100 GPU import, BF16 export, and deterministic inference are
77
verified against the pinned blockwise-FP8 checkpoint. The canonical
88
pretrain_performance.H100 1024-GPU BF16, pretrain_performance.GB200 256-GPU
9-
MXFP8, and pretrain_performance.GB300 256-GPU MXFP8 recipes are also verified.
9+
MXFP8, and pretrain_performance.GB300 256-GPU MXFP8 recipes are also verified,
10+
as is the pretrain_performance_hsdp.GB300 256-GPU MXFP8 Hybrid FSDP recipe.
1011
A distributed CPU export of the same pinned checkpoint is also verified.
1112
Timing and throughput metrics from future functional training items remain
1213
sanity checks rather than optimized performance results. CPU import, forward
@@ -29,6 +30,8 @@ verification_index:
2930
H100: verified
3031
GB200: verified
3132
GB300: verified
33+
performance_hsdp:
34+
GB300: verified
3235
model:
3336
hf_id: deepseek-ai/DeepSeek-V3
3437
hf_revision: e815299b0bcbac849fa540c768ef21845365c9eb # pragma: allowlist secret
@@ -339,3 +342,35 @@ items:
339342
11,000 ms and at least 1,550 TFLOP/s/GPU. Mock data, forced expert
340343
balancing, and reduced-precision optimizer moments make this
341344
benchmark-only evidence, not convergence evidence.
345+
346+
pretrain_performance_hsdp:
347+
GB300:
348+
status: verified
349+
precision: fp8_mx
350+
bridge_commit: 797a3141d3ccc4ec20a45cc653a4b69f9af0cdbf # pragma: allowlist secret
351+
command: >
352+
./scripts/training/train.sh --wait --nodes 64 --gpus-per-node 4
353+
--recipe deepseek_v3_pretrain_256gpu_gb300_fp8mx_hsdp_config
354+
--mode pretrain --max_steps 50 --seq_length 4096
355+
logger.save_config_filepath=work/model-verification/deepseek-v3/gb300-hsdp-performance/ConfigContainer.yaml
356+
last_verified: 2026-10-09
357+
metrics:
358+
initial_loss: 11.898240
359+
final_loss: 5.146079
360+
last_10_steps_step_time_ms_avg: 3197.040
361+
last_10_steps_model_tflops_per_gpu_avg: 1332.420
362+
last_10_steps_tokens_per_second_per_gpu_avg: 5124.740
363+
expected_result: >
364+
On exactly 256 GB300 GPUs, the 50-step mock-data MXFP8 Megatron Hybrid
365+
FSDP recipe completed at TP1/PP1/VP1/CP1/EP64/ETP1 and GBS/MBS 1024/1.
366+
Dense parameters use ZeRO-2 optim_grads sharding while expert
367+
parameters use optim_grads_params across four distributed optimizer
368+
instances, with full-iteration CUDA graphs and MoE paged stashing
369+
enabled. All 50 keyed rows had finite loss and throughput with zero
370+
skipped or NaN iterations. Steps 41-50 averaged 3,197.040 ms and
371+
1,332.420 model TFLOP/s/GPU. Do not compare this item against
372+
pretrain_performance.GB300: that recipe runs a different convergence
373+
contract at GBS 4096 with PP2/VP8/EP32, so step time and per-GPU
374+
throughput are not commensurable. Mock data, forced expert balancing,
375+
and reduced-precision optimizer moments make this benchmark-only
376+
evidence, not convergence evidence.

‎examples/models/deepseek_v4/README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,12 @@ required storage and validate checkpoint resume explicitly.
249249
[`inference.sh`](inference.sh) example uses legacy full-prefix generation and
250250
is not a verified KV-cache path. HF-native inference is the target after a
251251
verified Megatron-to-HF export.
252+
- [`inference.sh`](inference.sh) needs `PP * EP` GPUs (32 for the Pro
253+
defaults `PP=4`, `EP=8`) and, like the other examples, runs from the
254+
repository root. On 4-GPU nodes such as GB200 NVL72 spread the ranks over
255+
several nodes with one task per node:
256+
`srun --ntasks-per-node=1 bash -c 'NNODES=$SLURM_JOB_NUM_NODES NODE_RANK=$SLURM_NODEID MASTER_ADDR=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n1) examples/models/deepseek_v4/inference.sh'`.
257+
With the variables unset the script launches all ranks on the current node.
252258
- Fused mHC requires Blackwell (`sm_100`). Hopper uses the unfused path.
253259
- CPU import and export require enough RAM for the full BF16 model plus
254260
conversion workspace and remain unverified in the current card.

0 commit comments

Comments
 (0)