Ascend-vllm中怎么指定batch和seqlen来测试性能

ascend-vllm中怎么指定batch和seqlen来测试性能

  • Latency tests
    • Input length: 32 tokens.
    • Output length: 128 tokens.
    • Batch size: fixed (8).
    • Models: Meta-Llama-3.1-8B-Instruct, Qwen2.5-7B-Instruct.
    • Evaluation metrics: end-to-end latency (mean, median, p99).

官方md里好像固定了batch = 8, input seqlen = 32, Output length = 128。请问这些数据可以自定义修改吗?

可以自定义batch size、输入序列长度(input length)、输出长度(output length)来测试延迟性能。官方benchmark脚本和CLI支持通过参数如--batch-size--input-len--output-len进行设置,并不强制固定为8/32/128,只是官方文档示例用了这些默认值。例如:

vllm bench latency --model meta-llama/Llama-3.1-8B-Instruct --input-len 64 --output-len 16 --batch-size 4

即可自定义参数进行延迟测试。详细参数说明见官方CLI文档benchmark脚本说明

需要更详细的参数说明或代码示例吗?

Sources:

vLLM 的并行策略主要包括张量并行(Tensor Parallelism, TP)、流水线并行(Pipeline Parallelism, PP)、专家并行(Expert Parallelism, EP)和数据并行(Data Parallelism, DP)。其中,TP 是最常用的,将模型参数在每一层切分到多张 GPU 上。

区分 tp=2 还是 tp=4,主要看初始化 LLM 时 tensor_parallel_size 参数的设置。例如 tensor_parallel_size=2 表示用 2 张卡做张量并行,tensor_parallel_size=4 表示用 4 张卡。具体代码如下:

from vllm import LLM
llm = LLM(model="meta-llama/Llama-3.3-70B-Instruct", tensor_parallel_size=4)

这样即为 tp=4。更多说明见官方优化文档

需要详细解释各并行策略的原理和适用场景吗?

Sources:

vllm bench latency --model meta-llama/Llama-3.1-8B-Instruct --input-len 64 --output-len 16 --batch-size 4
这行命令的并行策略是什么?怎么区分tp2还是tp4?

该命令的并行策略默认是单卡(即不启用张量并行),除非你显式加上参数--tensor-parallel-size。如果你想用tp=2或tp=4,只需加上如--tensor-parallel-size 2--tensor-parallel-size 4。区分tp2还是tp4完全取决于你传入的--tensor-parallel-size参数值。

例如:

vllm bench latency --model meta-llama/Llama-3.1-8B-Instruct --input-len 64 --output-len 16 --batch-size 4 --tensor-parallel-size 2

即为tp=2。详细说明见官方文档

需要进一步解释并行原理或参数设置吗?

Sources: