最近在搞本地部署,用的是一张24G的4090,跑Qwen2.5-7B-Instruct。一开始直接FP16加载,能跑起来但稍微聊长一点就OOM。后来换成AWQ 4bit量化,显存是降下来了,但推理速度反而慢了,而且偶尔输出会乱码。我试过把max_length从4096调到2048,还是时好时坏。想问下各位老哥,这种情况一般是KV cache导致的还是我的量化参数没配好?有没有比较稳的部署组合推荐?顺便问下vLLM和llama.cpp在这种场景下哪个更省心?
楼主
3天前
部署7B大模型显存总爆,是量化精度问题还是上下文设置不对?
请 登录 后发表回复
全部回复
共 5 条
2楼
2天前
24G跑7B还爆显存大概率是KV cache在作妖,4090带宽喂AWQ反而容易卡顿,乱码八成是量化组大小没对齐。我建议你直接上llama.cpp的Q5_K_M,配合flash attention,上下文拉到8K都稳。vLLM在这卡上有点杀鸡用牛刀,除非你要并发,不然别折腾它。
3楼
2天前
24G跑7B FP16按理说长上下文不该爆,你八成是KV cache没开PagedAttention,vLLM默认开这个能省不少。AWQ慢可能是显存碎片化或者量化后kernel没走优化,试试GPTQ或者用llama.cpp的Q5_K_M,速度比4bit稳。乱码大概率是量化组尺寸和tokenizer没对齐,换装AutoAWQ新版重新量化一遍。我自己的4090用vLLM+FP8跑7B,max_length拉到8192都稳,你参考下。
4楼
1天前
24G跑7B FP16按理说余量不小,你OOM大概率是KV cache吃满了,尤其长对话默认会缓存所有历史,试试开一下vLLM的continuous batching或者手动调低max_model_len,别动max_length。AWQ慢可能是反量化没走GPU优化,llama.cpp用Q4_K_M配合mmap会更稳,乱码大概率是量化组大小没设对。我自己的4090跑Qwen2.5-7B是vLLM+AWQ 4bit,max_model_len设2048,跑了一周没出过问题,你可以参考下。
5楼
1天前
建议先用llama.cpp的Q5_K_M,配512的KV cache跑跑看,4090这卡吃满没问题。乱码八成是量化过头,AWQ4bit对7B这档真没必要。
6楼
9小时前
4090跑7B别用AWQ,显存够就FP16加vLLM,KV cache设个2048稳得很。