vLLM Ascend/GLM-5-w4a8
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

GLM-5-w4a8

1. 基本信息

项目信息
原始模型名GLM-5
原始模型链接https://huggingface.co/zai-org/GLM-5
测试机型Atlas 800I A3 1台
版本vllm-ascend:GLM5

Ubuntu镜像: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:main-a3-nightly

OpenEuler: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:main-a3-openeuler-nightly

2 模型推理指导:

介绍

GLM-5 采用混合专家(MoE)架构,主要面向复杂系统工程和长周期智能体任务。

本文档将展示该模型的主要验证步骤,包括支持特性、特性配置、环境准备、单节点与多节点部署、精度评估及性能评估。

支持特性

请参阅 支持特性 获取模型支持的特性矩阵。

请参阅 特性指南 获取特性配置说明。

环境准备

模型权重

  • GLM-5-w4a8:下载模型权重
  • 可使用 msmodelslim 对模型进行基础量化。

建议将模型权重下载至多节点共享目录,例如 /root/.cache/。

安装

  • 使用start_docker.sh运行容器:
IMAGES_ID=$1
NAME=$2
if [ $# -ne 2 ]; then
    echo "error: need one argument describing your container name."
    exit 1
fi
docker run --name ${NAME} -it -d --net=host --shm-size=500g \
    --privileged=true \
    -w /home \
    --device=/dev/davinci_manager \
    --device=/dev/hisi_hdc \
    --device=/dev/devmm_svm \
    --entrypoint=bash \
    -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
    -v /usr/local/dcmi:/usr/local/dcmi \
    -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
    -v /etc/ascend_install.info:/etc/ascend_install.info \
    -v /usr/local/sbin:/usr/local/sbin \
    -v /home:/home \
    -v /mnt:/mnt \
    -v /tmp:/tmp \
    -v /etc/hccn.conf:/etc/hccn.conf \
    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
    -e http_proxy=$http_proxy \
    -e https_proxy=$https_proxy \
    ${IMAGES_ID}
  • 创建容器命令:
bash start_docker.sh <image id> <container name>

注意镜像里transformer版本是4.57.6 需要手动更新至5.2.0,否则服务拉起会报错!!!

# 重新安装 transformers
pip3 install transformers==5.2.0

推理服务部署

A3 系列

glm-5-w4a8 单机混部脚本run.sh,启动脚本内容如下(仅需修改模型路径):

export HCCL_OP_EXPANSION_MODE="AIV"
export OMP_PROC_BIND=false
export OMP_NUM_THREADS=10
export VLLM_USE_V1=1
export HCCL_BUFFSIZE=300
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export VLLM_ASCEND_BALANCE_SCHEDULING=1

vllm serve /mnt/share/weights/GLM-5-w4a8-new \
--host 0.0.0.0 \
--port 8004 \
--data-parallel-size 1 \
--tensor-parallel-size 16 \
--enable-expert-parallel \
--seed 1024 \
--served-model-name glm-5 \
--max-num-seqs 500 \
--max-model-len 132000 \
--max-num-batched-tokens 4096 \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser glm47 \
--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"}'

拉起服务:

bash run.sh