---
title: GLM-5.3-Flash-w4a8
canonical_url: "https://www.modelscope.cn/models/macdoor/GLM-5.3-Flash-w4a8"
md_url: "https://www.modelscope.cn/models/macdoor/GLM-5.3-Flash-w4a8.md"
repository: macdoor/GLM-5.3-Flash-w4a8
last_updated: 2026-09-28
license: mit
model_type:
  - glm5_next
architectures:
  - Glm5NextForConditionalGeneration
base_model:
  - ZhipuAI/GLM-5.3-Flash
base_model_relation: quantized
parameters: 167.9B
tensor_type:
  - F32
  - I8
  - BF16
library_name:
  - safetensors
downloads: 386
stars: 17
tags:
  - glm5
  - w4a8
  - quantization
  - msModelSlim
  - ascend
  - vllm-ascend
---

# GLM-5.3-Flash-w4a8

> GLM-5.3-Flash-w4a8 - macdoor 在 ModelScope 开源的模型。基于 ZhipuAI/GLM-5.3-Flash 的 W4A8 离线量化版本，使用华为 msModelSlim 量化，面向 昇腾（Ascend）910B 系列 NPU + vLLM-Ascend 推理。已在 4×910B2 上实测加载并通过对话冒烟测试。

macdoor/GLM-5.3-Flash-w4a8 是 ModelScope 魔搭社区上的 167.9B 参数机器学习模型，采用 mit 许可，基于 ZhipuAI/GLM-5.3-Flash 构建。

- **Repository**: macdoor/GLM-5.3-Flash-w4a8
- **License**: mit
- **Parameters**: 167.9B
- **Base model**: ZhipuAI/GLM-5.3-Flash
- **Tags**: glm5, w4a8, quantization, msModelSlim, ascend, vllm-ascend
- **Downloads**: 386
- **Stars**: 17
- **Last updated**: 2026-09-28

Source: https://www.modelscope.cn/models/macdoor/GLM-5.3-Flash-w4a8

---

# GLM-5.3-Flash-w4a8

基于 [ZhipuAI/GLM-5.3-Flash](https://modelscope.cn/models/ZhipuAI/GLM-5.3-Flash) 的 **W4A8 离线量化版本**，使用华为 msModelSlim 量化，面向 **昇腾（Ascend）910B 系列 NPU + vLLM-Ascend** 推理。已在 4×910B2 上实测加载并通过对话冒烟测试。

> **本仓库的整个产出过程——量化、镜像制作、部署验证、文件上传——全程由 [Hermes Agent](https://github.com/NousResearch/hermes-agent) 配合完成**，手工操作繁琐且易错。复现时同样建议使用 agent 工具读取本文及 [QUANTIZATION.md](QUANTIZATION.md)、[BUILD_IMAGE.md](BUILD_IMAGE.md) 后按步骤操作，而不是手工逐条执行。

| | |
|---|---|
| 基座模型 | GLM-5.3-Flash（320B total / 18B active，原生多模态） |
| 量化产物 | ~169 GB，47 个 safetensors 分片 + 权重索引 |
| 量化工具 | msmodelslim（`quant_model_description.json` 随仓库提供） |
| 推理框架 | vLLM-Ascend（`--quantization ascend`） |
| 许可证 | MIT（同基座） |

## 量化方案

完整量化过程（msModelSlim 配方、命令、耗时、产物核对）见 **[QUANTIZATION.md](QUANTIZATION.md)**。摘要如下。

配方即仓库内的 `GLM-5.3-Flash_best_practice.yaml`，流程：QuaRot 旋转 → FlexSmoothQuant → 分层线性量化，校准集 `mix_calib.jsonl`，激活全部 per-token int8 对称 minmax。

| 模块 | 权重 | 激活 |
|---|---|---|
| routed experts（MoE 专家） | **int4** per-channel（ssz，先 smooth） | int8 |
| dense MLP / shared experts | int8 per-channel minmax | int8 |
| attention / KDA / conv1d | 不量化（BF16） | BF16 |
| `mlp.gate` / embed / lm_head | 不量化（BF16） | — |

保存格式 `ascendv1_saver`（单分片 4 GB）。

## 文件说明

- `quant_model_weights-000XX-of-00047.safetensors` — 量化权重，47 片
- `quant_model_weights.safetensors.index.json` — 分片索引（vLLM 按它定位张量）
- `quant_model_description.json` — msModelSlim 量化描述文件（逐层量化类型），**必须与权重同目录**
- `rot.safetensors`、`optional/quarot.safetensors` — QuaRot 旋转矩阵
- `config.json`、`tokenizer.json`、`chat_template.jinja` 等 — 原模型配置
- `vllm-ascend-nightly-0928-pr16936-17542-17012.zst` — 预构建运行镜像（约 6 GB，解压后 21 GB），制作过程见 [BUILD_IMAGE.md](BUILD_IMAGE.md)

## 配套文档

- **[QUANTIZATION.md](QUANTIZATION.md)** — 本仓库 W4A8 权重的完整量化过程：量化镜像制作、msModelSlim 配方、量化命令、耗时参考、产物核对清单
- **[BUILD_IMAGE.md](BUILD_IMAGE.md)** — 运行镜像的制作过程：nightly 底座 + 三个 PR 薄补丁（GLM-5.3 MRV2 / Triton KPool / KDA 融合），以及完整启动命令与参数说明

## 快速开始

### 1. 下载

```bash
pip install modelscope
modelscope download --model macdoor/GLM-5.3-Flash-w4a8 --local_dir ./GLM-5.3-Flash-w4a8
```

约 169 GB，请确认磁盘空间；中断后重跑同一命令可续传。

### 2. 环境要求

- **硬件**：昇腾 910B2（64 GB HBM）× 4 起步（下述实测配置为 4 卡）
- **镜像：请使用本仓库提供的自制预构建镜像** `vllm-ascend-nightly-0928-pr16936-17542-17012.zst`（内置 GLM-5.3 MRV2、Triton KPool、MTP 支持，可开推测解码），制作过程与原理见 [BUILD_IMAGE.md](BUILD_IMAGE.md)
- **不要使用** 官方基于vLLM 0.23 的 `quay.io/ascend/vllm-ascend:glm-5.3-flash` 镜像——MTP支持差，速度慢

### 3. 启动（4×910B2，实测命令，与 BUILD_IMAGE.md 一致）

```bash
docker run -d --name glm53-w4a8-mtp \
  --network host \
  --shm-size=512g \
  --device /dev/davinci4 \
  --device /dev/davinci5 \
  --device /dev/davinci6 \
  --device /dev/davinci7 \
  --device /dev/davinci_manager \
  --device /dev/devmm_svm \
  --device /dev/hisi_hdc \
  -v /usr/local/dcmi:/usr/local/dcmi \
  -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \
  -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
  -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
  -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
  -v /etc/ascend_install.info:/etc/ascend_install.info \
  -v /data:/data \
  -e HCCL_OP_EXPANSION_MODE=AIV \
  -e VLLM_USE_V2_MODEL_RUNNER=1 \
  -e LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so.2 \
  -e ASCEND_RT_VISIBLE_DEVICES=0,1,2,3 \
  -e PYTORCH_NPU_ALLOC_CONF=expandable_segments:True \
  -e HCCL_BUFFSIZE=1024 \
  -e TASK_QUEUE_ENABLE=1 \
  -e OMP_NUM_THREADS=1 \
  localhost/vllm-ascend:nightly-0928-pr16936-17542-17012 \
  vllm serve /data/models/GLM-5.3-Flash-w4a8 \
    --quantization ascend \
    --host 0.0.0.0 \
    --port 7800 \
    --served-model-name glm-5.3-flash-w4a8 \
    --max-model-len 262144 \
    --data-parallel-size 1 \
    --tensor-parallel-size 4 \
    --enable-expert-parallel \
    --seed 1024 \
    --safetensors-load-strategy prefetch \
    --max-num-seqs 8 \
    --max-num-batched-tokens 16384 \
    --trust-remote-code \
    --tool-call-parser glm47 \
    --reasoning-parser glm45 \
    --enable-auto-tool-choice \
    --limit-mm-per-prompt '{"image": 1, "video": 0}' \
    --gpu-memory-utilization 0.95 \
    --speculative-config '{"num_speculative_tokens":3,"method":"mtp","enforce_eager":true}' \
    --compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY", "cudagraph_capture_sizes": [4,8,16,32]}' \
    --default-chat-template-kwargs '{"reasoning_effort": "low", "clear_thinking": true}' \
    --api-server-count 1 \
    --enable-prompt-tokens-details
```

把 `/data/models/GLM-5.3-Flash-w4a8` 换成你的下载目录；`davinci4–7` 换成你的空闲卡号。

参数说明（详见 [BUILD_IMAGE.md](BUILD_IMAGE.md) 第 5 节）：

- `enforce_eager: true` 在 `--speculative-config` 里**只作用于 draft**，主模型仍走 `FULL_DECODE_ONLY` 图

### 4. 验证

```bash
# 就绪探测（返回 200 即服务就绪，权重加载约 1.5~2 分钟）
curl -s -m 3 -o /dev/null -w '%{http_code}\n' http://127.0.0.1:7800/health

# 对话冒烟
curl -s http://127.0.0.1:7800/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "glm-5.3-flash-w4a8",
    "messages": [{"role": "user", "content": "用一句话回答：1+1等于几？"}],
    "max_tokens": 256,
    "temperature": 0
  }'
```

期望返回正文 `1+1等于2。`、`finish_reason=stop`。

## 实测环境与数据

以下为同一份产物、同一台 4×910B2 机器的两次实测：

**官方未打补丁 nightly-0916（仅加载验证，无 MTP）：**

| | |
|---|---|
| 主机 | Kunpeng 920（aarch64，192 核） |
| 内存 | 2 TB DDR（无 swap） |
| NPU | 8×910B2（本次用 4 卡，vLLM 可见每卡 60.96 GiB HBM） |
| 系统 | BCLinux 22.10 LTS（openEuler 系），容器内 Ubuntu 22.04 |
| 权重加载 | 48 个分片 86.3 秒，无 KeyError |
| KV cache | 15.27 GiB ≈ 1,215,901 tokens（262144 上下文） |

**自制预构建镜像（0928 + 三个 PR，即推荐配置，见 [BUILD_IMAGE.md](BUILD_IMAGE.md)）：** 同产物 4 卡 KV cache 12.77 GiB ≈ 519,990 tokens，262144 上下文最大并发 1.98×；开启 MTP 推测解码（k=3）后 draft 接受率约 84%。

## 已知事项

- 启动日志可能出现 `causal_conv1d_update_npu 导入失败，回退 PyTorch`，不阻塞启动，可忽略。
- `--max-model-len` 可按需调低以省 KV 显存；`--gpu-memory-utilization 0.98` 这类激进值容易在 prefill 阶段 OOM。
- TP8（8×910B2 一机拉满）理论上可行，本产物实测验证的是 TP4 配置。

## 下载（Git 方式，可选）

```bash
git lfs install
git clone https://www.modelscope.cn/macdoor/GLM-5.3-Flash-w4a8.git
```

## 致谢

- 原始权重：[ZhipuAI/GLM-5.3-Flash](https://modelscope.cn/models/ZhipuAI/GLM-5.3-Flash)（zai-org）
- 量化工具：msModelSlim（Ascend）

---

**上传者**：macdoor · **量化时间**：2026-09 · **版本**：w4a8（weights int4 / activations int8）
