8张3090部署的大模型,使用vllm,使用一段时间出现cuda out of memory。
最后增加了enable-chunked-prefill参数和max_num_batched_tokens解决了问题。
--tensor-parallel-size 8 --gpu_memory_utilization 0.8 --enable-chunked-prefill --max-num-batched-tokens 1024
1、enable-chunked-prefill参数说明:
在大语言模型中,当输入序列很长(例如超过 1024 个 Token)时,Prefill 阶段的计算量会非常大。这会导致:
- 首次 Token 生成时间(TTFT) 增加,即模型生成第一个 Token 的时间变长。
- 显存占用过高,可能导致显存不足或推理效率下降。
enable-chunked-prefill 将长序列分解为多个小块,每个块分别处理。这样可以减少单次 Prefill 的计算量和显存占用,从而优化 TTFT 和显存使用效率。
2、max_num_batched_tokens参数说明:
可以通过设置 max_num_batched_tokens 参数来进一步优化性能。
max_num_batched_tokens用于控制每次批处理中的最大 Token 数量。
(1)对实时性要求较高,建议将max_num_batched_tokens设置为较小的值(如 256 或 512)
(2)需要处理大量请求,设置为较大的值(可以尝试 1024 ~ 4096
9110





被折叠的 条评论
为什么被折叠?



