在vLLM部署实践中,我们通常面临这样的问题:给定特定的模型和运行参数(如max_model_len、max_num_seqs、max_num_batched_tokens等),应该设置多少的gpu-memory-utilization值才能保证模型正常运行?
传统做法是像 《从KV Cache竞争到多卡优化:vLLM加载AWQ模型的显存优化全攻略》那样,先凭经验设定一个gpu-memory-utilization值(如0.7或0.8),然后在部署时才发现显存不足或浪费严重,之后反复迭代修改。这种试错方式不仅效率低下,还可能导致生产环境的部署失败。
本文提出了一种逆向工程的思路:基于vLLM显存占用的底层机制,通过精确计算模型权重、KV缓存、激活内存等各组件的显存需求,倒推出最优的gpu-memory-utilization参数。这种方法让我们能够在部署前就准确预估资源需求,实现一次配置、稳定运行。本文我们将从vLLM显存计算的核心原理出发,构建完整的倒推计算框架和源码,并通过大量实验验证其准确性(会有误差,但基本可以直接使用)。

VLLM启动实验
我们首先做几组VLLM启动实验,从中总结出一些规律。
原始启动命令及日志记录
CUDA_VISIBLE_DEVICES=7 vllm serve Qwen3-14B-AWQ --max_num_seqs
订阅专栏 解锁全文

2万+

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



