快速开始
环境准备完成后,本文介绍如何快速部署模型并进行推理测试。
模型部署
方式一:手动部署
命令行直接启动
如需纯命令行部署,可直接使用 vllm serve 启动服务。以下提供两种模式供选择。
不启用 MUSAGraph
适用于显存较紧张或需 要快速启动的场景。此模式会减少显存占用和启动时间,但推理性能略低于 MUSAGraph 模式。
vllm serve /data/llm_models/Qwen3.5-35B-A3B \
--trust-remote-code \
--enforce-eager \
--tensor-parallel-size 4 \
--max-model-len 512 \
--block-size 32 \
--attention-backend FLASH_ATTN \
--gpu-memory-utilization 0.8
启用 MUSAGraph
适用于追求更高推理性能的场景。以下示例使用 Qwen3.6-35B-A3B,并将模型切分到 4 张 GPU:
vllm serve /data/nfs_shared/models/Qwen3.6-35B-A3B \
--host 127.0.0.1 \
--port 18014 \
--gpu-memory-utilization 0.80 \
--served-model-name Model \
--max-num-seqs 1 \
--max-model-len 10240 \
--max-num-batched-tokens 10240 \
--block-size 32 \
--tensor-parallel-size 4 \
--attention-config.backend FLASH_ATTN \
--mm-encoder-attn-backend TORCH_SDPA \
--generation-config vllm \
--override-generation-config '{"temperature":0}' \
--default-chat-template-kwargs '{"enable_thinking":false}' \
--disable-custom-all-reduce \
--speculative-config '{"method":"mtp","num_speculative_tokens":4}' \
--language-model-only \
--compilation-config '{"mode":"VLLM_COMPILE","cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[5],"max_cudagraph_capture_size":5}'
请根据实际模型路径、端口和 GPU 数量调整命令。模型的推荐参数可参考容器内的 vllm/musa_tools/config.json。
方式二:使用 deploy.sh 一键部署
容器内提供 /workspace/deploy.sh 脚本,可基于模型最佳配置一键启动服务。
bash /workspace/deploy.sh /path/to/model {Model_Name} {Port}
参数说 明:
| 参数 | 说明 |
|---|---|
/path/to/model | 本地模型目录路径 |
{Model_Name} | 服务模型名称 |
{Port} | 服务监听端口 |
脚本会自动加载模型对应的最佳配置(best config),无需手动指定并行参数、上下文长度等;如需覆盖,可在脚本基础上追加自定义参数。
部署后验证
服务启动后,可通过以下方式确认其运行状态:
- 端口验证:在服务器终端执行以下命令,检查服务端口是否处于监听状态(将
18014替换为实际服务端口):
ss -lntp | rg 18014
模型推理
服务启动后,可通过 HTTP API 进行推理。默认监听端口为 8000(如未指定 --port)。
单次 Completions 测试
curl http://127.0.0.1:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3-8B",
"prompt": "The capital of China is",
"max_tokens": 256,
"temperature": 0,
"stream": true
}'
单次 Chat 测试
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3-8B",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "1+1等于几?"}
]
}'
- 将
8000替换为实际服务端口号 - 将
"Qwen3-8B"替换为启动服务时指定的--served-model-name
性能基准 测试
方式一:query.sh 脚本
容器内提供 /workspace/query.sh 脚本,支持批量压测和报告生成。
脚本能力
- 运行多种配置组合(不同输入/输出长度、并发数)
- 生成包含详细指标的 CSV 报告
- 结果按时间戳命名保存
使用方法
编辑 /workspace/query.sh 修改以下变量:
| 变量 | 说明 |
|---|---|
MODEL_PATH | 模型权重路径 |
SERVED_MODEL_NAME | 服务名(与 --served-model-name 一致) |
PORT | 服务端口 |
CONFIGS | 测试配置数组,每项为 (input_len, output_len, num_prompts) |
然后执行:
bash /workspace/query.sh
方式二:vllm-perf
容器内提供 vllm-perf,会根据 GPU 平台读取 vllm/musa_tools/config.json 中的推荐参数并启动性能测试:
vllm-perf Qwen3.6-35B-A3B --max-concurrency=1 --port=18014
批量测试重点模型时,在完成容器基础验证后执行:
bash vllm_L0_regression_test.sh
测试日志保存在容器内的 /workspace/bench_log。

