环境与目标

  • 主机: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文件或环境变量注入