Update README.md to include SGLang cookbook
#1
by zjxia - opened
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
|