You need to enable JavaScript to run this app.
文档中心
GPU云服务器

GPU云服务器

复制全文
下载 pdf
GLM系列模型
GPU-部署GLM-5.3模型
复制全文
下载 pdf
GPU-部署GLM-5.3模型
本文以2台ecs.hpcpni3ln.45xlarge实例为例,介绍如何在GPU云服务器上部署GLM-5.3模型。​
背景信息​
GLM-5.3是面向长上下文、代码生成、复杂推理Agent场景的开源MoE大模型,采用FP8精度权重,在保持模型能力的同时降低了推理显存占用,更适合高性能部署与本地化推理场景。本文使用SGLang框架完成模型部署。​
软件要求​
  • NVIDIA驱动:​
  • GPU驱动:用于驱动NVIDIA GPU的程序,本文以535.261.03为例。​
  • 运行环境:​
  • SGLang框架:SGLang框架是一款专为大语言模型(LLMs)及视觉语言模型打造的高性能服务框架,通过协同设计前端结构化生成语言与后端运行时系统,实现与模型的高效交互,并保障了生成过程的可控性。本文使用火山引擎提供的SGLang容器镜像进行操作演示。​
操作步骤​
步骤一:准备环境​
  1. 创建GPU计算型实例。​
  • ​
    配置项​
    推荐配置​
    基础配置​
    ​
    计算规格​
    ecs.hpcpni3ln.45xlarge​
    说明​
    ecs.hpcpni3ln.45xlarge规格实例正在邀测中,如需试用,请提交工单或联系客户经理申请。​
    镜像​
    ​
    Ubuntu 22.04 ,并勾选“后台自动安装GPU驱动”安装535.261.03版本GPU驱动。​
    ​​​
    说明​
    若您选用其他发行版本的镜像,需在创建实例后自行安装GPU驱动。​
    实例数量​
    2台​
    说明​
    本文创建的两台GPU实例,分别作为“Rank 0”、“Rank 1”。​
    存储​
    • 规格:吞吐型SSD TL0云盘或本地NVMe盘​
    • 容量:每台实例不低于1024GiB​
    说明​
    本文使用的GLM-5.3模型权重约755.6GB,每台云服务器实例均需存储一份完整权重,建议您配置可用磁盘容量不低于1024GiB。​
    网络配置​
    ​
    公网IP​
    勾选“分配弹性公网IP”。​
    说明​
    两台实例需位于同一高性能网络环境中,并启用RDMA/RoCE网络。​
    ​
  1. 安装依赖的软件、工具。​
  1. 执行如下命令,安装、配置Docker。​
  • ​
    sudo apt update​
    sudo apt install ca-certificates curl gnupg lsb-release​
    sudo mkdir -p /etc/apt/keyrings​
    curl -fsSL https://mirrors.ivolces.com/docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg​
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ivolces.com/docker/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null​
    sudo apt update​
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y​
    ​
  1. 执行如下命令,安装NVIDIA Container Toolkit。​
  • ​
    curl -s https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub | sudo apt-key add -​
    cat <<EOF >/etc/apt/sources.list.d/nvidia.list​
    deb http://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/ /​
    EOF​
    apt update​
    apt install nvidia-container-toolkit -y​
    ​
  1. 执行如下命令配置Docker,使容器可以使用实例的GPU资源。​
  • ​
    sudo nvidia-ctk runtime configure --runtime=docker​
    sudo systemctl restart docker​
    ​
  1. (可选)初始化本地盘。​
  • 若您选用的实例规格搭配有本地盘,建议您分别在两台实例上执行如下命令,将本地盘挂载到存储模型的目录/data02,以提升模型加载速度。​
  • ​
    mkfs -t ext4 /dev/nvme0n1​
    mount -t ext4 /dev/nvme0n1 /data02​
    ​
说明​
  • 请将/dev/nvme0n1替换为实际本地盘名称。​
  • 请将ext4替换为您期望使用的文件系统。​
步骤二:部署、运行模型​
  1. 登录购买的2台GPU实例。了解更多。​
  1. 请根据实例所在地域,分别在2台GPU实例中执行如下命令,下载Docker镜像。​
  • ​
    华北2(北京)
    华东2(上海)
    ​
    ​
    docker pull ai-containers-cn-beijing.cr.volces.com/deeplearning/sglang:v0.5.6.post2.iaas.dev.202608311622​
    ​
    ​
  1. 分别在2台实例中执行如下命令,安装配置onion并下载GLM-5.3模型文件。​
  • ​
    华北2(北京)
    华东2(上海)
    ​
    ​
    docker run --rm \​
    -v /data02/:/data02 \​
    --workdir /data02 \​
    --entrypoint bash \​
    ai-containers-cn-beijing.cr.volces.com/deeplearning/sglang:v0.5.6.post2.iaas.dev.202608311622 \​
    -lc '​
    set -e​
    if ! command -v oniond >/dev/null 2>&1; then​
    apt update​
    apt install -y ca-certificates curl gnupg gpg​
    curl -fsSL https://mirrors.ivolces.com/extra-tools/ubuntu/GPG-KEY-system | gpg --dearmor -o /etc/apt/trusted.gpg.d/volc-extra-tools.gpg​
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/volc-extra-tools.gpg] http://mirrors.ivolces.com/extra-tools/ubuntu noble main" > /etc/apt/sources.list.d/volctools.list​
    apt update​
    apt install -y onion-ai-data​
    fi​
    BUCKET=ai-infra REGION=cn-beijing oniond download model GLM-5.3 --turbo --dir /data02​
    '​
    ​
    ​
说明​
您也可以执行oniond list model命令,查看支持模型列表。​
  1. 请根据实例所在地域,分别在2台GPU实例中执行如下命令,启动Docker容器。支持Baseline模式(基础配置模式)与MTP 模式(加速模式)两种模式,请根据实际需求选择其一。​
说明​
  • 请将命令中的/data02替换为模型实际存放的目录路径。​
  • 请将命令中的<NODE_0_PRIVATE_IP>替换为节点0的内网IP地址。​
  • 请将命令中的<0_OR_1>替换为当前实例的节点编号(0或1)。​
  • 两台实例必须配置相同的MASTER_ADDR,且NODE_RANK分别设置为0和1。​
  • ​
    Baseline模式(基础配置模式)
    MTP 模式(可选,加速模式)
    ​
    使用跨节点张量并行(TP16)部署模型,适用于多节点高吞吐推理场景。​
    ​
    华北2(北京)
    华东2(上海)
    ​
    ​
    export MASTER_ADDR=<NODE_0_PRIVATE_IP>​
    export NODE_RANK=<0_OR_1>​
    ​
    docker run \​
    -d \​
    --gpus all \​
    --name sglang-glm53 \​
    --net=host \​
    --shm-size=100g \​
    --ulimit memlock=-1 \​
    --ulimit stack=67108864 \​
    --privileged \​
    --ipc=host \​
    --security-opt seccomp=unconfined \​
    --cap-add=ALL \​
    -v /data02/:/data02/ \​
    -v /var/run/nvidia-topologyd/:/var/run/nvidia-topologyd/ \​
    -e HF_HUB_OFFLINE=1 \​
    -e TRANSFORMERS_OFFLINE=1 \​
    -e NCCL_SOCKET_IFNAME=eth0 \​
    -e GLOO_SOCKET_IFNAME=eth0 \​
    -e NCCL_IB_HCA=mlx5_1:1,mlx5_2:1,mlx5_3:1,mlx5_4:1 \​
    -e NCCL_IB_GID_INDEX=3 \​
    -e NODE_RANK="${NODE_RANK}" \​
    -e MASTER_ADDR="${MASTER_ADDR}" \​
    --entrypoint bash \​
    ai-containers-cn-beijing.cr.volces.com/deeplearning/sglang:v0.5.6.post2.iaas.dev.202608311622 \​
    -lc 'exec sglang serve \​
    --model-path /data02/GLM-5.3/ \​
    --served-model-name zai-org/GLM-5.3 \​
    --host 0.0.0.0 \​
    --port 30300 \​
    --tp-size 16 \​
    --nnodes 2 \​
    --node-rank "${NODE_RANK}" \​
    --dist-init-addr "${MASTER_ADDR}:20000" \​
    --mem-fraction-static 0.80 \​
    --context-length 131072 \​
    --chunked-prefill-size 8192 \​
    --max-running-requests 8 \​
    --cuda-graph-max-bs 16 \​
    --enable-metrics \​
    --enable-cache-report \​
    --show-time-cost \​
    --reasoning-parser glm45 \​
    --tool-call-parser glm47 \​
    --model-loader-extra-config '"'"'{"enable_multithread_load": true, "num_threads": 8}'"'"''​
    ​
    ​
    ​
    ​
  • 参数说明​
  • 如上命令以部署、启动GLM-5.3模型为例,如需部署、启动其他模型,可根据下表说明替换对应环境变量和参数值。​
  • ​
    参数名称​
    参数类型​
    说明​
    取值示例​
    --model-path​
    路径 / 模型 ID​
    指定加载的LLM模型,取值:​
    • Hugging Face模型ID​
    • 本地模型路径​
    /data02/GLM-5.3​
    --tp-size​
    整数​
    配置张量并行度(Tensor Parallelism),本次两个实例共使用TP16。​
    16​
    --nnodes​
    整数​
    配置参与分布式推理的节点数。​
    2​
    --node-rank​
    整数​
    配置当前节点的序号,两台实例分别设置为0和1。​
    0/1​
    --dist-init-addr​
    地址​
    指定多节点分布式初始化地址,所有节点必须使用同一个node 0私网地址和端口。​
    <NODE_0_PRIVATE_IP>:20000​
    --host​
    IP 地址​
    指定服务绑定的主机地址。​
    0.0.0.0​
    --port​
    整数​
    指定服务监听端口,用于客户端连接。​
    30300​
    --context-length​
    整数​
    模型支持的最大上下文长度,单位为Token,本文配置为128K。​
    131072​
    --chunked-prefill-size​
    整数​
    输入预处理阶段的分块大小,有助于降低长输入时的峰值显存占用。​
    8192​
    --mem-fraction-static​
    浮点数​
    分配给模型权重的静态显存占比,剩余显存留作运行时计算空间。​
    0.80​
    --speculative-algorithm​
    字符串​
    推测解码算法。MTP模式下设置为EAGLE以加速推理;Baseline模式无需设置。​
    EAGLE​
    ​
  1. 通过Docker日志确认容器及模型是否成功启动。​
  1. 执行如下命令,查看容器ID。​
  • ​
    docker ps​
    ​
  1. 执行如下命令,查看对应容器的运行日志。​
  • ​
    docker logs -f <CONTAINER_ID>​
    ​
说明​
请将<CONTAINER_ID>替换为实际容器ID。​
步骤三:调用模型​
  1. 执行如下命令,进入Docker容器。​
说明​
请将命令中的<CONTAINER_ID>替换为实际容器ID。 ​
  • ​
    docker exec -it <CONTAINER_ID> bash​
    ​
  1. 在容器中执行如下命令调用模型,确保部署的模型可以正常进行推理。​
  • ​
    curl -X POST http://127.0.0.1:30300/v1/chat/completions -H "Content-Type: application/json" -d '{​
    "model": "zai-org/GLM-5.3",​
    "messages": [​
    {​
    "role": "user",​
    "content": "只输出数字:1+1等于多少?"​
    }​
    ],​
    "max_tokens": 64,​
    "temperature": 0,​
    "chat_template_kwargs": {​
    "clear_thinking": true,​
    "reasoning_effort": "low"​
    }​
    }'​
    ​
  • 若返回HTTP 200,且choices[0].message.content包含“2”、usage.completion_tokens大于0,则服务正常运行。​
  • ​​​
  • 参数说明​
  • 本文仅说明验证使用到的参数信息。​
  • ​
    参数名​
    说明​
    取值样例​
    model​
    使用的实际模型。​
    zai-org/GLM-5.3​
    messages​
    对话的消息列表,取值:​
    • role:该消息的发起角色。​
    • content:消息的内容。​
    -​
    max_tokens​
    指定一次请求中模型生成Completion的最大Token数,取值:​
    • 大于等于1的整数。​
    • 不能超过服务端上下文长度扣除输入后的剩余Token数。​
    • 默认值为4096。​
    64​
    temperature​
    采样温度。​
    • 取值范围:介于 0 ~ 2 之间。​
    • 值越高(例如1)会使输出更随机。​
    • 值越低(例如0.2)会使输出更加集中和确定。​
    0​
    chat_template_kwargs​
    模板扩展参数,用于控制推理行为。取值:​
    • clear_thinking:是否在最终输出中隐藏模型的思考过程,仅返回结论内容。取值true或false,默认值为false。​
    • reasoning_effort:模型的推理强度。取值 "low"、"medium" 或 "high",值越高推理越深入但耗时越长,默认值为 "medium"。​
    -​
    ​
​
最近更新时间:2026.09.17 09:42:15
这个页面对您有帮助吗?
有用
有用
无用
无用