[Cookbook] Add DeepSeek-V4-Pro-0813 (Pro Official) serving recipes (#34809)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b784726863
commit
463981922c
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: DeepSeek-V4
|
title: DeepSeek-V4
|
||||||
description: "Deploy DeepSeek-V4 with SGLang — verified launch commands, benchmarks, and tuning for Flash Official (0731), Flash, and Pro."
|
description: "Deploy DeepSeek-V4 with SGLang — verified launch commands, benchmarks, and tuning for Flash Official (0731), Flash, Pro, and Pro Official (0813)."
|
||||||
tag: NEW
|
tag: NEW
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ import { Playground } from "/src/snippets/_playground.jsx";
|
|||||||
|
|
||||||
## 1. Model Introduction
|
## 1. Model Introduction
|
||||||
|
|
||||||
**DeepSeek-V4** is the next-generation Mixture-of-Experts model from DeepSeek, released 2026-04-24 under an **MIT License**. The 0731 Flash refresh adds a checkpoint with a bundled DSpark draft head:
|
**DeepSeek-V4** is the next-generation Mixture-of-Experts model from DeepSeek, released 2026-04-24 under an **MIT License**. The 0731 Flash and 0813 Pro refreshes add checkpoints with a bundled DSpark draft head:
|
||||||
|
|
||||||
<table style={{width: "100%", borderCollapse: "collapse", tableLayout: "fixed"}}>
|
<table style={{width: "100%", borderCollapse: "collapse", tableLayout: "fixed"}}>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@@ -163,6 +163,12 @@ import { Playground } from "/src/snippets/_playground.jsx";
|
|||||||
<td style={{padding: "9px 12px", textAlign: "right", backgroundColor: "rgba(255,255,255,0.02)"}}>49B</td>
|
<td style={{padding: "9px 12px", textAlign: "right", backgroundColor: "rgba(255,255,255,0.02)"}}>49B</td>
|
||||||
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.05)"}}>high-capacity: B200 / B300 (TP=8) · GB300 (TP=4) · H200 FP4 (TP=8) · GB200 (2-node, TP=8) · H200 FP8 (2-node, TP=16) · H100 (2-node, TP=16)</td>
|
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.05)"}}>high-capacity: B200 / B300 (TP=8) · GB300 (TP=4) · H200 FP4 (TP=8) · GB200 (2-node, TP=8) · H200 FP8 (2-node, TP=16) · H100 (2-node, TP=16)</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style={{padding: "9px 12px", fontWeight: 500, backgroundColor: "rgba(255,255,255,0.02)"}}><strong><a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813">DeepSeek-V4-Pro-0813</a></strong></td>
|
||||||
|
<td style={{padding: "9px 12px", textAlign: "right", backgroundColor: "rgba(255,255,255,0.05)"}}><strong>1.65T</strong></td>
|
||||||
|
<td style={{padding: "9px 12px", textAlign: "right", backgroundColor: "rgba(255,255,255,0.02)"}}>49B</td>
|
||||||
|
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.05)"}}>Pro Official (0813), with a bundled DSpark draft head; verified on 4×GB300 (TP=4) · B200 / B300 / H200 FP4 (TP=8) · GB200 (2-node, TP=8) · H100 (2-node, TP=16) · MI355X</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@@ -172,7 +178,7 @@ The Instruct checkpoints ship as **FP4 MoE experts + FP8 attention / dense** (on
|
|||||||
|
|
||||||
**Recommended generation:** `temperature=1.0`, `top_p=1.0`.
|
**Recommended generation:** `temperature=1.0`, `top_p=1.0`.
|
||||||
|
|
||||||
**Resources:** HuggingFace · [Flash Official (0731)](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731) · [Flash](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash) · [Pro](https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro) · ModelScope · [Flash](https://modelscope.cn/models/deepseek-ai/DeepSeek-V4-Flash) · [Pro](https://modelscope.cn/models/deepseek-ai/DeepSeek-V4-Pro).
|
**Resources:** HuggingFace · [Flash Official (0731)](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731) · [Flash](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash) · [Pro](https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro) · [Pro Official (0813)](https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813) · ModelScope · [Flash](https://modelscope.cn/models/deepseek-ai/DeepSeek-V4-Flash) · [Pro](https://modelscope.cn/models/deepseek-ai/DeepSeek-V4-Pro).
|
||||||
|
|
||||||
## 2. Configuration Tips
|
## 2. Configuration Tips
|
||||||
|
|
||||||
@@ -186,7 +192,11 @@ The generator currently picks values on the **conservative** side (mirroring an
|
|||||||
|
|
||||||
**Speculative decoding**
|
**Speculative decoding**
|
||||||
|
|
||||||
The original Flash and Pro recipes use EAGLE. Flash Official (0731) uses the bundled DSpark draft head; see [DSpark](#3-4-dspark-speculative-decoding) for its launch and tuning notes.
|
The original Flash and Pro recipes use EAGLE. Flash Official (0731) and Pro Official (0813) use the bundled DSpark draft head; see [DSpark](#3-4-dspark-speculative-decoding) for its launch and tuning notes.
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
Do not use EAGLE on the checkpoints that bundle a DSpark head. On 0813, `--speculative-algorithm EAGLE` starts and serves without any error, but the draft head it binds accepts nothing — every decode batch logs `accept len: 1.00, accept rate: 0.00`, so you pay the draft cost for zero speedup. Output stays correct, which is what makes it easy to miss. Switch to `--speculative-algorithm DSPARK`; the startup log then reports `Draft checkpoint bundles a DSpark head`.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
For the original Flash and Pro checkpoints:
|
For the original Flash and Pro checkpoints:
|
||||||
|
|
||||||
@@ -562,10 +572,14 @@ For more details, see the [HiCache documentation](../../../docs/advanced_feature
|
|||||||
|
|
||||||
### 3.4 DSpark (Speculative Decoding)
|
### 3.4 DSpark (Speculative Decoding)
|
||||||
|
|
||||||
Flash Official (0731) bundles a DSpark draft head in `deepseek-ai/DeepSeek-V4-Flash-0731`. The target and draft weights therefore come from the same checkpoint: enable DSpark with `--speculative-algorithm DSPARK` and do not set a separate `--speculative-draft-model-path`.
|
Flash Official (0731) and Pro Official (0813) bundle a DSpark draft head in `deepseek-ai/DeepSeek-V4-Flash-0731` and `deepseek-ai/DeepSeek-V4-Pro-0813`. The target and draft weights therefore come from the same checkpoint: enable DSpark with `--speculative-algorithm DSPARK` and do not set a separate `--speculative-draft-model-path`.
|
||||||
|
|
||||||
Unlike the EAGLE recipes for the original Flash and Pro checkpoints, this recipe omits `--speculative-num-steps`, `--speculative-eagle-topk`, and `--speculative-num-draft-tokens`. SGLang reads the DSpark shape from the checkpoint.
|
Unlike the EAGLE recipes for the original Flash and Pro checkpoints, this recipe omits `--speculative-num-steps`, `--speculative-eagle-topk`, and `--speculative-num-draft-tokens`. SGLang reads the DSpark shape from the checkpoint.
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
The Pro Official (0813) low-latency speed numbers in the Deploy panel were measured with `SGLANG_SIMULATE_ACC_LEN=4`, which pins the DSpark accept length at exactly 4.00. The recipe as shipped earns **4.678** on the same engine, so those rows read slightly conservative. The GSM8K figure for that cell is from the shipped command.
|
||||||
|
</Note>
|
||||||
|
|
||||||
The verified 4×GB300 FP4 low-latency command is:
|
The verified 4×GB300 FP4 low-latency command is:
|
||||||
|
|
||||||
```bash Command
|
```bash Command
|
||||||
@@ -584,7 +598,7 @@ sglang serve \
|
|||||||
|
|
||||||
Keep `--mem-fraction-static 0.90` on this topology to leave enough headroom for the batch-256 verify graph. The first cold start can take 10–15 minutes while FlashInfer autotunes and SGLang captures the draft and verify graphs; later starts reuse the cache. This path is verified end-to-end on 4×GB300 with SGLang v0.5.16.
|
Keep `--mem-fraction-static 0.90` on this topology to leave enough headroom for the batch-256 verify graph. The first cold start can take 10–15 minutes while FlashInfer autotunes and SGLang captures the draft and verify graphs; later starts reuse the cache. This path is verified end-to-end on 4×GB300 with SGLang v0.5.16.
|
||||||
|
|
||||||
**Tune proposed draft tokens.** `--speculative-dspark-block-size N` asks DSpark to propose `N` tokens per step; the target verifies a window of `N + 1`. If the flag is omitted, SGLang reads the value from the checkpoint. The current 0731 checkpoint resolves to five proposed tokens, which is the verified default. Use the **DSpark Proposed Draft Tokens** slider in the [Playground](#playground) to sweep one through five.
|
**Tune proposed draft tokens.** `--speculative-dspark-block-size N` asks DSpark to propose `N` tokens per step; the target verifies a window of `N + 1`. If the flag is omitted, SGLang reads the value from the checkpoint. Both the 0731 and 0813 checkpoints resolve to five proposed tokens (the startup log reports `gamma=5, verify_num_draft_tokens=6`), which is the verified default. Use the **DSpark Proposed Draft Tokens** slider in the [Playground](#playground) to sweep one through five.
|
||||||
|
|
||||||
Larger blocks can improve decode latency when acceptance stays high, but they also increase verification work and graph memory. Start from the checkpoint default, then sweep downward under the real prompt-length and concurrency distribution. The gain is usually largest for short interactive traffic and narrows as prefill dominates. Track P50/P99 TTFT and TPOT, total throughput, accepted length, GPU memory, and stop rate rather than choosing from acceptance alone.
|
Larger blocks can improve decode latency when acceptance stays high, but they also increase verification work and graph memory. Start from the checkpoint default, then sweep downward under the real prompt-length and concurrency distribution. The gain is usually largest for short interactive traffic and narrows as prefill dominates. Track P50/P99 TTFT and TPOT, total throughput, accepted length, GPU memory, and stop rate rather than choosing from acceptance alone.
|
||||||
|
|
||||||
|
|||||||
@@ -358,6 +358,58 @@ export const benchmarks = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
// ====================================================================
|
// ====================================================================
|
||||||
|
// GB300 + FP4 — Pro Official (0813)
|
||||||
|
//
|
||||||
|
// 4xGB300, random 8192/1024 with --random-range-ratio 1.0 (a true fixed
|
||||||
|
// length; the 0.0 default samples uniformly and averages ~5100 in), 64 warmup
|
||||||
|
// requests, cache flushed per point. Each strategy carries its lowest and
|
||||||
|
// highest measured concurrency. TTFT/TPOT are bench_serving means, hence the
|
||||||
|
// per-entry latencyPercentile override. Accuracy is GSM8K via sgl-eval, 1319
|
||||||
|
// examples at temperature 0.
|
||||||
|
//
|
||||||
|
// NOTE: the low-latency speed rows were measured with SGLANG_SIMULATE_ACC_LEN=4,
|
||||||
|
// which pins the DSpark accept length at exactly 4.00. The shipped recipe earns
|
||||||
|
// 4.678 on the same engine, so these rows are a slightly conservative stand-in
|
||||||
|
// for that cell rather than a direct run of the command above. Accuracy for that
|
||||||
|
// cell IS from the shipped command. Re-measure when convenient.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
sglang_version: "main @ 273d978bed",
|
||||||
|
latencyPercentile: "Mean",
|
||||||
|
speed: [
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 1, num_prompts: 5 },
|
||||||
|
ttft_ms: 345.49, tpot_ms: 3.32, tokens_per_sec_per_gpu: 615 },
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 16, num_prompts: 80 },
|
||||||
|
ttft_ms: 2854.89, tpot_ms: 9.35, tokens_per_sec_per_gpu: 2965 },
|
||||||
|
],
|
||||||
|
accuracy: { gsm8k_pct: 96.13 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
sglang_version: "main @ 273d978bed",
|
||||||
|
latencyPercentile: "Mean",
|
||||||
|
speed: [
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 64, num_prompts: 320 },
|
||||||
|
ttft_ms: 6641.90, tpot_ms: 37.42, tokens_per_sec_per_gpu: 3281 },
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 256, num_prompts: 1280 },
|
||||||
|
ttft_ms: 19710.64, tpot_ms: 76.80, tokens_per_sec_per_gpu: 5996 },
|
||||||
|
],
|
||||||
|
accuracy: { gsm8k_pct: 96.44 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
sglang_version: "main @ 273d978bed",
|
||||||
|
latencyPercentile: "Mean",
|
||||||
|
speed: [
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 256, num_prompts: 1280 },
|
||||||
|
ttft_ms: 10149.99, tpot_ms: 75.29, tokens_per_sec_per_gpu: 6758 },
|
||||||
|
{ workload: { dataset: "random", isl: 8192, osl: 1024, max_concurrency: 512, num_prompts: 2560 },
|
||||||
|
ttft_ms: 34087.61, tpot_ms: 120.69, tokens_per_sec_per_gpu: 7475 },
|
||||||
|
],
|
||||||
|
accuracy: { gsm8k_pct: 96.66 },
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
// GB300 + NVFP4
|
// GB300 + NVFP4
|
||||||
// ====================================================================
|
// ====================================================================
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ export const config = {
|
|||||||
{ id: "flash", label: "Flash", subtitle: "284B" },
|
{ id: "flash", label: "Flash", subtitle: "284B" },
|
||||||
{ id: "flash-official", label: "Flash Official", subtitle: "284B · 0731" },
|
{ id: "flash-official", label: "Flash Official", subtitle: "284B · 0731" },
|
||||||
{ id: "pro", label: "Pro", subtitle: "1.6T" },
|
{ id: "pro", label: "Pro", subtitle: "1.6T" },
|
||||||
|
{ id: "pro-official", label: "Pro Official", subtitle: "1.6T · 0813" },
|
||||||
],
|
],
|
||||||
quantizations: [
|
quantizations: [
|
||||||
{ id: "fp8", label: "FP8" },
|
{ id: "fp8", label: "FP8" },
|
||||||
@@ -51,6 +52,7 @@ export const config = {
|
|||||||
"pro|fp4": "deepseek-ai/DeepSeek-V4-Pro",
|
"pro|fp4": "deepseek-ai/DeepSeek-V4-Pro",
|
||||||
"pro|fp8": "deepseek-ai/DeepSeek-V4-Pro",
|
"pro|fp8": "deepseek-ai/DeepSeek-V4-Pro",
|
||||||
"pro|nvfp4": "nvidia/DeepSeek-V4-Pro-NVFP4",
|
"pro|nvfp4": "nvidia/DeepSeek-V4-Pro-NVFP4",
|
||||||
|
"pro-official|fp4": "deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||||
// H200 FP8 needs the sgl-project repackaging (Hopper can't run FP4-mixed Instruct).
|
// H200 FP8 needs the sgl-project repackaging (Hopper can't run FP4-mixed Instruct).
|
||||||
"h200|flash|fp8": "sgl-project/DeepSeek-V4-Flash-FP8",
|
"h200|flash|fp8": "sgl-project/DeepSeek-V4-Flash-FP8",
|
||||||
"h200|pro|fp8": "sgl-project/DeepSeek-V4-Pro-FP8",
|
"h200|pro|fp8": "sgl-project/DeepSeek-V4-Pro-FP8",
|
||||||
@@ -83,6 +85,7 @@ export const config = {
|
|||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--dataset-name {{DATASET}} \\
|
--dataset-name {{DATASET}} \\
|
||||||
--random-input-len {{ISL}} --random-output-len {{OSL}} \\
|
--random-input-len {{ISL}} --random-output-len {{OSL}} \\
|
||||||
|
--random-range-ratio 1.0 \\
|
||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
||||||
--warmup-requests 64 --flush-cache`,
|
--warmup-requests 64 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
@@ -289,11 +292,11 @@ sgl-eval run aime25 \\
|
|||||||
{ id: "mtp-314", label: "EAGLE / MTP 3-1-4",
|
{ id: "mtp-314", label: "EAGLE / MTP 3-1-4",
|
||||||
flags: ["--speculative-algorithm EAGLE", "--speculative-num-steps 3",
|
flags: ["--speculative-algorithm EAGLE", "--speculative-num-steps 3",
|
||||||
"--speculative-eagle-topk 1", "--speculative-num-draft-tokens 4"],
|
"--speculative-eagle-topk 1", "--speculative-num-draft-tokens 4"],
|
||||||
hide: { variant: ["flash-official"] } },
|
hide: { variant: ["flash-official", "pro-official"] } },
|
||||||
{ id: "mtp-112", label: "EAGLE / MTP 1-1-2",
|
{ id: "mtp-112", label: "EAGLE / MTP 1-1-2",
|
||||||
flags: ["--speculative-algorithm EAGLE", "--speculative-num-steps 1",
|
flags: ["--speculative-algorithm EAGLE", "--speculative-num-steps 1",
|
||||||
"--speculative-eagle-topk 1", "--speculative-num-draft-tokens 2"],
|
"--speculative-eagle-topk 1", "--speculative-num-draft-tokens 2"],
|
||||||
hide: { variant: ["flash-official"] } },
|
hide: { variant: ["flash-official", "pro-official"] } },
|
||||||
{ id: "dspark", label: "DSpark",
|
{ id: "dspark", label: "DSpark",
|
||||||
flags: ["--speculative-algorithm DSPARK"],
|
flags: ["--speculative-algorithm DSPARK"],
|
||||||
hide: { variant: ["flash", "pro"] },
|
hide: { variant: ["flash", "pro"] },
|
||||||
@@ -421,7 +424,9 @@ sgl-eval run aime25 \\
|
|||||||
{
|
{
|
||||||
id: "dsparkDraftTokens",
|
id: "dsparkDraftTokens",
|
||||||
title: "DSpark Proposed Draft Tokens",
|
title: "DSpark Proposed Draft Tokens",
|
||||||
showWhen: (base) => base.variant === "flash-official" && base.specAlgorithm === "DSPARK",
|
showWhen: (base) =>
|
||||||
|
(base.variant === "flash-official" || base.variant === "pro-official") &&
|
||||||
|
base.specAlgorithm === "DSPARK",
|
||||||
control: "slider",
|
control: "slider",
|
||||||
stripPrefixes: ["--speculative-dspark-block-size"],
|
stripPrefixes: ["--speculative-dspark-block-size"],
|
||||||
options: [
|
options: [
|
||||||
@@ -1274,6 +1279,437 @@ sgl-eval run aime25 \\
|
|||||||
"--port {{PORT}}",
|
"--port {{PORT}}",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// GB300 + FP4 — Pro Official (0813)
|
||||||
|
//
|
||||||
|
// The 0813 checkpoint bundles a DSpark draft head, so the low-latency
|
||||||
|
// recipe uses `--speculative-algorithm DSPARK` and omits the EAGLE shape
|
||||||
|
// flags (SGLang reads gamma from the checkpoint). EAGLE loads on this
|
||||||
|
// checkpoint without erroring but accepts no draft tokens.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
verified: true,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 4",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--chunked-prefill-size 8192",
|
||||||
|
"--disable-flashinfer-autotune",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
verified: true,
|
||||||
|
env: ["SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=256"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 4",
|
||||||
|
"--dp 4",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend deepep",
|
||||||
|
"--deepep-config '{\"normal_dispatch\":{\"num_sms\":96},\"normal_combine\":{\"num_sms\":96}}'",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// --max-running-requests is server-wide and floor-divided by attn_dp_size,
|
||||||
|
// so 512 gives 128 running slots per DP rank. That is the point where both
|
||||||
|
// the slot budget and the KV pool run full on this topology; the three
|
||||||
|
// memory flags together are what keep the KV pool large enough to reach it.
|
||||||
|
match: { hw: "gb300", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
verified: true,
|
||||||
|
env: [
|
||||||
|
"SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=8320",
|
||||||
|
],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 4",
|
||||||
|
"--dp 4",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend megamoe",
|
||||||
|
"--mem-fraction-static 0.9",
|
||||||
|
"--cuda-graph-max-bs-decode 128",
|
||||||
|
"--max-running-requests 512",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
// ====================================================================
|
||||||
|
// B200 + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "b200", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--chunked-prefill-size 8192",
|
||||||
|
"--disable-flashinfer-autotune",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// DSpark is incompatible with DP attention -> target-only.
|
||||||
|
match: { hw: "b200", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=4096"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend megamoe",
|
||||||
|
"--chunked-prefill-size 32768",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.92",
|
||||||
|
"--cuda-graph-max-bs-decode 256",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "b200", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=8320"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend megamoe",
|
||||||
|
"--mem-fraction-static 0.835",
|
||||||
|
"--cuda-graph-max-bs-decode 544",
|
||||||
|
"--swa-full-tokens-ratio 0.075",
|
||||||
|
"--chunked-prefill-size 65536",
|
||||||
|
"--tokenizer-worker-num 8",
|
||||||
|
"--enable-prefill-delayer",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// B300 + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "b300", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--chunked-prefill-size 8192",
|
||||||
|
"--disable-flashinfer-autotune",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// DSpark is incompatible with DP attention -> target-only.
|
||||||
|
match: { hw: "b300", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--disable-flashinfer-autotune",
|
||||||
|
"--chunked-prefill-size 32768",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.92",
|
||||||
|
"--cuda-graph-max-bs-decode 256",
|
||||||
|
"--deepep-config '{\"normal_dispatch\":{\"num_sms\":96},\"normal_combine\":{\"num_sms\":96}}'",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "b300", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=8320"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend megamoe",
|
||||||
|
"--mem-fraction-static 0.835",
|
||||||
|
"--cuda-graph-max-bs-decode 544",
|
||||||
|
"--swa-full-tokens-ratio 0.075",
|
||||||
|
"--chunked-prefill-size 65536",
|
||||||
|
"--tokenizer-worker-num 8",
|
||||||
|
"--enable-prefill-delayer",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// GB200 + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "gb200", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["NCCL_MNNVL_ENABLE=1", "NCCL_CUMEM_ENABLE=1", "SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=256"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--chunked-prefill-size 8192",
|
||||||
|
"--disable-flashinfer-autotune",
|
||||||
|
"--swa-full-tokens-ratio 0.1",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// DSpark is incompatible with DP attention -> target-only.
|
||||||
|
match: { hw: "gb200", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["NCCL_MNNVL_ENABLE=1", "NCCL_CUMEM_ENABLE=1", "SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=256"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend deepep",
|
||||||
|
"--mem-fraction-static 0.78",
|
||||||
|
"--cuda-graph-max-bs-decode 64",
|
||||||
|
"--max-running-requests 128",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "gb200", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["NCCL_MNNVL_ENABLE=1", "NCCL_CUMEM_ENABLE=1", "SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=8320"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--moe-a2a-backend megamoe",
|
||||||
|
"--mem-fraction-static 0.78",
|
||||||
|
"--cuda-graph-max-bs-decode 64",
|
||||||
|
"--max-running-requests 256",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// H200 + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "h200", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "h200", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--mem-fraction-static 0.88",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "h200", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: [],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--moe-runner-backend flashinfer_mxfp4",
|
||||||
|
"--mem-fraction-static 0.88",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// H100 + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
match: { hw: "h100", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_SHARED_EXPERT_TP1=1"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 16",
|
||||||
|
"--moe-runner-backend marlin",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--mem-fraction-static 0.9",
|
||||||
|
"--cuda-graph-max-bs-decode 8",
|
||||||
|
"--max-running-requests 32",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "h100", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_SHARED_EXPERT_TP1=1"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 16",
|
||||||
|
"--moe-runner-backend marlin",
|
||||||
|
"--speculative-algorithm DSPARK",
|
||||||
|
"--mem-fraction-static 0.9",
|
||||||
|
"--cuda-graph-max-bs-decode 8",
|
||||||
|
"--max-running-requests 32",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
match: { hw: "h100", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "multi-2" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_SHARED_EXPERT_TP1=1"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 16",
|
||||||
|
"--moe-runner-backend marlin",
|
||||||
|
"--mem-fraction-static 0.9",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// ====================================================================
|
||||||
|
// MI355X + FP4 — Pro Official (0813)
|
||||||
|
// Mirrors the verified Pro cells; speculative decoding re-fitted to the
|
||||||
|
// bundled DSpark head. NOT yet run end-to-end on this hardware.
|
||||||
|
// ====================================================================
|
||||||
|
{
|
||||||
|
// DSpark requires CUDA; EAGLE binds a head that accepts nothing on 0813 -> target-only.
|
||||||
|
match: { hw: "mi355x", variant: "pro-official", quant: "fp4", strategy: "low-latency", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_USE_ROCM700A=0", "SGLANG_HACK_FLASHMLA_BACKEND=unified_kv_triton", "AITER_BF16_FP8_MOE_BOUND=0"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--attention-backend dsv4",
|
||||||
|
"--page-size 256",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--swa-full-tokens-ratio 0.15",
|
||||||
|
"--disable-shared-experts-fusion",
|
||||||
|
"--kv-cache-dtype fp8_e4m3",
|
||||||
|
"--chunked-prefill-size 8192",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// DSpark requires CUDA; EAGLE binds a head that accepts nothing on 0813 -> target-only.
|
||||||
|
match: { hw: "mi355x", variant: "pro-official", quant: "fp4", strategy: "balanced", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_USE_ROCM700A=0", "SGLANG_SHARED_EXPERT_TP1=1", "SGLANG_DP_SHARED_EXPERT_LOCAL=1", "SGLANG_DP_USE_GATHERV=1", "SGLANG_DP_USE_REDUCE_SCATTER=1", "SGLANG_HACK_FLASHMLA_BACKEND=unified_kv_triton", "AITER_BF16_FP8_MOE_BOUND=0"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--enable-two-batch-overlap",
|
||||||
|
"--attention-backend dsv4",
|
||||||
|
"--page-size 256",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--swa-full-tokens-ratio 0.15",
|
||||||
|
"--disable-shared-experts-fusion",
|
||||||
|
"--kv-cache-dtype fp8_e4m3",
|
||||||
|
"--chunked-prefill-size 65536",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// DSpark requires CUDA; EAGLE binds a head that accepts nothing on 0813 -> target-only.
|
||||||
|
match: { hw: "mi355x", variant: "pro-official", quant: "fp4", strategy: "high-throughput", nodes: "single" },
|
||||||
|
verified: false,
|
||||||
|
env: ["SGLANG_USE_ROCM700A=0", "SGLANG_SHARED_EXPERT_TP1=1", "SGLANG_DP_SHARED_EXPERT_LOCAL=1", "SGLANG_DP_USE_GATHERV=1", "SGLANG_DP_USE_REDUCE_SCATTER=1", "SGLANG_HACK_FLASHMLA_BACKEND=unified_kv_triton", "AITER_BF16_FP8_MOE_BOUND=0"],
|
||||||
|
flags: [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--model-path {{MODEL_NAME}}",
|
||||||
|
"--tp 8",
|
||||||
|
"--dp 8",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--enable-two-batch-overlap",
|
||||||
|
"--attention-backend dsv4",
|
||||||
|
"--page-size 256",
|
||||||
|
"--mem-fraction-static 0.90",
|
||||||
|
"--swa-full-tokens-ratio 0.15",
|
||||||
|
"--disable-shared-experts-fusion",
|
||||||
|
"--kv-cache-dtype fp8_e4m3",
|
||||||
|
"--chunked-prefill-size 65536",
|
||||||
|
"--host {{HOST_IP}}",
|
||||||
|
"--port {{PORT}}",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
// ====================================================================
|
// ====================================================================
|
||||||
// GB200 + NVFP4
|
// GB200 + NVFP4
|
||||||
// ====================================================================
|
// ====================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user