Update README.md to include SGLang cookbook

#1
by zjxia - opened
Files changed (1) hide show
  1. README.md +41 -2
README.md CHANGED
@@ -81,6 +81,7 @@ Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated sys
81
  **Supported Runtime Engine(s):**
82
 
83
  - vLLM
 
84
 
85
  **Supported Hardware Microarchitecture Compatibility:**
86
 
@@ -136,7 +137,7 @@ No calibration dataset was used. The MXFP4-to-NVFP4 expert conversion used `inpu
136
 
137
  ## Inference:
138
 
139
- **Acceleration Engine:** vLLM
140
 
141
  **Test Hardware:** 8 NVIDIA Blackwell B300 GPUs
142
 
@@ -146,10 +147,12 @@ No calibration dataset was used. The MXFP4-to-NVFP4 expert conversion used `inpu
146
 
147
  ## Post Training Quantization
148
 
149
- This model was obtained from Kimi-K3 without calibration data. The source MXFP4 routed-expert weights were converted to NVFP4 using `input_scale=1.0`, while the supported attention projection weights in KDA and MLA were quantized to 128×128 per-block FP8. Other checkpoint tensors retain their original precision. The checkpoint is ready for inference with vLLM.
150
 
151
  ## Usage
152
 
 
 
153
  This checkpoint was validated on 8 NVIDIA B300 GPUs with the public [`vllm/vllm-openai:kimi-k3`](https://hub.docker.com/r/vllm/vllm-openai/tags?name=kimi-k3) image. At validation time, the image included vLLM `0.1.dev19262+gb6bbf29dd.d20260727`. The compatibility patch included in this repository is required for this serving configuration.
154
 
155
  Native vLLM support is being upstreamed to replace the compatibility patch. Generic mixed `FP8_PB_WO` dispatch and DeepGEMM preparation are tracked in [vLLM PR #50617](https://github.com/vllm-project/vllm/pull/50617), Kimi-K3 fused-projection support in [vLLM PR #52406](https://github.com/vllm-project/vllm/pull/52406), and the TRTLLM NVFP4 SiTU scale correction in [vLLM PR #52405](https://github.com/vllm-project/vllm/pull/52405). Continue using the bundled patch until those changes are included in a released vLLM build.
@@ -200,6 +203,42 @@ The first launch downloads approximately 1.6 TB into the mounted Hugging Face ca
200
 
201
  The 196,608-token limit is the validated TP8 setting rather than the model's architectural maximum. Adjust context length and concurrency together based on available memory.
202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
 
204
 
205
  ## Evaluation
 
81
  **Supported Runtime Engine(s):**
82
 
83
  - vLLM
84
+ - SGLang
85
 
86
  **Supported Hardware Microarchitecture Compatibility:**
87
 
 
137
 
138
  ## Inference:
139
 
140
+ **Acceleration Engine:** vLLM, SGLang
141
 
142
  **Test Hardware:** 8 NVIDIA Blackwell B300 GPUs
143
 
 
147
 
148
  ## Post Training Quantization
149
 
150
+ This model was obtained from Kimi-K3 without calibration data. The source MXFP4 routed-expert weights were converted to NVFP4 using `input_scale=1.0`, while the supported attention projection weights in KDA and MLA were quantized to 128×128 per-block FP8. Other checkpoint tensors retain their original precision. The checkpoint is ready for inference with vLLM and SGLang.
151
 
152
  ## Usage
153
 
154
+ ### vLLM
155
+
156
  This checkpoint was validated on 8 NVIDIA B300 GPUs with the public [`vllm/vllm-openai:kimi-k3`](https://hub.docker.com/r/vllm/vllm-openai/tags?name=kimi-k3) image. At validation time, the image included vLLM `0.1.dev19262+gb6bbf29dd.d20260727`. The compatibility patch included in this repository is required for this serving configuration.
157
 
158
  Native vLLM support is being upstreamed to replace the compatibility patch. Generic mixed `FP8_PB_WO` dispatch and DeepGEMM preparation are tracked in [vLLM PR #50617](https://github.com/vllm-project/vllm/pull/50617), Kimi-K3 fused-projection support in [vLLM PR #52406](https://github.com/vllm-project/vllm/pull/52406), and the TRTLLM NVFP4 SiTU scale correction in [vLLM PR #52405](https://github.com/vllm-project/vllm/pull/52405). Continue using the bundled patch until those changes are included in a released vLLM build.
 
203
 
204
  The 196,608-token limit is the validated TP8 setting rather than the model's architectural maximum. Adjust context length and concurrency together based on available memory.
205
 
206
+ ### SGLang
207
+
208
+ This checkpoint serves on 8 NVIDIA B300 GPUs with [`lmsysorg/sglang:dev-dev-kimi-k3-nvfp4`](https://hub.docker.com/r/lmsysorg/sglang/tags?name=dev-dev-kimi-k3-nvfp4), a CUDA 13 build cut from the head of the SGLang support PR. No runtime patch and no registry authentication are required.
209
+
210
+ Native SGLang support for the mixed NVFP4 / `FP8_PB_WO` checkpoint is tracked in [SGLang PR #35077](https://github.com/sgl-project/sglang/pull/35077). Until that lands in a released build, use the image above — a pip-installed SGLang cannot load this checkpoint.
211
+
212
+ `--moe-runner-backend flashinfer_trtllm` is required rather than optional: the automatic resolution never engages the TRT-LLM deferred-finalize path, and `flashinfer_cutlass` has no SiTU kernel for the routed experts. The quantization scheme is read from the checkpoint's own config, so no `--quantization` flag is needed.
213
+
214
+ ```sh
215
+ docker run --rm --gpus all --ipc=host --network=host \
216
+ --shm-size=64g \
217
+ -e HF_TOKEN \
218
+ -v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
219
+ lmsysorg/sglang:dev-dev-kimi-k3-nvfp4 \
220
+ sglang serve \
221
+ --trust-remote-code \
222
+ --model-path nvidia/Kimi-K3-NVFP4 \
223
+ --served-model-name kimi-k3-nvfp4 \
224
+ --tp-size 8 \
225
+ --dcp-size 8 \
226
+ --mem-fraction-static 0.85 \
227
+ --reasoning-parser kimi_k3 \
228
+ --tool-call-parser kimi_k3 \
229
+ --host 0.0.0.0 \
230
+ --port 30000 \
231
+ --moe-runner-backend flashinfer_trtllm \
232
+ --speculative-algorithm DSPARK \
233
+ --speculative-draft-model-path RadixArk/Kimi-K3-DSpark \
234
+ --speculative-dspark-block-size 7 \
235
+ --enable-linear-replayssm-spec
236
+ ```
237
+
238
+ The three `--speculative-*` flags turn on DSPARK speculative decoding, the cookbook's default operating point for this model; drop them to serve without speculation. Context length is left at the checkpoint's own value — narrow it with `--context-length`, and tune it together with concurrency against available memory.
239
+
240
+ Further operating points — the low-latency and high-throughput tiers, GB200/GB300 multi-node recipes, and prefill/decode disaggregation — are generated by the [SGLang Kimi-K3 cookbook](https://docs.sglang.io/cookbook/autoregressive/Moonshotai/Kimi-K3), where NVFP4 is the **Quantization** row of the deployment panel.
241
+
242
 
243
 
244
  ## Evaluation