跳到內容

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