主题
GLM-5.2 模型部署交付完整操作文档
文档版本:20260728-20260729
目录
[机器环境前置说明](#1-机器环境前置说明)
[驱动安装操作](#2-驱动安装操作)
[Docker 容器启动模型服务](#3-docker-容器启动模型服务)
[服务启动状态校验](#4-服务启动状态校验)
[模型冒烟功能测试](#5-模型冒烟功能测试)
[Evalscope 性能压测](#6-evalscope-性能压测)
[新增:完整性能测试方案](#7-新增完整性能测试方案)
[压测报告指标解读](#8-压测报告指标解读)
[交付验收标准](#9-交付验收标准)
1. 机器环境前置说明
1.1 VPN 客户端文档地址
VPN 客户端操作文档:https://www.leagsoft.com/doc/article/103107.html
1.2 硬件初始化命令
部署前执行硬件初始化脚本,配置PCIe、芯片规格等底层参数:
Bash
cltech-init -i 20260707 -g 2.8 --set-pcie-gen 3 --lyp8 -f参数说明:
| 参数 | 配置值 | 作用 |
|---|---|---|
| -i | 20260707 | 硬件初始化版本号 |
| -g | 2.8 | 硬件算力规格 |
| --set-pcie-gen | 3 | PCIe 3.0 总线模式 |
| --lyp8 | - | 适配LYP8硬件卡 |
| -f | - | 强制刷新硬件配置 |
2. 驱动安装操作
执行上方硬件初始化命令完成底层驱动、硬件固件加载,执行无报错即代表驱动安装完成。
3. Docker 容器启动模型服务
3.1 完整启动脚本
Bash
docker run -itd \
--name glm-5.2 \
--privileged \
--pid=host \
--net host \
--shm-size 128G \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v /data:/data \
-e CL_DRIVER_PATH=/usr/local/cltech/driver \
-e VLLM_DLC_INDEX_TOPK=256 \
-e VLLM_USE_V2_MODEL_RUNNER=1 \
-e DLC_SYN_GRAPH_CACHE=1 \
-e OMP_NUM_THREADS=8 \
-e DLC_SYN_COPY_ASYNC=O2 \
-e DLC_SYN_URING=0 \
-e VLLM_USE_DLC_COL_MAJOR_MATMUL=1 \
hangzhou-harbor.infraai.top/qingting/vllm_glm5.2_20260728 \
bash -c 'vllm serve \
--model /data/models/GLM-5.2-MTP-Mix/ \
--dtype bfloat16 \
--gpu-memory-utilization 0.99 \
--trust-remote-code \
--no-enable-prefix-caching \
-tp 8 \
--enable-expert-parallel \
--enable-auto-tool-choice \
--tool-call-parser glm47 \
--reasoning-parser glm45 \
--block-size 256 \
--compilation-config \
'{"mode":0,"cudagraph_mode":"FULL_DECODE_ONLY"}' \
--max-num-seqs 1 \
--hf-overrides \
'{"use_index_cache":true,"index_topk_pattern":"FFFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSS"}' \
--max-num-batched-tokens 2048 \
--no-scheduler-reserve-full-isl \
--enable-log-requests \
--max-model-len 24k \
--speculative-config \
'{"num_speculative_tokens":5,"method":"deepseek_mtp"}' \
moe ep size 2'3.2 容器启动参数说明
容器运行基础参数
| 参数 | 配置值 | 用途 |
|---|---|---|
| --name | glm-5.2 | 容器命名 |
| --privileged | - | 开启容器完整宿主机权限 |
| --pid=host | - | 共享宿主机PID命名空间 |
| --net host | - | 共享宿主机网络,直接暴露8000端口 |
| --shm-size 128G | 128G | 共享内存大小,适配大模型KV缓存 |
| -v /data:/data | - | 挂载宿主机模型存储目录 |
环境变量配置
| 环境变量 | 值 | 作用 |
|---|---|---|
| CL_DRIVER_PATH | /usr/local/cltech/driver | 底层硬件驱动路径 |
| VLLM_DLC_INDEX_TOPK | 256 | 索引检索TopK数量 |
| VLLM_USE_V2_MODEL_RUNNER | 1 | 启用V2版推理运行时 |
| OMP_NUM_THREADS | 8 | CPU并行线程数 |
VLLM 推理核心参数
| 参数 | 配置 | 说明 |
|---|---|---|
| --model | /data/models/GLM-5.2-MTP-Mix/ | 模型权重路径 |
| --dtype | bfloat16 | 推理精度 |
| --gpu-memory-utilization | 0.99 | 显存占用上限99% |
| -tp 8 | 8 | 张量并行8卡 |
| --enable-expert-parallel | - | MoE专家并行开启 |
| --max-model-len 24k | 24k | 模型最大上下文长度24000 tokens |
| --speculative-config | {"num_speculative_tokens":5,"method":"deepseek_mtp"} | 投机解码,预生成5个token |
| moe ep size 2 | 2 | MoE专家并行分片数2 |
3.3 查看容器实时日志
Bash
docker logs -f glm-5.2日志输出模型加载完成、服务监听0.0.0.0:8000即代表服务启动成功。
4. 服务启动状态校验
执行日志查看命令,出现以下关键信息代表服务就绪:
模型权重加载完成提示
Uvicorn running on http://0.0.0.0:8000VLLM engine 初始化完成、编译Graph缓存就绪
5. 模型冒烟功能测试
5.1 Curl 调用测试脚本
Bash
curl -X POST http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "/data/models/GLM-5.2-MTP-Mix/",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "1+1等于多少,直接说答案"
}
],
"stream": true,
"temperature": 0
}'5.2 测试预期结果
流式返回 2,无报错、无超时、无乱码,代表模型基础推理功能正常。
6. Evalscope 性能压测(基础单并发压测)
6.1 启动Evalscope评估容器
Bash
docker run -it -v /data/:/data/ --net host hangzhou-harbor.infraai.top/library/evalscope:0721 bash6.2 基础单并发压测执行命令
Bash
evalscope perf \
--parallel 1 \
--number 10 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 1024 \
--min-tokens 1024 \
--prefix-length 0 \
--min-prompt-length 1024 \
--max-prompt-length 10246.3 基础压测参数说明
| 参数 | 值 | 含义 |
|---|---|---|
| --parallel 1 | 1 | 并发数1 |
| --number 10 | 10 | 总请求次数10轮 |
| --dataset random | random | 随机生成测试Prompt |
| min/max-prompt-length 1024 | 1024 | 输入Prompt固定1024 token |
| min/max-tokens 1024 | 1024 | 输出固定1024 token |
7. 完整性能测试方案
7.1 测试目标
验证GLM-5.2-MTP-Mix在多并发、多输入输出长度场景下推理吞吐、延迟稳定性;
验证投机解码、MoE并行、索引缓存等优化特性生效效果;
输出不同负载下SLA基准指标,用于线上容量规划;
验证极限显存占用、CPU负载、硬件稳定性。
7.2 测试前置条件
模型容器正常启动,
docker logs无报错;Evalscope评估容器正常拉起,网络可通模型8000端口;
宿主机无其他高负载进程,GPU/CPU内存资源独占;
系统日志、GPU监控(显存、利用率、温度)采集工具就绪。
7.3 测试分类与场景矩阵
场景1:单并发基准性能测试(原有冒烟压测)
适用:基线性能、单用户体验延迟指标采集
负载配置:
并发 parallel=1,请求数 number=20
Prompt长度:1024 tokens,输出长度:1024 tokens
数据集 random,无缓存prefix
场景2:多并发梯度压测(容量压测)
梯度并发:2 / 4 / 8 / 16 四档并发,每档独立测试
统一负载:
Prompt=1024 token,Output=1024 token
每并发档位执行30次请求,稳定跑满5分钟
测试目的:找到最大稳定并发、拐点吞吐、延迟恶化阈值
单档位示例命令(并发4):
Bash
evalscope perf \
--parallel 4 \
--number 30 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 1024 \
--min-tokens 1024 \
--min-prompt-length 1024 \
--max-prompt-length 1024场景3:短输入长输出场景(生成类业务)
模拟文案、代码、长推理生成场景
配置:
Prompt=256 token,Output=2048 token
并发=4,请求数20
Bash
evalscope perf \
--parallel 4 \
--number 20 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 2048 \
--min-tokens 2048 \
--min-prompt-length 256 \
--max-prompt-length 256场景4:长输入短输出场景(文档问答、摘要)
模拟超长文档检索问答场景
配置:
Prompt=8192 token,Output=512 token
并发=2,请求数15
Bash
evalscope perf \
--parallel 2 \
--number 15 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 512 \
--min-tokens 512 \
--min-prompt-length 8192 \
--max-prompt-length 8192场景5:超长上下文极限测试(24k上下文上限)
验证模型最大24k上下文支持能力
配置:
Prompt=20000 token,Output=1024 token
并发=1,请求数5(避免OOM)
Bash
evalscope perf \
--parallel 1 \
--number 5 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 1024 \
--min-tokens 1024 \
--min-prompt-length 20000 \
--max-prompt-length 20000场景6:缓存复用场景(prefix缓存业务)
开启prefix缓存验证复用吞吐提升(需修改vllm启动参数 --enable-prefix-caching)
配置:固定前缀Prompt,重复请求,并发4
Bash
evalscope perf \
--parallel 4 \
--number 30 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--prefix-length 1024 \
--max-tokens 1024 \
--min-tokens 1024 \
--min-prompt-length 1024 \
--max-prompt-length 1024场景7:长时间稳定性压测(7200s耐久)
持续2小时高并发跑测,观测内存泄漏、显存泄漏、服务崩溃
配置:并发8,循环持续120分钟,不限制请求次数
Bash
evalscope perf \
--parallel 8 \
--duration 7200 \
--model "/data/models/GLM-5.2-MTP-Mix/" \
--url http://127.0.0.1:8000/v1/chat/completions \
--api openai \
--dataset random \
--max-tokens 1024 \
--min-tokens 1024 \
--min-prompt-length 1024 \
--max-prompt-length 10247.4 测试采集指标清单
7.4.1 业务接口指标(Evalscope输出)
基础汇总:总生成token、平均吞吐tokens/sec、总耗时、请求成功率
并发指标:RPS、单并发解码吞吐、投机解码接受率
延迟指标:平均/ P50 / P99 / Max 总延迟Latency、TTFT首token延迟、TPOT单token生成耗时
缓存指标:新Prompt吞吐、缓存命中Prompt吞吐
7.4.2 硬件资源指标(同步采集)
GPU:显存占用峰值、GPU利用率、卡温度、功耗
CPU:整机CPU平均使用率、OMP线程负载
内存:宿主机内存、容器shm内存占用变化
网络:容器进出带宽、端口连接数
7.5 测试验收SLA标准
| 负载场景 | 吞吐底线 | TTFT P99上限 | TPOT平均 | 成功率 | 投机解码接受率 |
|---|---|---|---|---|---|
| 单并发1024输入+1024输出 | ≥30 token/s | ≤1500ms | ≤40ms | 100% | ≥70% |
| 并发4标准负载 | ≥80 token/s | ≤2500ms | ≤45ms | 100% | ≥68% |
| 并发8标准负载 | ≥130 token/s | ≤4000ms | ≤55ms | ≥99.5% | ≥65% |
| 长输入8k场景 | ≥12 token/s | ≤5000ms | ≤45ms | 100% | ≥65% |
| 24k极限上下文 | ≥5 token/s | ≤8000ms | ≤60ms | 100% | ≥60% |
| 耐久2h压测 | 吞吐波动≤10% | 无持续上涨 | 平稳无恶化 | 100% | 无持续下跌 |
7.6 异常判定标准
出现以下任意一种判定性能不达标:
请求成功率低于99%;
P99 TTFT超过SLA阈值20%以上;
压测过程显存持续上涨、出现OOM重启;
投机解码接受率低于60%(标准负载);
耐久测试吞吐持续下跌、延迟持续走高;
GPU温度超过85℃、硬件降频。
7.7 测试输出交付物
各场景Evalscope完整性能报告文件;
各场景硬件资源监控时序图表;
多并发吞吐-延迟对比汇总表;
极限上下文场景稳定性说明;
优化项收益对比(投机解码/缓存开关对比数据);
线上推荐并发容量、推荐输入输出长度限制建议。
8. 压测报告指标解读
8.1 基础信息汇总(单并发基准样例)
| 字段 | 数值 | 说明 |
|---|---|---|
| Test Dataset | random | 随机测试数据集 |
| API Type | openai | OpenAI兼容接口 |
| Total Generated tokens | 10,240.0 | 总生成token数量 |
| Avg Output Rate | 30.16 tokens/sec | 平均生成吞吐 |
| Total Test Time | 339.57s | 总压测耗时 |
| Success | 100.0% | 请求全部成功 |
8.2 单请求性能指标(Conc=1)
| Metric | avg | p50 | p99 | max |
|---|---|---|---|---|
| Latency (s) | 33.957 | 34.710 | 40.950 | 40.950 |
| TTFT (ms) | 1317.3 | 1323.7 | 1369.4 | 1369.4 |
| TPOT (ms) | 31.9 | 32.6 | 38.7 | 38.7 |
| Decode toks/s | 31.34 | - | - | - |
| Spec. Accept Rate | 72.6% | - | - | - |
8.3 全链路吞吐指标
| 指标 | Overall | Last 30s | Steady(drop 20%) |
|---|---|---|---|
| Completion tok/s | 30.16 | 28.84 | 30.78 |
| New Prompt tok/s | 30.16 | 28.84 | 30.78 |
| Cached Prompt tok/s | 0.00 | 0.00 | 0.00 |
8.4 基准压测结论
单并发场景稳定吞吐 30.16 token/s,投机解码接受率72.6%, speculative加速生效;
TTFT平均1.3s,长1024输入场景首包延迟可控;
所有请求100%成功,服务稳定性达标;
无KV缓存命中,全部为全新Prompt推理。
9. 交付验收标准
硬件初始化、驱动执行无报错;
Docker容器正常拉起,日志无加载异常;
Curl冒烟测试正常返回推理结果;
基础单并发压测满足SLA吞吐≥30 token/s、成功率100%;
全套性能测试方案按需执行,各场景指标满足对应SLA;
投机解码接受率≥70%,推理加速特性生效;
极限24k上下文场景无OOM、推理正常返回;
耐久2小时稳定性测试无内存/显存泄漏、服务无重启崩溃。