DeepSeek-单机多卡折腾记

266 阅读3分钟

1.DeepSeek部署-Win版本

2.DeepSeek部署-Linux版本

3.DeepSeek部署-一键部署(Linux版本)

4.DeepSeek部署-进阶版本(Linux+GPU)

5.DeepSeek部署-基于vLLM部署

6.DeepSeek部署-部署Open WebUI

7.DeepSeek部署-容器化(Docker)部署vLLM和Open WebUI

8.DeeSeek部署-多机多卡集群部署

前面我们从单机到集群,从Win到Linux都已经涉及,但是没涉及到单机多卡,本篇文章就来说说这个单机多卡遇到的问题。

本次环境是4张卡Tesla V100卡。

1.只能用1张卡

ollama是使用官方脚本安装的,ollama是以systemctl方式启动,下载的是deepseek-r1:32b模型,启动以后发现只使用了22G显存,实际上只用了1张卡,其他卡未使用。

如果要使用4张卡则需要按照下面的方式调整配置,或者跑更大的模型,如果超过单张卡GPU显存限制,则会自动分配到所有显卡上面,不需要做任何特殊配置。

vi /etc/systemd/system/ollama.service
#增加下面2个参数
Environment="CUDA_VISIBLE_DEVICES=0,1,2,3"
Environment="OLLAMA_SCHED_SPREAD=1"
#重新加载ollama
systemctl daemon-reload
systemctl restart ollama
#然后重启模型
ollama run deepseek-r1:32b

2.模型自动退出

模型启动以后,如果自动退出(默认时间是5分钟),但是你提问的时候他会自动拉起(中途需要反应时间),这样会降低响应速度。

#日志里面大概会有类似的日志
"new model will fit in available VRAM, loading" model=/usr/share/ollama/.ollama/models/blobs/sha256-4cd576d9aa16961244012223abf01445567b061f1814b57dfef699e4cf8df339 library=cuda parallel=4 required="49.9 GiB"

#设置-1则永不退出,也可以设置其他具体时间,比如1h。
#再参考刚才 重启服务即可常驻
Environment="OLLAMA_KEEP_ALIVE=-1"

3.单机运行多模型

机器下载了多个模型,运行其中一个模型以后,再开启另外一个模型。

root@localhost:~# ollama ls
NAME                                 ID              SIZE     MODIFIED     
deepseek-r1:32b                      38056bbcbb2d    19 GB    3 hours ago     
deepseek-r1:32b-qwen-distill-fp16    141ef25faf00    65 GB    19 hours ago    
deepseek-r1:70b                      0c1615a8ca32    42 GB    20 hours ago  

4.Open WebUI 提问拉起模型

部署ollama以后,他会自动开机启动;再部署好容器化的Open WebUI(也配置了开机自启动)。这个时候我们把这个机器重启(模型未启动),我们可以通过Open WebUI访问到模型并进行提问,这个时候模型就会自动启动,然后等待模型启动以后,他就会自动回答我的问题(需要等待模型启动的时间)。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。