跳到内容

vllm bench sweep serve_sla

JSON 命令行参数

当传递 JSON 命令行参数时,以下几组参数是等效的

  • --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'
  • --json-arg.key1 value1 --json-arg.key2.key3 value2

此外,列表元素可以使用 + 单独传递

  • --json-arg '{"key4": ["value3", "value4", "value5"]}'
  • --json-arg.key4+ value3 --json-arg.key4+='value4,value5'

参数

--serve-cmd

用于运行服务器的命令:vllm serve ...

默认值: None

--bench-cmd

用于运行基准测试的命令:vllm bench serve ...

默认值: None

--after-bench-cmd

在基准测试运行完成后,调用此命令而不是默认的 ServerWrapper.clear_cache()

默认值: None

--show-stdout

如果设置,则记录子命令的标准输出。这对于调试很有用,但可能会产生大量输出。

默认值: False

--serve-params

包含 vllm serve 命令参数组合的 JSON 文件路径。可以是字典列表,也可以是字典(键是基准测试名称)。如果同时提供了 serve_paramsbench_params,则脚本将遍历它们的笛卡尔积。

默认值: None

--bench-params

包含 vllm bench serve 命令参数组合的 JSON 文件路径。可以是字典列表,也可以是字典(键是基准测试名称)。如果同时提供了 serve_paramsbench_params,则脚本将遍历它们的笛卡尔积。

默认值: None

-o, --output-dir

结果将写入的目录。

默认值:results

--num-runs

每个参数组合的运行次数。

默认值:3

--dry-run

如果设置,则打印要运行的命令,然后退出而不执行它们。

默认值: False

--resume

将此设置为 output_dir 下的目录名称(该目录是时间戳),以恢复脚本的先前执行,即仅运行尚未生成输出文件的参数组合。

默认值: None

服务和基准测试之间链接变量的逗号分隔列表,例如 max_num_seqs=max_concurrency,max_model_len=random_input_len

默认值: ""

SLA 选项

--sla-params

包含要满足的 SLA 约束列表的 JSON 文件路径。每个约束都以 {"<KEY>": "<OP><VALUE>"} 格式表示,例如:{"p99_e2el_ms": "<=500"} 表示端到端延迟在 99% 的时间内应小于 500ms。设置此选项将在 SLA 模式下运行此脚本,该模式搜索满足 serve_paramsbench_paramssla_params 组合的最大 sla_variable

默认值: None

--sla-variable

可能的选择:request_rate, max_concurrency

要调整请求速率还是最大并发数来满足 SLA 约束。

默认值:request_rate