vLLM CPU版DeepSeek部署血泪史,带你避开那些坑!
核心内容:
1. 从ollama转向vLLM的本地化部署背景
2. Python、gcc版本不匹配等安装障碍
3. 运行时遇到的各种报错及解决尝试
一、背景
之前一直是用Ollama做本地化部署的,但说实话,Ollama更适合自己在本地玩玩。提供的API丰富程度、吞吐量以及支持的上下文长度,完全没法跟vLLM比。所以决定还是找台机器,基于vLLM(官方文档)对DeepSeek 32B搞本地化部署。其实vLLM这个框架主要是为GPU做了优化,至于为什么选CPU版本——那当然是因为预算有限啊。
安装教程主要参考了官网和一篇社区文章,但实际踩的坑比想象的多得多。下面一个个来。
二、坑一:Python环境版本
不同的vLLM版本对Python版本要求很严格。比如最新的vLLM 0.73版本要求Python 3.12,而之前的0.63版本则要求3.10。vLLM的版本这么多,选错了Python版本直接编译失败,连安装都进行不下去。
三、坑二:gcc版本
按官网要求,gcc、g++版本需要升级到12.3.0以上。而且必须编译安装,不能直接apt-get搞定。编译过程很麻烦,耗时特别长,一台机器上跑几个小时都是常有的事。
四、坑三:git下载与依赖安装
从GitHub克隆vLLM仓库后,进入vllm目录,按照requirements-cpu.txt文件要求安装其他依赖包。这里有个关键点:必须指定
--extra-index-url https://download.pytorch.org/whl/cpu
否则根本装不上(亲身验证过)。

然后安装基于CPU的服务端:
到这一步都还算正常,接下来运行下载好的模型,问题就来了。
执行命令:
vllm serve /usr/local/data/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
一直报错、报错、再报错……

去GitHub上搜了一圈,CPU版本的相关解决方案几乎为零(参考issues:#7608、#5501)。讨论中提到比较多的是通过版本降级,安装更低版本的vLLM来解决问题。
但先后切换了vLLM 0.7.3、0.7.0、0.6.6、0.6.3,全都不行。

放弃了,等GPU机器到位了再写新的经验帖。
