模型部署
该版本支持模型的部署脚本示例,请参考 vLLM-MUSA serving recipes。
下文以 Qwen3.6-27B-FP8 为例,说明如何在已启动的容器内单机部署并验证模型。环境检查及 vLLM 容器启动见 环境准备。
重要提示
-
脚本参数设置以 4K 输入、1K 输出、TTFT ≤ 2s、TPOT ≤ 40ms 为目标,当流量形态、并发、时延目标不同时,请根据需要进行调优,如
max-num-batched-tokens、max-num-seqs、graph capture等参数。 -
FP8、MTP 和 CUDA Graph 路径对权重版本、框架/算子库版本和输入 shape 敏感,生产部署前应完成真实请求和语义检查。
部署 Qwen3.6-27B
将模型权重存放至 vLLM 容器挂载的模型目录,例如宿主机 /data/models/Qwen3.6-27B-FP8:
modelscope download --model Qwen/Qwen3.6-27B-FP8 --local_dir /data/models/Qwen3.6-27B-FP8
进入 vLLM 容器:
docker exec -ti vllm-service bash
在 vLLM 容器内启动服务:
export VLLM_PLUGINS=musa,musa_custom_ops
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export PYTHONUNBUFFERED=1
export SAFETENSORS_FAST_GPU=1
CAPTURE_SIZES="$(seq -s, 4 4 512)"
vllm serve /models/Qwen3.6-27B-FP8 \
--trust-remote-code \
--tensor-parallel-size 2 \
--served-model-name Qwen3.6-27B-FP8 \
--max-model-len 8192 \
--max-num-seqs 128 \
--max-num-batched-tokens 8192 \
--gpu-memory-utilization 0.80 \
--mamba-ssm-cache-dtype float32 \
--no-enable-prefix-caching \
--no-enable-chunked-prefill \
--attention-config '{"backend":"FLASH_ATTN"}' \
--compilation-config "{\"mode\":\"NONE\",\"cudagraph_mode\":\"FULL_DECODE_ONLY\",\"cudagraph_capture_sizes\":[${CAPTURE_SIZES}]}" \
--speculative-config '{"method":"qwen3_5_mtp","num_speculative_tokens":3}'
验证推理服务 API
服务默认监听 8000 端口。先确认模型已注册:
curl -sS http://127.0.0.1:8000/v1/models
再发送一条对话请求:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3.6-27B-FP8",
"messages": [{"role": "user", "content": "你好,请用一句话介绍你自己。"}],
"max_tokens": 64,
"temperature": 0
}'
也可用 Python 客户端验证:
from openai import OpenAI
client = OpenAI(api_key="EMPTY", base_url="http://127.0.0.1:8000/v1")
response = client.chat.completions.create(
model="Qwen3.6-27B-FP8",
messages=[{"role": "user", "content": "Hello"}],
temperature=0,
)
print(response.choices[0].message.content)
返回非空 content 即表示推理服务可用。

