本文同时发布于cnblogs(四方云)和csdn(四方雲)
废话不多说,项目地址是:
https://github.com/sasha0552/pascal-pkgs-ci
docker镜像地址是:
docker pull ghcr.nju.edu.cn/sasha0552/vllm:v0.7.0
目前最新是v0.7.2,具体可查看项目readme介绍,有从0.6.6开始的镜像。
ghcr.nju.edu.cn是国内docker镜像加速地址,如果不好用可以自己换掉。
附上我的启动命令作为参考:
docker run --runtime nvidia --gpus all \
-v /home/ai/data/models:/models \
-p 8000:8000 \
--env "HF_HUB_OFFLINE=1" \
--ipc=host \
--name=vllm \
--restart always ghcr.nju.edu.cn/sasha0552/vllm:v0.7.0 \
--model /models/QwQ-32B-Q5_K_S/Qwen_QwQ-32B-Q5_K_S.gguf \
--tensor-parallel-size 4 \
--tokenizer /models/QwQ-32B-Q5_K_S \
--served_model_name QwQ-32B-Q5_K_S \
--gpu_memory_utilization 0.98 \
--max_model_len 8192 \
--dtype half \
--enforce-eager \
--enable-prefix-caching \
--disable-custom-all-reduce \
--quantization gguf \
--api_key ""
–enforce-eager是关键参数,如果显存是文件大小三倍以上可以不用。
环境是:x99寨板,双路E5-2683 v4 ,64g内存,256固态硬盘,2t移动机械硬盘,四卡p104-100,单卡8g显存,ubuntu 22.04 server, 启动成功后内存仅剩 34g,每张卡显存占用 7226/8192。
速度在10tokens/s到20tokens/s之间,时快时慢,不过比ollama只能10tokens/s要好多了,也能利用vllm优势并发。
ps:众所周知,vllm官方main分支是不支持算力7.0以下的N卡的,也就是说至少V100,Volta架构以上才能运行这个框架,这让我们这些吃剩下的垃圾佬很难受,所以才一直在找相关项目的踪迹,一开始想自己去编译合适的版本,后来看到了这个劝退贴:https://www.cnblogs.com/boydfd/p/18606571,加上几天的编译都是各种失败,实在不行了,就放弃,重新在vllm官方项目issue里找到了蛛丝马迹,最后验证了这个项目的可用性,而且版本更新没有落后官方太多,很是惊喜。