Qwen3.5-35B-A3B-FP8 模型 vLLM 完整部署配置手册(最终稳定版

一、手册说明

本文档为多次排错、参数迭代、容器权限/端口问题修复后的最终唯一稳定部署方案,适配:
  • 硬件:NVIDIA GB10 架构 GPU
  • 镜像:nvcr.io/nvidia/pytorch:25.08-py3
  • 模型:Qwen3.5-35B-A3B-FP8(MoE+FP8)
  • 部署框架:vLLM 高性能推理、OpenAI 兼容 API
解决所有历史问题:docker权限拒绝、无端口映射无法宿主机访问、参数不兼容、日志参数报错、attention后端冲突、显存溢出、虚拟环境路径错误等。

二、前置环境准备

2.1 服务器环境

  • 系统:Linux
  • Docker、nvidia-container-toolkit 已安装
  • 已下载模型:/workspace/Qwen3.5-35B-A3B-FP8

2.2 永久解决 Docker 权限问题(一次配置永久生效)

宿主机普通用户执行,解决 permission denied while trying to connect to the docker API
sudo usermod -aG docker $USER
newgrp docker

三、标准容器启动命令(带端口映射+GPU完整权限)

必带 -p 8000:8000,否则宿主机永远无法访问容器API
docker run --rm -it --gpus all \
  -p 8000:8000 \
  --ipc=host \
  --ulimit memlock=-1 \
  --ulimit stack=67108864 \
  -v $(pwd):/workspace \
  -w /workspace \
  nvcr.io/nvidia/pytorch:25.08-py3 bash
启动成功后进入容器终端:root@xxxx:/workspace#

四、容器内虚拟环境部署(隔离系统依赖,杜绝版本冲突)

每次新建容器只需执行一次,重启容器仅需激活,无需重装包
# 更新源并安装虚拟环境工具
apt update && apt install python3-venv -y

# 创建持久化虚拟环境(挂载目录,容器销毁不丢失)
python3 -m venv /workspace/llm_env

# 激活虚拟环境
source /workspace/llm_env/bin/activate

# 配置清华pip源加速
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.max-concurrent-futures 16

# 安装全套推理依赖
pip install -U transformers accelerate modelscope safetensors vllm
激活成功标识:终端前缀变为 (llm_env) root@xxxx:/workspace#

五、vLLM 最终稳定启动命令(无报错、适配GB10+FP8+MoE)

已剔除所有不兼容参数、修复旧版vLLM参数名错误、适配Qwen3.5 MoE推理
# 环境变量配置
export VLLM_USE_MODELSCOPE=true
export VLLM_ATTENTION_BACKEND=XFORMERS

# 前台稳定启动(推荐调试/正式使用,可实时看日志)
python -m vllm.entrypoints.openai.api_server \
--model /workspace/Qwen3.5-35B-A3B-FP8 \
--served-model-name Qwen3.5-35B-A3B-FP8 \
--host 0.0.0.0 \
--port 8000 \
--max-model-len 32768 \
--gpu-memory-utilization 0.80 \
--reasoning-parser qwen3 \
--trust-remote-code \
--quantization fp8 \
--kv-cache-dtype fp8 \
--max-num-seqs 48 \
--max-num-batched-tokens 8192 \
--no-enable-log-requests

5.1 启动成功判定标准

出现以下日志即为服务完全就绪:
(APIServer pid=xxx) INFO:     Application startup complete.

5.2 后台常驻版本(生产使用)

export VLLM_USE_MODELSCOPE=true
export VLLM_ATTENTION_BACKEND=XFORMERS
nohup python -m vllm.entrypoints.openai.api_server \
--model /workspace/Qwen3.5-35B-A3B-FP8 \
--served-model-name Qwen3.5-35B-A3B-FP8 \
--host 0.0.0.0 \
--port 8000 \
--max-model-len 32768 \
--gpu-memory-utilization 0.80 \
--reasoning-parser qwen3 \
--trust-remote-code \
--quantization fp8 \
--kv-cache-dtype fp8 \
--max-num-seqs 48 \
--max-num-batched-tokens 8192 \
--no-enable-log-requests > vllm_qwen_fp8.log 2>&1 &

# 实时查看日志
tail -f vllm_qwen_fp8.log

六、服务连通性测试(宿主机执行)

服务器内网IP:192.168.31.33,直接调用容器API
curl http://192.168.31.33:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
  "model": "Qwen3.5-35B-A3B-FP8",
  "messages": [{"role":"user","content":"简述MoE混合专家模型原理"}],
  "temperature":0.7,
  "max_tokens":512
}'

七、日常重启复用流程(核心!无需重装环境)

容器重启后,仅需2步即可恢复服务:
# 1. 激活已有虚拟环境
source /workspace/llm_env/bin/activate

# 2. 直接启动vLLM服务
export VLLM_USE_MODELSCOPE=true
export VLLM_ATTENTION_BACKEND=XFORMERS
python -m vllm.entrypoints.openai.api_server \
--model /workspace/Qwen3.5-35B-A3B-FP8 \
--served-model-name Qwen3.5-35B-A3B-FP8 \
--host 0.0.0.0 \
--port 8000 \
--max-model-len 32768 \
--gpu-memory-utilization 0.80 \
--reasoning-parser qwen3 \
--trust-remote-code \
--quantization fp8 \
--kv-cache-dtype fp8 \
--max-num-seqs 48 \
--max-num-batched-tokens 8192 \
--no-enable-log-requests

八、关键避坑清单(所有历史报错解决方案)

  • 禁止使用 --disable-log-requests:旧版vLLM不支持,替换为 --no-enable-log-requests
  • 必须加 -p 8000:8000:无端口映射,宿主机127.0.0.1无法连通容器服务
  • 必须指定 VLLM_ATTENTION_BACKEND=XFORMERS:解决GB10/新架构flash-attn符号报错
  • 不添加任何4/8bit量化参数:模型原生FP8,重复量化会崩溃、掉精度
  • 区分宿主机/容器路径/workspace/llm_env 仅容器内存在
  • 显存利用率0.80:适配35B MoE模型,避免OOM
  • 禁用废弃参数:删除enforce-eager、disable-log-requests等不兼容参数

九、Python SDK 调用示例(兼容OpenAI)

from openai import OpenAI

client = OpenAI(
    base_url="http://192.168.31.33:8000/v1",
    api_key="dummy"
)

resp = client.chat.completions.create(
    model="Qwen3.5-35B-A3B-FP8",
    messages=[{"role":"user","content":"简述MoE混合专家模型原理"}],
    temperature=0.7,
    max_tokens=512
)
print(resp.choices[0].message.content)
 
posted @ 2026-07-15 00:34  张永全-PLM顾问  阅读(70)  评论(0)    收藏  举报