上一题下一题

vLLM 服务启动后显存占用高于预估时,如何从模型权重、KV Cache 和并发配置分析

旗舰版
来源:huawei初级工程师LLM推理吞吐量优化并发请求数调优KV Cache显存管理vLLM显存占用分析
草稿该题目为草稿状态,前台公开题库中不可见。
答案解析

我一般会把 vLLM 启动后的显存拆成几块来看:模型权重、KV Cache、运行时开销,以及并发相关的预留。

首先看模型权重占用是否符合预期。权重大小主要跟参数量、精度和并行方式有关,比如 FP16/BF16 大概是 参数量 2 bytes,INT8 大概减半,INT4 更低。如果用了 Tensor Parallel,单卡理论上只承载 1 / TP size 的权重,但还要考虑 embedding、lm head、部分通信 buffer 和框架本身开销,所以不会完全等比例下降。另外要确认实际加载的 dtype,比如配置里写了 dtype=auto,有些模型可能会按 BF16/FP16 加载;如果量化模型没有真正走量化加载路径,显存也会明显高于预估。

第二块是 KV Cache,这通常是 vLLM 显存占用高的主要原因。vLLM 会在启动时根据 gpu memory utilization、模型权重占用和可用显存,预分配一部分显存给 KV Cache。KV Cache 大小跟这些因素有关:

max model len:上下文越长,需要的 KV Cache

登录后查看完整内容