分析 vLLM#

我们支持使用 torch.profiler 模块跟踪 vLLM 工作器。你可以通过将 VLLM_TORCH_PROFILER_DIR 环境变量设置为要保存跟踪的目录来启用跟踪:VLLM_TORCH_PROFILER_DIR=/mnt/traces/

OpenAI 服务器也需要使用设置了 VLLM_TORCH_PROFILER_DIR 环境变量启动。

使用 benchmarks/benchmark_serving.py 时,可以通过传递 –profile 标志来启用性能分析。

警告

仅在开发环境中启用性能分析。

可以使用 https://ui.perfetto.dev/ 查看跟踪结果。

小技巧

在性能分析时,只通过 vLLM 发送少量请求,因为跟踪结果可能会非常大。此外,无需解压缩跟踪结果,可以直接查看。

小技巧

要停止性能分析器,它会将所有性能分析跟踪文件刷新到目录中。这需要一些时间,例如,对于大约 100 个请求的 llama 70b 数据,在 H100 上刷新大约需要 10 分钟。在启动服务器之前,将环境变量 VLLM_RPC_GET_DATA_TIMEOUT_MS 设置为一个较大的数字。例如,设置为 30 分钟。export VLLM_RPC_GET_DATA_TIMEOUT_MS=1800000

示例命令和用法:#

离线推理:#

有关示例,请参考 examples/offline_inference_with_profiler.py

OpenAI 服务器:#

VLLM_TORCH_PROFILER_DIR=./vllm_profile python -m vllm.entrypoints.openai.api_server --model meta-llama/Meta-Llama-3-70B

benchmark_serving.py:

python benchmarks/benchmark_serving.py --backend vllm --model meta-llama/Meta-Llama-3-70B --dataset-name sharegpt --dataset-path sharegpt.json --profile --num-prompts 2