生成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"] [--file-name=xx]
参数 |
约束 |
描述 |
默认值 |
---|---|---|---|
--prefill-pod-num |
可选 |
Prefill角色个数。 |
1 |
--decode-pod-num |
可选 |
Decode角色个数。 |
1 |
--replicas |
可选 |
kubeinfer实例instance数,对应K8s概念中的副本数。 |
1 |
--image-name |
必选 |
推理镜像名称,即为获取推理镜像中制作的镜像。 |
- |
--custom-labels |
可选 |
kubeinfer部署支持自定义标签,格式为json。 |
- |
--pd-resource |
可选 |
Prefill和Decode角色需要的资源,参考CPU及内存资源规划。 |
- |
--mount-path |
可选 |
存储配置中挂载的目录,该目录下存放权重和脚本文件。 |
/mnt/deepseek |
--script-path |
可选 |
部署推理服务依赖的脚本文件路径。
须知:
必须是--mount-path指定的目录的子目录。 |
/mnt/deepseek/deploy |
--common-params |
必选 |
部署推理服务的特性参数和公共的启动参数,参考表2及参数类型。
须知:
值必须用双引号包裹。 |
- |
--proxy-params |
可选 |
部署推理服务proxy、prefill、decode分别对应的启动参数,参考表2及参数类型。
须知:
值必须用双引号包裹。 |
- |
--prefill-params |
可选 |
- |
|
--decode-params |
可选 |
- |
|
--file-name |
可选 |
生成的yaml文件名。 |
infer_vllm_kubeinfer.yaml |
参数 |
约束 |
参数类型 |
描述 |
---|---|---|---|
--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。
须知:
值必须用单引号包裹,多个环境变量以逗号分隔。 |
--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。 |
其他vLLM支持的参数,用法同vLLM |
- |
参数 |
描述 |
---|---|
ENABLE_PHASE_AWARE_QKVO_QUANT=1 |
推荐Qwen3-32B w8a8添加,提升Decode性能。 |
ENABLE_QWEN_MICROBATCH=1 |
推荐长序列添加,提升Prefill性能。 |
PREFILL_STOP_SCHEDULE_TOKENS=8000 |
降低TTFS的平均值,但是会影响Prefill实例吞吐。 |
BLOCK_RELEASE_DELAY=60 |
Prefill配置kvcache 60s老化,Decode无影响。 |
USE_ZMQ_BROADCAST=1 |
使用ZMQ(ZeroMQ)进行广播通信。ZMQ 具有高吞吐低延迟的特点,适合分布式推理场景。 |