> 部署目标:在一台 8 卡 RTX 5090(每卡 32 GB)服务器上,用 vLLM 跑起 GLM-5.3-Flash 的 NVFP4 量化版,对外提供 OpenAI 兼容 API,支持 `/think` 深度思考模式与 Function Call。最终方案采用 **vLLM 官方 nightly 镜像 + Docker**,服务现稳定运行于 `http://10.168.2.103:8000/v1`(容器已连续运行 9 天+)。
## 一、为什么是这套组合
**模型**:`GLM-5.3-Flash-NVFP4`,架构为 `Glm5NextForConditionalGeneration`(`model_type: glm5_next`),原始 dtype bfloat16。NVFP4 量化后权重落盘 **185 GB**——全量 bf16 显然放不进任何单机,即便 4bit 也远超单卡,必须走张量并行。
**硬件**:8 × RTX 5090 32G,总显存约 **255.6 GB**。5090 是 Blackwell 架构(SM120),算力新、显存大,但对框架版本要求苛刻:稳定版 vLLM 尚未合入 `glm5_next` 架构支持 + NVFP4 反量化 kernel + SM120 后端三件套,**必须用 nightly 构建的 vLLM + CUDA 13.0**。
**量化格式**(来自 `config.json` 的 `quantization_config`):
```json
"format": "nvfp4-pack-quantized",
"input_activations": {
"num_bits": 4,
"group_size": 16,
"scale_dtype": "torch.float8_e4m3fn",
"strategy": "tensor_group",
"dynamic": "local"
}
```
注意 targets 只覆盖了 MoE 的 experts 层(`.*\.layers\.(?:[3-9]|[1-3][0-9]|4[0-4])\.mlp\.experts\..*(gate|up|down)`)——**专家矩阵走 4bit,注意力与共享层保持 bf16**,这是精度与带宽的经典折中。vLLM 通过 `compressed-tensors` 反量化器原生识别,无需手动指定 `--quantization`。
## 二、软件栈:官方 nightly 镜像 + Docker
宿主机上先试过 conda 环境裸跑(conda env `glm53`,torch 2.13.0+cu130),能跑通但版本管理、依赖隔离都不干净,**最终生产方案切换到官方 vLLM 镜像**:
| 组件 | 版本/来源 |
|---|---|
| 镜像 | `vllm/vllm-openai:nightly-385dce36b`(官方 Buildkite 流水线构建 #6303) |
| vLLM | 0.28.1rc1.dev580+g385dce36b(nightly,commit 38