Introduction
GLM-5.3 is a large-scale Mixture-of-Experts (MoE) language model in the GLM (General Language Model) series, developed by Zhipu AI. It uses DeepSeek Sparse Attention (DSA), supports multi-token prediction (MTP), and is designed for long-context text generation. GLM-5.3 is distinct from the separately released GLM-5.3-Flash model, which uses a hybrid sparse/linear-attention architecture. This document demonstrates the deployment of GLM-5.3 on Ascend NPUs using SGLang, including single-node deployment, multi-node co-located (mixed) deployment, prefill-decode disaggregation, feature configuration, and performance optimization. The multi-node and prefill-decode disaggregation examples use a locally preparedGLM-5.3-w8a8 checkpoint and a CANN 9.1.0 runtime.
Supported features
The values in the Example usage column reflect the deployment scenarios described below and are not universal
defaults. Some flags require a specific SGLang version or model checkpoint. For parameter details, see
Feature descriptions; for
recommended configurations, see Best practices.
Prerequisites
Environment
Before following this tutorial, complete the environment setup in the documents below:- Ascend NPU Quickstart — the fastest way to get started. It walks you through launching a container, starting the SGLang server, and sending a test request.
- SGLang Installation with NPU Support — the full installation guide. It covers version compatibility (CANN, TorchNPU, Triton, kernels, etc.), building from source or from a Dockerfile, and recommended system settings (CPU power scheme, NUMA, swap).
Model weights
Before downloading model weights, check the model size to reserve enough disk space. For multi-node deployment, download the weights to a shared directory accessible to all nodes or distribute an identical checkpoint to the same local path on every node.- GLM-5.3-BF16 (BF16, approximately 1.51 TB).
GLM-5.3-w8a8(a locally prepared W8A8 ModelSlim-quantized checkpoint used in the scripts below; setMODEL_PATHto the actual location). The checkpoint size and MTP-weight availability depend on the conversion output.- You can use msmodelslim to quantize model weights for Ascend devices.
The deployment examples below use a W8A8 checkpoint with
--quantization modelslim. The PD disaggregation topology
uses two Atlas 800I A3 nodes for prefill and two additional A3 nodes for decode. Make sure that the checkpoint
contains the required MTP weights before enabling NEXTN speculative decoding.Installation
The commands below start CANN 9.1.0 base images. Follow SGLang Installation with NPU Support to install SGLang and the required runtime components inside the container. Use the matching image for your hardware.- Atlas 800I A3
- Atlas 800I A2
Command
Online service deployment
Single-node deployment
The following single-node example is adapted from the GLM-5.2 tutorial and is provided as a reference configuration.Multi-node deployment
For co-located (mixed) serving across two Atlas 800I A3 nodes, both nodes participate in a single GLM-5.3 inference instance. The following script is adapted from the supplied GLM-5.3 W8A8 multi-node configuration, using TP=32, DP=16, DeepEPauto, and NEXTN speculative decoding.
Modify the node IP addresses, model/source paths, and network interface, then run the same script on both nodes.
The two nodes must use the same compatible runtime and be able to communicate with rank 0 via the distributed
initialization address. In this script, the mixed-serving HTTP port is 6688 (not 8000).
Prefill-decode disaggregation deployment
PD disaggregation splits the prefill and decode stages onto separate node groups, reducing interference between long-prompt processing and autoregressive generation. This configuration uses four Atlas 800I A3 nodes:- Prefill group: 2 nodes,
TP=8,PP=4,DP=1, and prefill context parallelismCP=8. It runs DeepEP innormalmode and disables NPU graph capture. - Decode group: 2 nodes,
TP=32,DP=32,EP=32. It runs DeepEP inlow_latencymode with decode graph capture and NEXTN speculative decoding.
The prefill and decode groups use separate
--dist-init-addr endpoints. The ASCEND_MF_STORE_URL must point to the
prefill rank-0 node. The --max-prefill-tokens 180000 and --context-length 180000 settings describe this example
configuration, not the model’s maximum supported context. For troubleshooting, turn off optional overlap or
multi-stream settings one at a time to isolate compatibility issues.Functional verification
After the service is started, invoke the model by sending a prompt. For PD disaggregation, use the router address and port6688; for single-node co-located serving, use port 8000, and for the two-node mixed deployment, use port 6688.
The server is fired up and ready to roll! in the logs, it is ready to accept requests. For
additional testing examples (Health Check, Generate, Chat Completions, and port usage),
see Testing the Service.
Accuracy evaluation
For accuracy evaluation methods and datasets, see Accuracy Evaluation on Ascend NPU.Performance
For performance data and benchmark commands, see Performance Testing on Ascend NPU.Best practices
Best practice configuration reference
GLM-5.3 does not have a validated standalone best-practice page in this tutorial. The Online service deployment section above includes a four-node PD disaggregation configuration and a two-node mixed deployment configuration based on supplied GLM-5.3 scripts. The single-node co-located example remains a GLM-5.2-derived reference. The configurations have not been independently verified on hardware. The two-node mixed example usesTP=32, DP=16, HCCL_BUFFSIZE=2000, and --cuda-graph-bs-decode 2.
Disable profiling when measuring uninstrumented service performance.
For this PD disaggregation configuration, prefill prioritizes long sequences using pipeline/context parallelism and
DeepEP normal, while decode prioritizes low latency using DP/EP, DeepEP low_latency, NPU multi-stream,
and NEXTN. Tune --mem-fraction-static, graph capture batch sizes, and concurrency based on observed HBM usage,
TTFT, TPOT, and request throughput. Check that the weight conversion and MTP settings are compatible.
For the full catalog of optimization features and their parameter and compatibility details,
see Optimization on Ascend NPU.
