ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GLM-5-w4a8 量化模型在 Atlas 800T A3 上的 vLLM-ascend 部署与推理实战指南

GLM-5-w4a8 量化模型在 Atlas 800T A3 上的 vLLM-ascend 部署与推理实战指南 【免费下载链接】GLM-5-w4a8GLM-5-w4a8基于混合专家架构专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署适配Atlas 800T A3采用w4a8量化技术结合vLLM推理优化高效平衡性能与精度助力智能应用开发项目地址https://ai.gitcode.com/atomgit-ascend/GLM-5-w4a8点击查看免费下载GLM-5 采用混合专家MoE架构面向复杂系统工程与长周期智能体任务设计。本文以 Atomgit-Ascend / GLM-5-w4a8 仓库的官方验证文档README.md为核心骨架完整还原其在昇腾 Atlas 800T A3 上从环境准备、单节点/多节点部署到精度与性能评估的完整流程。读完本文你将掌握 w4a8 量化 GLM-5 的vllm serve启动参数含义、数据并行DP 张量并行TP的多节点配置方法以及基于 AISBench 的精度与性能评估入口并能够结合仓库中的模型配置理解这些部署参数背后的架构依据。1. 模型与仓库概览1.1 基本信息官方验证文档给出了以下关键信息项目信息原始模型名GLM-5测试机型Atlas 800T A3 1 台版本vllm-ascend:GLM5链接quay.m.daocloud.io/ascend/vllm-ascend:GLM5GLM-5 采用混合专家MoE架构主要面向复杂系统工程和长周期智能体任务。本文档展示该模型的主要验证步骤包括支持特性、特性配置、环境准备、单节点与多节点部署、精度评估及性能评估。1.2 当前仓库构成当前仓库即GLM-5-w4a8无 MTP 的 w4a8 量化版本的权重仓库主要包含权重文件99 个 safetensors 分片quant_model_weights-00001-of-00099.safetensors至quant_model_weights-00099-of-00099.safetensors以及分片索引 quant_model_weights.safetensors.index.json模型配置config.json模型结构、configuration.json框架与任务类型为 Pytorch / text-generation量化说明quant_model_description.json分词器tokenizer.json 与 tokenizer_config.json对话模板chat_template.jinja生成配置generation_config.json。1.3 从 config.json 理解模型结构部署参数的选择与模型结构强相关。从 config.json 可以提取出 GLM-5 的 MoE 与注意力架构关键参数参数值含义model_typeglm_moe_dsa模型类型MoE DSA 索引结构architecturesGlmMoeDsaForCausalLM架构类名num_hidden_layers78隐藏层数hidden_size6144隐藏维度n_routed_experts256路由专家数量n_shared_experts1共享专家数量num_experts_per_tok8每个 token 激活的专家数moe_intermediate_size2048MoE 前馈中间维度first_k_dense_replace3前 3 层为稠密层topk_method / scoring_funcnoaux_tc / sigmoid专家选择与打分方式routed_scaling_factor2.5路由缩放因子num_attention_heads / head_dim64 / 64注意力头数及每头维度qk_head_dim / qk_nope_head_dim / qk_rope_head_dim256 / 192 / 64注意力头维度拆分q_lora_rank / kv_lora_rank2048 / 512MLA 风格低秩注意力参数index_head_dim / index_n_heads / index_topk128 / 32 / 2048索引器indexer结构参数max_position_embeddings202752最大序列长度vocab_size154880词表大小dtypebfloat16原始权重精度num_nextn_predict_layers1next-token 预测MTP层数几点值得注意MoE 规模巨大78 层中几乎每层都启用 MoEmoe_layer_freq: 1路由专家达 256 个、每 token 激活 8 个这使得模型参数量远超稠密模型也是单机必须依赖 w4a8 量化才能以 16 卡 TP 部署的直接原因。注意力结构复杂q_lora_rank、kv_lora_rank以及qk_head_dim的三段拆分表明其采用 MLAMulti-head Latent Attention风格设计KV 缓存占用相对可控。与投机解码呼应num_nextn_predict_layers: 1表明基础模型保留了 next-token 预测MTP能力与部署命令中的--speculative-config {method: deepseek_mtp}配置相互印证。此外tokenizer_config.json 显示分词器采用[gMASK]sop开头、|system|/|user|/|assistant|/|observation|分段并支持图片、视频、音频等多模态标记chat_template.jinja 内置了 XML 格式的tool_call工具调用模板与think思维链输出逻辑契合长周期智能体任务的定位。generation_config.json 的默认采样参数为 temperature1.0、top_p0.95。2. 支持特性GLM-5 在 vLLM-ascend 上的支持情况如下支持特性矩阵可参考 vLLM-Ascend 官方文档 support_matrix 页面supported_models查看模型支持的特性矩阵特性配置说明可参考 vLLM-Ascend 官方文档 support_matrix 页面supported_features获取特性配置说明。vLLM 与 vLLM-ascend 仅在主分支支持 GLM-5这一点在后续安装环节需要特别留意。3. 环境准备3.1 模型权重部署前需要准备以下权重之一GLM-5BF16 版本GLM-5-w4a8无 mtp 的量化版本即当前仓库如需自行量化可使用 msmodelslim 工具对模型进行基础量化。建议将模型权重下载至多节点共享目录例如/root/.cache/以保证各节点访问同一份权重。3.2 基于 Docker 镜像安装vLLM 与 vLLM-ascend 仅在主分支支持 GLM-5推荐直接使用官方 Docker 镜像并在容器内升级 vLLM 与 vLLM-ascend 后推理。启动容器的完整命令如下# 根据您的设备更新 --deviceAtlas A3/dev/davinci[0-15]。 # 根据您的环境更新 vllm-ascend 镜像。 # 注意您需要提前将权重下载至 /root/.cache。 # 更新 vllm-ascend 镜像glm5-a3 可替换为glm5;glm5-openeuler;glm5-a3-openeuler export IMAGEm.daocloud.io/quay.io/ascend/vllm-ascend:glm5-a3 export NAMEvllm-ascend # 使用定义的变量运行容器 # 注意若使用 Docker 桥接网络请提前开放可供多节点通信的端口 docker run --rm \ --name $NAME \ --nethost \ --shm-size1g \ --device /dev/davinci0 \ --device /dev/davinci1 \ --device /dev/davinci2 \ --device /dev/davinci3 \ --device /dev/davinci4 \ --device /dev/davinci5 \ --device /dev/davinci6 \ --device /dev/davinci7 \ --device /dev/davinci8 \ --device /dev/davinci9 \ --device /dev/davinci10 \ --device /dev/davinci11 \ --device /dev/davinci12 \ --device /dev/davinci13 \ --device /dev/davinci14 \ --device /dev/davinci15 \ --device /dev/davinci_manager \ --device /dev/devmm_svm \ --device /dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -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 /etc/ascend_install.info:/etc/ascend_install.info \ -v /root/.cache:/root/.cache \ -it $IMAGE bash要点说明Atlas A3 机型共暴露 16 个计算设备/dev/davinci0~/dev/davinci15同时还需挂载davinci_manager、devmm_svm、hisi_hdc等管理/调试设备--nethost使用宿主机网络便于多节点部署时直接复用节点 IP 通信若改用 Docker 桥接网络需提前开放可供多节点通信的端口镜像标签glm5-a3可替换为glm5、glm5-openeuler、glm5-a3-openeuler等变体按自身环境选择通过-v /root/.cache:/root/.cache将权重目录挂载进容器与前述共享目录建议一致。3.3 从源码构建若不想使用上述 Docker 镜像也可从源码完整构建。vLLM-ascend 的源码安装可参考官方安装指南。要对GLM-5进行推理需要将 vllm、vllm-ascend、transformers 全部升级至主分支含指定 commit# 升级 vllm git clone https://github.com/vllm-project/vllm.git cd vllm git checkout 978a37c82387ce4a40aaadddcdbaf4a06fc4d590 VLLM_TARGET_DEVICEempty pip install -v . # 升级 vllm-ascend git clone https://github.com/vllm-project/vllm-ascend.git cd vllm-ascend git checkout ff3a50d011dcbea08f87ebed69ff1bf156dbb01e git submodule update --init --recursive pip install -v . # 重新安装 transformers pip install githttps://github.com/huggingface/transformers.git需要特别说明vLLM-ascend 安装时git submodule update --init --recursive是必做步骤VLLM_TARGET_DEVICEempty用于在无 GPU 设备的环境下仅编译 Python 侧组件。如需部署多节点环境需要在每个节点上分别完成上述环境配置。4. 单节点部署A3 系列4.1 适用说明A2 系列尚未测试A3 系列量化模型glm-5-w4a8可部署于**单台 Atlas 800 A3128G × 8**上。4.2 启动脚本在容器内执行以下脚本进行在线推理export HCCL_OP_EXPANSION_MODEAIV export OMP_PROC_BINDfalse export OMP_NUM_THREADS10 export VLLM_USE_V11 export HCCL_BUFFSIZE200 export PYTORCH_NPU_ALLOC_CONFexpandable_segments:True export VLLM_ASCEND_BALANCE_SCHEDULING1 vllm serve /root/.cache/modelscope/hub/models/vllm-ascend/GLM5-w4a8 \ --host 0.0.0.0 \ --port 8077 \ --data-parallel-size 1 \ --tensor-parallel-size 16 \ --enable-expert-parallel \ --seed 1024 \ --served-model-name glm-5 \ --max-num-seqs 8 \ --max-model-len 66600 \ --max-num-batched-tokens 4096 \ --trust-remote-code \ --gpu-memory-utilization 0.95 \ --quantization ascend \ --enable-chunked-prefill \ --enable-prefix-caching \ --async-scheduling \ --additional-config {multistream_overlap_shared_expert:true} \ --compilation-config {cudagraph_mode: FULL_DECODE_ONLY} \ --speculative-config {num_speculative_tokens: 3, method: deepseek_mtp}4.3 关键参数说明参数值说明--host/--port0.0.0.0 / 8077服务监听地址与端口--data-parallel-size1数据并行度单节点为 1--tensor-parallel-size16张量并行度对应 16 个 davinci 设备--enable-expert-parallel-启用专家并行将 MoE 专家切分到不同设备--max-num-seqs8最大并发序列数batch 上限--max-model-len66600最大模型上下文长度--max-num-batched-tokens4096单批次最大 token 数--gpu-memory-utilization0.95单卡显存利用率上限--quantization ascend-使用昇腾原生 w4a8 量化推理--enable-chunked-prefill-启用分块预填充降低首 token 延迟与显存峰值--enable-prefix-caching-启用前缀缓存复用公共前缀 KV--async-scheduling-异步调度非阻塞任务调度以提升并发与吞吐--additional-config{multistream_overlap_shared_expert:true}多流叠加共享专家提升解码并行度--compilation-config{cudagraph_mode: FULL_DECODE_ONLY}仅对解码阶段启用图模式编译--speculative-config{num_speculative_tokens: 3, method: deepseek_mtp}使用 MTP 投机解码一次预测 3 个 token环境变量说明HCCL_OP_EXPANSION_MODEAIV设置 HCCL 算子扩展模式为 AIV适配昇腾集合通信实现VLLM_USE_V11显式启用 vLLM V1 执行器GLM-5 仅主分支支持需 V1 架构HCCL_BUFFSIZE200HCCL 通信缓冲大小MB影响大规模 TP/EP 通信效率PYTORCH_NPU_ALLOC_CONFexpandable_segments:True启用可扩展内存段分配降低显存碎片VLLM_ASCEND_BALANCE_SCHEDULING1开启 vLLM-ascend 的负载均衡调度OMP_PROC_BINDfalse、OMP_NUM_THREADS10控制 CPU 线程绑定与线程数避免与 NPU 通信争抢。4.4 注意事项对于单节点部署低延迟场景下推荐使用dp1tp16并关闭专家并行即数据并行度 1、张量并行度 16--async-scheduling异步调度是一种优化推理效率的技术允许非阻塞的任务调度以提高并发性和吞吐量尤其在处理大规模模型时效果明显。5. 多节点部署A3 系列5.1 适用说明A2 系列尚未测试A3 系列glm-5-bf16至少需要 2 台 Atlas 800 A3128G × 8——BF16 版本因权重显存占用更大单台 8 卡16 设备无法装下必须借助数据并行跨节点扩展。多节点方案采用「节点内 TP16 节点间 DP2」的组合每个节点独立承担完整的张量并行切分两个节点通过数据并行将不同的请求批次分发到两份模型副本上从而在单机显存不足以承载完整模型时依然可服务。注意 BF16 版本需要在两个节点上分别执行启动脚本且都要先按 3.2/3.3 完成环境配置。5.2 节点 0主节点# 通过 ifconfig 获取本机信息 # nic_name 为当前节点 local_ip 对应的网卡接口名称 nic_namexxx local_ipxxx # node0_ip 的值必须与节点0主节点中设置的 local_ip 一致 node0_ipxxxx export HCCL_OP_EXPANSION_MODEAIV export HCCL_IF_IP$local_ip export GLOO_SOCKET_IFNAME$nic_name export TP_SOCKET_IFNAME$nic_name export HCCL_SOCKET_IFNAME$nic_name export OMP_PROC_BINDfalse export OMP_NUM_THREADS10 export VLLM_USE_V11 export HCCL_BUFFSIZE200 export PYTORCH_NPU_ALLOC_CONFexpandable_segments:True vllm serve /root/.cache/modelscope/hub/models/vllm-ascend/GLM5-bf16 \ --host 0.0.0.0 \ --port 8077 \ --data-parallel-size 2 \ --data-parallel-size-local 1 \ --data-parallel-address $node0_ip \ --data-parallel-rpc-port 12890 \ --tensor-parallel-size 16 \ --seed 1024 \ --served-model-name glm-5 \ --enable-expert-parallel \ --max-num-seqs 16 \ --max-model-len 8192 \ --max-num-batched-tokens 4096 \ --trust-remote-code \ --no-enable-prefix-caching \ --gpu-memory-utilization 0.95 \ --compilation-config {cudagraph_mode: FULL_DECODE_ONLY} \ --speculative-config {num_speculative_tokens: 3, method: deepseek_mtp}5.3 节点 1从节点# 通过 ifconfig 获取本机信息 # nic_name 为当前节点 local_ip 对应的网卡接口名称 nic_namexxx local_ipxxx # node0_ip 的值必须与节点0主节点中设置的 local_ip 一致 node0_ipxxxx export HCCL_OP_EXPANSION_MODEAIV export HCCL_IF_IP$local_ip export GLOO_SOCKET_IFNAME$nic_name export TP_SOCKET_IFNAME$nic_name export HCCL_SOCKET_IFNAME$nic_name export OMP_PROC_BINDfalse export OMP_NUM_THREADS10 export VLLM_USE_V11 export HCCL_BUFFSIZE200 export PYTORCH_NPU_ALLOC_CONFexpandable_segments:True vllm serve /root/.cache/modelscope/hub/models/vllm-ascend/GLM5-bf16 \ --host 0.0.0.0 \ --port 8077 \ --headless \ --data-parallel-size 2 \ --data-parallel-size-local 1 \ --data-parallel-start-rank 1 \ --data-parallel-address $node0_ip \ --data-parallel-rpc-port 12890 \ --tensor-parallel-size 16 \ --seed 1024 \ --served-model-name glm-5 \ --enable-expert-parallel \ --max-num-seqs 16 \ --max-model-len 8192 \ --max-num-batched-tokens 4096 \ --trust-remote-code \ --no-enable-prefix-caching \ --gpu-memory-utilization 0.95 \ --compilation-config {cudagraph_mode: FULL_DECODE_ONLY} \ --speculative-config {num_speculative_tokens: 3, method: deepseek_mtp}5.4 两节点差异与网络配置要点配置项节点 0节点 1说明--headless无有从节点不对外提供 HTTP 服务仅参与数据并行--data-parallel-size22全局数据并行度两个节点--data-parallel-size-local11本节点内的数据并行度每节点一份模型副本--data-parallel-start-rank缺省01从节点 DP rank 从 1 开始--data-parallel-addressnode0_ipnode0_ip两端都必须指向主节点 IP--data-parallel-rpc-port1289012890数据并行 RPC 通信端口两端一致网络相关环境变量HCCL_IF_IP本机用于 HCCL 集合通信的 IP通过 ifconfig 确认须与网卡一致GLOO_SOCKET_IFNAME/TP_SOCKET_IFNAME/HCCL_SOCKET_IFNAMEGLOO、张量并行、HCCL 各自使用的网卡接口名统一指向local_ip对应的网卡node0_ip的值必须与节点 0主节点中设置的local_ip一致这是两节点正确组网的前提。与单节点配置相比多节点场景还做了两处调整--max-num-seqs提升到 16双副本合计并发能力更大并改用--no-enable-prefix-caching关闭前缀缓存跨 DP 副本的前缀缓存一致性成本更高。6. 精度评估精度评估提供两种方法文档中 AISBench 途径已有完整步骤另一途径标注为尚未测试。6.1 使用 AISBench详细步骤请参阅 vLLM-Ascend 官方文档 developer_guide 的「使用 AISBench 进行精度评估」章节按文档完成配置与执行后即可获得评估结果。6.2 使用 Language Model Evaluation Harness尚未测试。7. 性能评估7.1 使用 AISBench详细步骤请参阅 vLLM-Ascend 官方文档 developer_guide 的「使用 AISBench 进行性能评估」章节execute performance evaluation 一节可得到吞吐、首 token 延迟等核心性能指标。7.2 使用 vLLM 基准测试工具更多信息可参考 vLLM 官方文档的 benchmark 章节使用benchmark_throughput.py等脚本在已部署的 GLM-5 服务上做自定义负载压测。8. 部署要点小结单节点跑量化版glm-5-w4a8可在单台 Atlas 800 A3128G × 816 设备上以dp1tp16部署w4a8 量化--quantization ascend是显存达标的关键多节点跑 BF16 版glm-5-bf16至少需要 2 台 Atlas 800 A3采用节点内 TP16、节点间 DP2 的架构从节点必须带--headless与--data-parallel-start-rank 1主分支强依赖vLLM、vLLM-ascend、transformers 均需升级到支持 GLM-5 的主分支含 README 中指定的 commit并开启VLLM_USE_V11统一配置口径多节点部署中node0_ip、RPC 端口12890、网卡名nic_name三处必须在两端严格一致评估入口精度与性能评估均以 AISBench 为当前已验证的主路径评估细节以 vLLM-Ascend 官方文档为准当前仓库的定位本仓库即glm-5-w4a8量化权重的载体99 个 safetensors 分片 config.json tokenizer_config.json chat_template.jinja下载并放入共享目录/root/.cache/modelscope/hub/models/vllm-ascend/GLM5-w4a8后即可按第 4 节的命令直接启动服务。赞分享【免费下载链接】GLM-5-w4a8GLM-5-w4a8基于混合专家架构专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署适配Atlas 800T A3采用w4a8量化技术结合vLLM推理优化高效平衡性能与精度助力智能应用开发项目地址https://ai.gitcode.com/atomgit-ascend/GLM-5-w4a8点击查看免费下载相关推荐LMDeploy 昇腾Ascend快速上手在 Atlas 800T A2/A3 与 300I Duo 上运行 LLM/VLM 推理与部署LMDeploy 昇腾Ascend快速上手在 Atlas 800T A2/A3 与 300I Duo 上运行 LLM/VLM 推理与部署 本篇技术指南聚焦人工智能大模型模型推理服务推理引擎本地部署模型量化CANN cann-recipes-infer 实战Qwen2.5/Qwen3 Dense 模型在 Atlas A2/A3 NPU 上的 BF16 与 W8A8 推理部署CANN cann recipes infer 实战Qwen2.5/Qwen3 Dense 模型在 Atlas A2/A3 NPU 上的 BF16 与 W8A示例工程人工智能大模型模型推理服务模型优化模型量化CANNAscendcann-recipes-infer 实战GLM-5.2 在 Atlas A3 上的推理优化与共享 Indexer KV Cache Offload 指南cann recipes infer 实战GLM 5.2 在 Atlas A3 上的推理优化与共享 Indexer KV Cache Offload 指南 本示例工程人工智能大模型模型推理服务模型优化模型量化CANNAscend上一篇Kazumi追番神器打造你的个性化动漫资源库完全指南下一篇终极XCOM 2模组管理器AML启动器完整使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表