Atomgit-Ascend/GLM-5.3-Flash-W8A8
模型介绍
文件和版本
Pull Requests
讨论
分析

GLM-5.3-Flash-W8A8

本仓库提供 GLM-5.3-Flash 的昇腾 W8A8 量化权重,面向 Atlas A2/A3 推理部署。

GLM-5.3-Flash 是 GLM-5 系列的原生多模态 MoE 模型,包含约 320B 总参数、18B 激活参数。模型采用稀疏注意力与线性注意力混合架构,并支持文本和图像输入。更多模型信息请参考 GLM-5.3-Flash 官方介绍及 GLM-5 技术报告。

模型信息

项目说明
架构Glm5NextForConditionalGeneration
总参数 / 激活参数约 320B / 18B
隐藏层45 层 + 1 层 MTP
专家配置288 个路由专家,每 token 激活 8 个专家
上下文配置上限1,048,576 tokens
量化格式W8A8_DYNAMIC
权重量化INT8、per-channel、symmetric
激活量化Attention 部分 per-tensor;MoE/MLP 部分 per-token dynamic INT8
权重格式Ascend ModelSlim ascendv1,62 个 safetensors 分片
模型体积约 307 GiB(329,067,281,272 bytes)
推理框架vLLM-Ascend / SGLang(需使用支持 GLM-5.3 的版本)
目标硬件Atlas A2 / Atlas A3

config.json 中的 1M 上下文是模型配置上限,不代表所有硬件组合均可直接运行 1M。实际可用长度取决于 NPU 数量、KV Cache、推理框架版本及并发设置,请从较小的 --max-model-len 开始验证。

量化说明

权重使用 ModelSlim 完成 W8A8 量化:

  • Attention 线性层:激活采用 INT8 per-tensor 非对称量化,权重采用 INT8 per-channel 对称量化。
  • MoE/MLP 线性层:激活采用 INT8 per-token 动态对称量化,权重采用 INT8 per-channel 对称量化。
  • Embedding、LM Head、归一化层和视觉编码器等不适合量化的部分保留浮点格式。
  • quant_model_description.json 保存逐 tensor 的量化类型描述。
  • GLM-5_best_practice.yaml 保存 ModelSlim 量化配置,便于审计和复现。

文件结构

GLM-5.3-Flash-W8A8/
├── config.json
├── generation_config.json
├── tokenizer.json
├── tokenizer_config.json
├── chat_template.jinja
├── processor_config.json
├── quant_model_description.json
├── quant_model_weights.safetensors.index.json
├── quant_model_weights-00001-of-00062.safetensors
├── ...
├── quant_model_weights-00062-of-00062.safetensors
├── GLM-5_best_practice.yaml
└── conversion_manifest.json

conversion_manifest.json 记录本次转换结果:62 个源分片、113,446 个输出 tensor,总权重字节数为 329,067,281,272。

下载

权重文件由 Git LFS 管理,请先安装 Git LFS:

git lfs install
git clone https://atomgit.com/atomgit-ascend/GLM-5.3-Flash-W8A8.git
cd GLM-5.3-Flash-W8A8
git lfs pull

下载完成后可检查分片数量:

test "$(find . -maxdepth 1 -name 'quant_model_weights-*.safetensors' | wc -l)" -eq 62
test -s quant_model_weights.safetensors.index.json
test -s quant_model_description.json

vLLM-Ascend 部署示例

以下示例适用于单机 8 卡 Atlas A2。请使用已明确支持 GLM-5.3、Ascend W8A8 和当前 CANN/驱动版本的 vLLM-Ascend 镜像。

vllm serve /path/to/GLM-5.3-Flash-W8A8 \
  --host 0.0.0.0 \
  --port 8000 \
  --served-model-name GLM-5.3-Flash-W8A8 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --quantization ascend \
  --trust-remote-code \
  --max-model-len 110000 \
  --max-num-batched-tokens 2048 \
  --max-num-seqs 16 \
  --gpu-memory-utilization 0.95 \
  --enable-prefix-caching \
  --enable-chunked-prefill \
  --chat-template ./chat_template.jinja

Atlas A3 可根据机器拓扑调整 TP/EP 参数,例如单机 16 NPU 使用 --tensor-parallel-size 16。不同 vLLM-Ascend 版本对图模式、MTP、长上下文和多模态的支持存在差异,请以所用版本的 GLM-5 部署文档为准。

服务启动后可验证:

curl http://127.0.0.1:8000/v1/models

curl http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "GLM-5.3-Flash-W8A8",
    "messages": [{"role": "user", "content": "你好,请介绍一下你自己。"}],
    "temperature": 0.7,
    "max_tokens": 256
  }'

使用建议

  • 首次部署先使用短上下文、单并发完成正确性验证,再逐步增加长度和并发。
  • 长上下文建议开启 prefix caching 与 chunked prefill,并根据 KV Cache 容量调整 max-model-len、max-num-seqs 和 max-num-batched-tokens。
  • 模型体积较大,建议至少预留 350 GiB 磁盘空间,并在下载后确认全部 62 个分片存在。
  • 若出现权重名称或量化描述不匹配,请优先确认 vLLM-Ascend、Transformers、CANN 与镜像版本是否支持 GLM-5.3。

License

模型权重及相关文件遵循仓库中的 MIT License。原始模型的使用还应遵循其发布方适用的条款。

Citation

@misc{glm5team2026glm5vibecodingagentic,
  title={GLM-5: from Vibe Coding to Agentic Engineering},
  author={GLM-5-Team},
  year={2026},
  eprint={2602.15763},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2602.15763}
}