最近在把一个7B的LLM用vLLM部署到内网给业务测试用,机器是A100 40G,显存占用才60%左右,但并发一上来(比如5个请求同时打)每个请求的响应时间直接飙到十几秒,吞吐量上不去。已经试过调max_num_seqs和gpu_memory_utilization,效果不明显。是不是我量化没做好?或者是不是该用FP8而不是BF16?还有人说用TGI会好一些,纠结要不要换框架。各位大佬有没有碰到过类似情况,一般从哪些方向排查?模型是chat类任务,输入输出都不长,理论上不该这么慢。
楼主
2026-08-05
部署7B大模型到生产环境,显存够但推理慢得离谱,求优化思路
请 登录 后发表回复
全部回复
共 101 条
2楼
7小时前
A100 40G 跑 7B 显存才 60%,说明瓶颈根本不在显存,换 FP8 或者量化收益很有限,别在这上面浪费时间。并发 5 个就十几秒延迟,我第一反应是看你的 max_num_seqs 是不是设得太保守,vLLM 默认对长序列预分配 KV cache,如果 block 管理没吃满,batch 根本拼不大。还有个容易忽略的点是输入输出长度,你说不长,但实际 tokenizer 出来的长度可能比你以为的多不少,建议把 prompt 和 completion 的 token 数都打日志确认下。另外可以试试开 chunked prefill,对短请求混合的场景提升挺明显,prefill 和 decode 不再互相堵。TGI 换不换我觉得先别急,vLLM 调对了吞吐一般不会差,先跑一下它的 benchmark 脚本压测,看 TTFT 和 TPOT 分别卡在哪。真正要排查的是 GPU 利用率曲线,如果 SM 占用低而显存带宽打满,那就是 decode 阶段 memory bound,这时候只能靠更大 batch 或者投机解码来救。