Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: Nemotron3.5-Lightning
description: "Deploy NVIDIA Nemotron 3.5 Lightning with SGLang — NVFP4 serving with MTP, DFlash, and DSpark speculative decoding, reasoning, and tool calling."
tag: NEW
---

## Deployment
Expand Down
92 changes: 92 additions & 0 deletions docs/cookbook/autoregressive/NVIDIA/Nemotron3.5-Super.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: NVIDIA Nemotron 3.5 Super VL
description: "Deploy Nemotron 3.5 Super VL 120B-A12B with SGLang on B200, H200, RTX PRO 6000, and DGX Spark, with NVFP4 or BF16 and optional MTP."
tag: NEW
---

## Deployment

The **Python** commands assume SGLang source at commit `2c7511f6f7cf1cdf9ae568ad0fb25f291edb10da`. The **Docker** commands use the planned public image tag `lmsysorg/sglang:nemotron3-5-super`; that tag is not published yet, so the Docker commands are not part of the GSM8K validation below. The command panel selects either `nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4` or `nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16`. Set `HF_TOKEN` in the panel's Env control if the checkpoint requires access.

Choose **B200, H200, RTX PRO 6000, or DGX Spark** on one node. B200 offers NVFP4 and BF16. H200 offers BF16; NVFP4 is greyed out. RTX PRO 6000 and DGX Spark offer NVFP4; BF16 is greyed out. Choose `bfloat16` or `float32` in **Mamba SSM DType**; `bfloat16` is the default. **High Throughput** leaves MTP off. **Low Latency** adds EAGLE MTP with top-k 1, three steps, and four draft tokens. These names identify configuration choices; no throughput or latency comparison was measured. Both command tabs use `sglang serve`.

import { Deployment } from "/src/snippets/_deployment.jsx";
import { config } from "/src/snippets/configs/nvidia/nemotron-3.5-super-vl.jsx";
import { benchmarks } from "/src/snippets/configs/nvidia/nemotron-3.5-super-vl-benchmarks.jsx";

<Deployment config={config} benchmarks={benchmarks} />

## Playground

The Playground inherits the selected recipe and lets you toggle the reasoning and tool-call parsers. Parser changes are separate experiments.

import { Playground } from "/src/snippets/_playground.jsx";

<Playground config={config} />

## 1. Model introduction

**NVIDIA Nemotron 3.5 Super VL 120B-A12B** is a vision-language checkpoint in the Nemotron-H hybrid MoE family. The early-access NGC checkpoint configuration identifies `NemotronH_Omni_Reasoning_V3` and includes a vision encoder. The command panel uses the [NVFP4](https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4) and [BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16) Hugging Face IDs; the source runs used the [NGC model](https://registry.ngc.nvidia.com/orgs/0767305323357365/teams/super3-5-vl-ea-0911/models/nemotron-3.5-super-vl-120b-a12b-ea20261008). Check the checkpoint pages for access terms and model details.

The validation used text-only GSM8K prompts. It does **not** establish image or video request correctness, long-context behavior, or tool-call accuracy.

## 2. Configuration tips and validation

- **B200, NVFP4 or BF16:** both strategies use one eight-GPU TP8 node with FP8 E4M3 KV cache and 16,384-token configured context. Select the Mamba state dtype in the wizard; SGLang selects the attention backend and memory limits by default.
- **H200, BF16:** both strategies use one eight-GPU TP8 node with FA3 attention, Triton MoE, and `--disable-flashinfer-autotune`.
- **RTX PRO 6000, NVFP4:** both strategies served at TP1 on GPU 1 of an eight-GPU G4 machine. The configured context was 262,144 tokens; only short prompts were tested.
- **DGX Spark, NVFP4:** both strategies completed 300-question text-only GSM8K runs at TP1 with `bfloat16` Mamba state. The `float32` choice has no completed accuracy run.
- **KV precision:** these recipes deliberately use `--kv-cache-dtype fp8_e4m3` to match the validated runs. KV precision can affect output quality; no BF16-KV comparison was measured.

Server information confirmed `speculative_algorithm: null` for High Throughput and `EAGLE` for Low Latency. The runs used installed early-access NGC weights, not the Hugging Face checkpoint IDs in the command panel or the planned public Docker image.

The Deployment panel’s Benchmark card shows text-only GSM8K accuracy for measured selections and a pending state for unmeasured selections. The existing green Verified status marks a recipe with a completed source-run. These results do not validate the public checkpoint IDs or planned Docker image.

## 3. Reasoning output

The base recipes enable `--reasoning-parser nemotron_3`. In the tested chat completions, the thinking trace appeared in `message.reasoning_content` and the final answer in `message.content`. The tool-call parser is configured as `qwen3_coder`, but structured tool calls were not part of this accuracy check.

<Accordion title="Reasoning example (Python client)">

```python Example
from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:30000/v1", api_key="EMPTY")
model = client.models.list().data[0].id
response = client.chat.completions.create(
model=model,
messages=[{
"role": "user",
"content": "Claire makes a 3 egg omelet every morning for breakfast. How many dozens of eggs will she eat in 4 weeks?\nSolve the problem and put the final numeric answer after ####.",
}],
)
message = response.choices[0].message
print("Reasoning:", message.reasoning_content)
print("Content:", message.content)
```

</Accordion>

<Accordion title="Example output from the B200 NVFP4 smoke run">

```text Output
Reasoning: The user wants me to solve a math problem.

Claire makes a 3 egg omelet every morning.
She eats 3 eggs per day.
4 weeks = 4 × 7 = 28 days.
Total eggs = 3 × 28 = 84 eggs.
Dozens of eggs = 84 / 12 = 7 dozens.

Final answer: 7.

I need to put the final numeric answer after ####.
Content: Claire eats 3 eggs per day.
In 4 weeks, there are 4 × 7 = 28 days.
Total eggs eaten: 3 × 28 = 84 eggs.
Since 1 dozen = 12 eggs: 84 ÷ 12 = 7 dozens.

#### 7
```

</Accordion>
2 changes: 1 addition & 1 deletion docs/cookbook/autoregressive/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ metatags:
<Card
title="NVIDIA"
mode="card"
href="/cookbook/autoregressive/NVIDIA/Nemotron3.5-Lightning"
href="/cookbook/autoregressive/NVIDIA/Nemotron3.5-Super"
img="/cards/logos/nvidia.png"
/>
<Card
Expand Down
1 change: 1 addition & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -1372,6 +1372,7 @@
{
"group": "NVIDIA",
"pages": [
"cookbook/autoregressive/NVIDIA/Nemotron3.5-Super",
"cookbook/autoregressive/NVIDIA/Nemotron3.5-Lightning",
"cookbook/autoregressive/NVIDIA/Nemotron3-Ultra",
"cookbook/autoregressive/NVIDIA/Nemotron3-Nano-Omni",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
// Text-only GSM8K scores from completed sgl-eval==0.1.2 runs.
// Accuracy verification applies to these NGC-weight source runs, not to the
// public Hugging Face checkpoint IDs or the planned cookbook Docker tag.
export const benchmarks = [
{
match: { hw: "b200", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 95.98 },
notes: "1,266/1,319 correct; 20 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "b200", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single", mambaDtype: "float32" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 97.33 },
notes: "292/300 correct on a smaller cohort; three outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "b200", variant: "default", quant: "nvfp4", strategy: "low-latency", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.13 },
notes: "1,268/1,319 correct; 16 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "b200", variant: "default", quant: "bf16", strategy: "high-throughput", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 95.68 },
notes: "1,262/1,319 correct; 25 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "b200", variant: "default", quant: "bf16", strategy: "low-latency", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.44 },
notes: "1,272/1,319 correct; 21 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "h200", variant: "default", quant: "bf16", strategy: "high-throughput", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.06 },
notes: "1,267/1,319 correct; 21 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "h200", variant: "default", quant: "bf16", strategy: "low-latency", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 95.83 },
notes: "1,264/1,319 correct; 21 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "rtx-pro-6000", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.06 },
notes: "1,267/1,319 correct; 21 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "rtx-pro-6000", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single", mambaDtype: "float32" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 97.0 },
notes: "291/300 correct on a smaller cohort; five outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "rtx-pro-6000", variant: "default", quant: "nvfp4", strategy: "low-latency", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.44 },
notes: "1,272/1,319 correct; 18 outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "dgx-spark", variant: "default", quant: "nvfp4", strategy: "high-throughput", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 96.67 },
notes: "290/300 correct on a smaller cohort; five outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
{
match: { hw: "dgx-spark", variant: "default", quant: "nvfp4", strategy: "low-latency", nodes: "single", mambaDtype: "bfloat16" },
sglang_version: "dev @ 2c7511f6f7cf",
accuracy: { gsm8k_pct: 98.0 },
notes: "294/300 correct on a smaller cohort; three outputs hit the 8,192-token cap; zero request errors. Text-only NGC checkpoint run.",
},
];
Loading
Loading