[Docs] Update Ascend NPU GGUF quantization documentation (#23845)
This commit is contained in:
@@ -130,8 +130,8 @@ The following table summarizes quantization method support across NVIDIA and AMD
|
||||
<td><code>gguf</code></td>
|
||||
<td>Yes</td>
|
||||
<td>No</td>
|
||||
<td>WIP</td>
|
||||
<td>CUDA-only kernels in sgl-kernel</td>
|
||||
<td>Yes</td>
|
||||
<td>CUDA kernels in sgl-kernel; Ascend uses CPU pre-dequantization at load time</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>modelopt</code> / <code>modelopt_fp8</code></td>
|
||||
|
||||
@@ -23,66 +23,66 @@ SGLang support **mix-bits** quantization (independently defines and loads each l
|
||||
<tr>
|
||||
<td>W4A4 dynamic</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A8 static</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A8 dynamic</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/20922">MXFP8</a></td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong><span style="color: blue;">WIP</span></strong></td>
|
||||
<td><strong><span style="color: blue;">WIP</span></strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
<td><strong style={{color: 'blue'}}>WIP</strong></td>
|
||||
<td><strong style={{color: 'blue'}}>WIP</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W4A4 dynamic</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W4A8 dynamic</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A8 dynamic</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/20922">MXFP8</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong><span style="color: blue;">WIP</span></strong></td>
|
||||
<td><strong><span style="color: red;">x</span></strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
<td><strong style={{color: 'blue'}}>WIP</strong></td>
|
||||
<td><strong style={{color: 'red'}}>x</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -102,23 +102,23 @@ SGLang support **mix-bits** quantization (independently defines and loads each l
|
||||
<tr>
|
||||
<td>W4A16</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A16</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W4A16</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -138,30 +138,30 @@ GPTQ on Ascend support
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/15203">W4A16</a></td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/15203">W8A16</a></td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/16364">W4A16 MOE</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/16364">W8A16 MOE</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -181,30 +181,30 @@ GPTQ on Ascend support
|
||||
<tr>
|
||||
<td>W4A16</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A16</td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W4A16</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>W8A16</td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -224,34 +224,86 @@ Compressed-tensors (LLM Compressor) on Ascend support:
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/14504">W8A8 dynamic</a></td>
|
||||
<td>Linear</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/14736">W4A8 dynamic with/without activation clip</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/12759">W4A16 MOE</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/sgl-project/sglang/pull/14504">W8A8 dynamic</a></td>
|
||||
<td>MoE</td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: green;">√</span></strong></td>
|
||||
<td><strong><span style="color: yellow;">TBD</span></strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
[GGUF on Ascend support](https://github.com/sgl-project/sglang/pull/17883)
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Quantization type</th>
|
||||
<th>Layer type</th>
|
||||
<th>A2 Supported</th>
|
||||
<th>A3 Supported</th>
|
||||
<th>A5 Supported</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>All GGUF types (standard, K-quant)</td>
|
||||
<td>Linear</td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>All GGUF types (standard, K-quant)</td>
|
||||
<td>MoE</td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'green'}}>√</strong></td>
|
||||
<td><strong style={{color: 'orange'}}>TBD</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
in progress
|
||||
**Usage Examples:**
|
||||
|
||||
- Dense model (e.g. Qwen3-14B-Q4_K_M.gguf):
|
||||
|
||||
```bash Command
|
||||
python3 -m sglang.launch_server \
|
||||
--model-path Qwen3-14B-Q4_K_M.gguf \
|
||||
--device npu --attention-backend ascend \
|
||||
--host 0.0.0.0 --port 30000 \
|
||||
--mem-fraction-static 0.7 --tp-size 2
|
||||
```
|
||||
|
||||
- MoE model (e.g. Qwen3-30B-A3B-Q4_K_M.gguf):
|
||||
|
||||
```bash Command
|
||||
python3 -m sglang.launch_server \
|
||||
--model-path Qwen3-30B-A3B-Q4_K_M.gguf \
|
||||
--device npu --attention-backend ascend \
|
||||
--host 0.0.0.0 --port 30000 \
|
||||
--mem-fraction-static 0.8 --tp-size 2
|
||||
```
|
||||
|
||||
> **Implementation Notes:**
|
||||
> - GGUF weights are pre-dequantized to FP16/BF16 during model loading on CPU, then transferred to NPU for inference. This trades higher memory usage for faster runtime performance (no per-forward-pass dequantization overhead).
|
||||
> - MoE layers use `npu_grouped_matmul` and `npu_moe_init_routing` / `npu_moe_finalize_routing` for high-performance expert computation.
|
||||
> - TP (tensor parallelism) sharding is supported for both dense and MoE GGUF models.
|
||||
|
||||
@@ -61,7 +61,7 @@ click [Server Arguments](../../advanced_features/server_arguments).
|
||||
<tr>
|
||||
<td style={{padding: "9px 12px", fontWeight: 500, backgroundColor: "rgba(255,255,255,0.02)"}}>`--load-format`</td>
|
||||
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.05)"}}>`auto`</td>
|
||||
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.02)"}}><code>auto</code>, <code>safetensors</code></td>
|
||||
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.02)"}}><code>auto</code>, <code>safetensors</code>, <code>gguf</code></td>
|
||||
<td style={{padding: "9px 12px", backgroundColor: "rgba(255,255,255,0.05)"}}>A2, A3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
Reference in New Issue
Block a user