multi-step
什么是multi-step
vLLM的调度和输入准备的CPU开销可能会导致NPU利用率不足,开启multi-step调度可以有效解决这个问题,开启multi-step调度后会在执行一次调度和输入准备后,连续n步运行模型。通过NPU在n步之间连续处理,而无需等待CPU,可以将CPU开销分散到n步中,从而显著减少NPU空闲时间,提升整体性能。
约束限制
暂不支持Multi-Lora和投机推理场景。
multi-step参数设置
启动推理服务时,使用multi-step调度需要配置的参数如下表所示。
服务启动方式 |
配置项 |
取值类型 |
配置说明 |
---|---|---|---|
offline |
num_scheduler_steps |
int |
连续运行模型的步数。 默认为1,推荐设置为8 |
offline |
multi_step_stream_outputs |
bool |
设置false后,mult-step会关闭流式输出提升性能,一次将返回num_scheduler_steps个token。 默认true |
online |
--num-scheduler-steps |
int |
连续运行模型的步数。 默认为1,推荐设置为8 |
online |
--multi-step-stream-outputs |
bool |
设置false后,mult-step会关闭流式输出提升性能,一次将返回--num-scheduler-steps个token。 默认true |