环境与目标
-
主机:Ubuntu 20.04, 10 vCPU / 32GB RAM /500GB 磁盘
-
GPU: 1x Tesla V100-SXM2 32GB, Volta SM70,驱动 525.105.17(CUDA 12.0)
-
宿主机已具备 Docker+NVIDIA Container Toolkit
-
目标:提供 OpenAl 兼容 API,模型名 qwen3.8-27b,由systemd 托管并开机自启
最终结果
项目值 endpointhttp://0.0.0.0:8000/v1(OpenAl%E5%85%BC%E5%AE%B9)
模型名qwen3.8-27b
CheckpointQUASAR-QAT/Qwen3.8-27B-QUASAR-NVFP4 (23GB, all-NVFP4 QAT)
引擎 1Cat-vLLM v1.5.0 (SM70/V100 fork of VLLM)
运 行 时 Docker 镜 像(Ubuntu 24.04)
上下文长度254,976 tokens(约249K),KV pool 256,484 tokens (FP8-E5M2)
解码速度约30tok/s(单请求、短上下文)
认证Bearer API Key,每个请求必须携带
服务systemd qwen38.service(自动重启,开机启用)
Thinking 模式默认开启。单请求可用 “chat_template_kwargs”: {“enable_thinking”:false}关闭;推理内容会流入 reasoning_content.
推荐采样:
-
Thinking 模式:temperature=1.0,top_p=0.95, top_k=20
-
Instruct 模 式:temperature=0.7, top_p=0.8, top_k=20, presence_penalty=1.5
为什么选这套栈
V100 = Volta SM70
-
没有 FP8 tensor cores,原始 Qwen/Qwen3.8-27B-FP8无法运行,且27GB也放不下。
-
不支持 bf16、FlashAttention-2、Marlin kernel。
现代vLLM 已放弃 Volta
-
官方 VLLM >=0.20 的 wheel不再提供 SM70支持。
-
Qwen3.5/3.8 家族(hybrid Gated DeltaNet + Gated Attention + vision tower)需要很新的VLLM。
-
最终只能使用 1CatAl/1Cat-vLLM fork: https://github.com/1CatAl/1Cat-vLLM
-
v1.5.0 wheel : 1cat_vllm-1.5.0-cp312-cp312-linux x86 64.whl
-
构建目标:Python 3.12 / CUDA 12.8 /PyTorch2.10/SM70。
-
CUDA 12.8 runtime 可在 525驱动上通过 CUDA 12 minor-version compatibility 运行;SM70 SASS已预构建,torch不需要JIT。
量化选择
-
QUASAR-QAT all-NVFP4 27B(约23GB,含fp16 embeddings+lm_head)是该fork推荐的单卡checkpoint,带QPN2快速内核。
-
AWQ-INT4(21GB)也存在,但更慢,且在Qwen3.8+该fork上验证较少。
DFlash2 投机解码被放弃
-
draft 模 型 incoai/Qwen3.8-27B-DFlash2 有2.37GiB BF16 Im_head.
-
target 加载后 28.77GiB,加 draft后在单卡 31.74GiB上超约4GiB。
-
没有可用的量化 vLLM draft,只有llama.cpp的GGUF.
-
升级路径:加第二张 V100做 TP2,或等未来NVFP4 draft checkpoint.
glibc 限制
-
wheel中的 flash_attn_v100_cuda.so需要GLIBC 2.38。
-
Ubuntu 20.04 宿主机只有 2.31,因此必须运行在 Ubuntu 24.04 容器内。
-
宿主机:Docker 28.1.1+nvidia-container-toolkit 1.20.0。
部署过程
基础环境
主机无需额外安装,Docker+NVIDIA Toolkit 已存在。
下载 wheel 与模型
从 GitHub Releases 下载 wheel,并校验sha256.
Docker 镜像 v1.5.5
基础:ubuntu:24.04 + python3.12-venv +wheel.
运行时依赖踩坑:
-
gccTriton: Failed to find C compiler -> 安装build-essential
-
Python headersfatal error: Python.h: No such file->安装 python3.12-dev
服务文件: /etc/systemd/system/qwen38.service。
关键坑点清单
-
Triton 缺 C编译器→build-essential
-
Triton driver utils 缺 Python.h →python3.12-dev
-
tilelang 缺 CUDA 检查 → cuda-nvcc-12-8 + cuda-cudart-dev-12-8 + CUDA_HOME
-
docker commit 覆盖 ENTRYPOINT→必须显式 – change
-
wheel 需要 GLIBC 2.38→必须 Ubuntu 24.04 容器
-
DFlash2 draft 显存超限→单卡放弃,等TP2或NVFP4 draft
-
API Key 不要写进命令行参数→用env文件或环境变量注入
👍


