Featured image of post vLLM 部署 Qwen3 Coder 模型

vLLM 部署 Qwen3 Coder 模型

建议就用 256k 上下文,1M Prefill 太慢了

文档参照

Qwen 官方已经更新了他们的文档,部署中遇到的问题在这里看文档都能解决。只不过他没有给你现成的命令,需要你自己理解一下。(虽然我也不好说自己有没有理解对.jpg)

其次 vLLM 官方的这个文档不要看,方法是错的,我怀疑已经废弃但是没有删。

本教程使用 H200 GPU。

256k 上下文启动

按照以下命令启动即可

1
2
3
4
5
6
vllm serve /mnt/extend/models/llm/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --served-model-name Qwen3-Coder-480B-A35B-Instruct

启动后默认就是 256k 上下文

可以看到,每张卡剩余 61.31GB 显存,能开出来 2,073,680 tokens 的 KV Cache

1M 上下文启动

尝试直接按照下面的命令启动会报错

1
2
3
4
5
6
7
vllm serve /mnt/extend/models/llm/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --max-model-len 1048576 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --served-model-name Qwen3-Coder-480B-A35B-Instruct

报这个错

1
Value error, User-specified max_model_len (1048576) is greater than the derived max_model_len (max_position_embeddings=262144 or model_max_length=None in model's config.json). This may lead to incorrect model outputs or CUDA errors. To allow overriding this maximum, set the env var VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 [type=value_error, input_value=ArgsKwargs((), {'model': ...attention_dtype': None}), input_type=ArgsKwargs]

然后我就尝试修改模型的 config.json

1
2
3
4
5
6
7
"max_position_embeddings": 1048576,
  ...
  "rope_scaling": {
    "type": "yarn",
    "factor": 4.0,
    "original_max_position_embeddings": 262144
  },

或者不改配置文件也行,直接把这个配置加到启动参数里

1
2
3
4
5
6
7
8
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve /mnt/extend/models/llm/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --max-model-len 1048576 \
  --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":262144}' \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --served-model-name Qwen3-Coder-480B-A35B-Instruct

这样就是 1M 上下文了

Photo by vadim kaipov on Unsplash

Licensed under CC BY-NC-SA 4.0