更新时间:2025-11-05 GMT+08:00
分享

生成Qwen部署定义yaml

基于KubeInfer的部署,关键是定义部署所需的yaml文件,参考获取部署版本包中提供的gen_pd_deploy_kubeinfer_yaml_with_omni.py脚本通过执行下述命令生成基于KubeInfer部署的yaml文件:

python3 gen_pd_deploy_kubeinfer_yaml_with_omni.py [--prefill-pod-num=xx] [--decode-pod-num=xx] [--replicas=xx] [--image-name=xx] [--custom-labels=xx] [--proxy-resource=xx] [--pd-resource=xx] [--mount-path=xx] [--script-path=xx] [--proxy-params="xxx"] [--prefill-params="xxx"] [--decode-params="xxx"] [--terminate-grace-period-seconds=xx] [--file-name=xx] [--probe-type=xx] [--probe-port=xx]

当前脚本自动生成的基于KubeInfer部署的yaml文件默认能力和生成DeepSeek部署定义yaml说明保持一致。

表1 生成yaml脚本参数说明

参数

约束

描述

默认值

--prefill-pod-num

可选

Prefill角色个数。

1

--decode-pod-num

可选

Decode角色个数。

1

--replicas

可选

kubeinfer实例instance数,对应K8s概念中的副本数。

1

--image-name

必选

推理镜像名称,即为获取推理镜像中制作的镜像。

NA

--custom-labels

可选

kubeinfer部署支持自定义标签,格式为json。

NA

--pd-resource

可选

Prefill和Decode角色需要的资源,参考CPU及内存资源规划

NA

--mount-path

可选

存储配置中挂载的目录,该目录下存放权重和脚本文件。

/mnt/deepseek

--script-path

可选

部署推理服务依赖的脚本文件路径。

须知:

必须是--mount-path指定的目录的子目录。

/mnt/deepseek/deploy

--common-params

必选

部署推理服务的特性参数和公共的启动参数,参考表2及参数类型。

须知:

值必须用双引号包裹。

NA

--proxy-params

可选

部署推理服务proxy、prefill、decode分别对应的启动参数,参考表2及参数类型。

须知:

值必须用双引号包裹。

NA

--prefill-params

可选

NA

--decode-params

可选

NA

--terminate-grace-period-seconds

可选

指定Pod优雅终止的等待时间(单位:秒)。在使用长连接的场景中,客户端可能复用已建立的 TCP 连接。即使Pod 已从 Service 的 Endpoints 中被移除,处于活跃状态的连接仍可能继续接收新请求。长连接场景下为加速流量摘除,建议将此值设置为3秒,可能会导致正在处理的请求被强制中断。

120

--file-name

可选

生成的yaml文件名。

infer_vllm_kubeinfer.yaml

--probe-type

可选

值为“http”时,容值为“http”时,容器探针使用httpGet方式调用推理服务health接口进行健康检查。值为“script”时,容器探针使用exec方式执行提供的health.py脚本进行健康检查。健康检查日志在脚本当前路径health_log目录下。

须知:

值为“http”时无法进行手动摘流,如果您需要手动摘流,请指定为“script”。

http

--probe-port

可选

容器探针进行健康检查时调用Proxy的端口。

9000

表2 Qwen PD分离部署脚本启动命令说明

参数

约束

参数类型

描述

--ascend-log-path

可选

特性参数

指定NPU CANN plog日志保存路径。不指定时,日志保存在容器内/root/ascend/log。

--vllm-log-path

可选

特性参数

采集vLLM框架日志,开启特性需要指定滚动日志保存的路径。不开启时,日志保存在容器内/home/ma-user/AscendCloud/logs。

日志采集功能的使用详见推理层日志采集与转储

--hang-threshold-sec

可选

特性参数

Decode的hang判断时间阈值,单位为秒,默认值为5。

--log-max-size

可选

特性参数

指定Proxy滚动日志文件大小,单位为MB,默认值为1024。日志默认按1G一个文件进行滚动,滚动保存10个备份文件,文件名为proxy.log。保存后会将旧日志压缩存储。

--time-window-ms

可选

特性参数

指定Proxy被动健康检查配置时间窗,单位为ms,默认值为10000。一个Prefill或Decode实例在时间窗口内,3次失败即认为异常。

--extra-env-vars

可选

启动参数

部署推理服务要额外设置的环境变量,参考表3

须知:

值必须用单引号包裹,多个环境变量以逗号分隔。

--prefill-extra-env-vars

可选

启动参数

部署推理服务prefill、decode要额外设置的特殊环境变量,参考表3

须知:

值必须用单引号包裹,多个环境变量以逗号分隔。

--decode-extra-env-vars

可选

启动参数

--port

可选

启动参数

Proxy角色监听的端口,默认值为9000。

须知:

如果修改端口,需要同时修改健康检查的端口。

--pd-port

可选

启动参数

Prefill、Decode角色监听的端口,默认值为9100。

--model

必选

启动参数

对应vLLM入参--model,模型权重所在路径。

须知:

要求该目录必须是--mount-path指定的目录的子目录。路径中不能包含英号句号"."等特殊字符。

--served-model-name

必选

启动参数

对应vLLM入参--served-model-name。

--max-model-len

必选

启动参数

对应vLLM入参--max-model-len。

--tensor-parallel-size

必选

启动参数

对应vLLM入参--tensor-parallel-size。

--gpu-memory-utilization

必选

启动参数

对应vLLM入参--gpu-memory-utilization。

--additional-config

必选

启动参数

对应vLLM入参--additional-config。

其他vLLM支持的参数,用法同vLLM

-

表3 Qwen环境变量配置参考

参数

描述

VLLM_CACHE_ROOT

图编译缓存功能,开启特性需要指定路径。

图编译缓存功能的使用详见PD分离部署下图编译缓存使用操作

ENABLE_PHASE_AWARE_QKVO_QUANT=1

推荐Qwen3-32B w8a8添加,提升Decode性能。

ENABLE_QWEN_MICROBATCH=1

推荐长序列添加,提升Prefill性能。

USE_ZMQ_BROADCAST=1

使用ZMQ(ZeroMQ)进行广播通信。ZMQ 具有高吞吐低延迟的特点,适合分布式推理场景。

PREFILL_STOP_SCHEDULE_TOKENS=8000

降低TTFT的平均值,但是会影响Prefill实例吞吐。

PROMPT_CROP_LAST_LAYER=1

降低TTFT的平均值。

相关文档