Linux环境部署DeepSeek大模型
一、背景
【DeepSeek 深度求索】这个春节给了世界一个重磅炸弹,弄得美国都睡不好觉。这次与以往不同,之前我们都是跟随着美国的AI人工智能,现在DeepSeek通过算法上的优化,大大降低了训练模型所需的成本以及时间,短期造成了英伟达的市值都下跌,美国多方机构直接禁止使用DeepSeek。
DeepSeek做实事,整个模型进行开源,并且公开了整个训练的论文信息。 这个不像以往某些国内企业,到处鼓吹"国产自研"却不敢开源。开源就是实打实地给大家来进行检验。
既然是开源那么我们可以方便拿到模型文件、模型部署信息等进行部署、运行。我们也一起来体验一下本地DeepSeek的效果怎么样。
DeepSeek支持CPU模式以及GPU模式进行运行, 但是大多数情况下随着模型参数越大,越是依赖于GPU的计算能力。 CPU的效果非常差,但是如果没有GPU资源的情况下也可以使用CPU的模式运行,用于学习用途即可,生产环境和训练环境,不会使用CPU进行运算的。
二、工具介绍
1、Ollama工具
官网地址: Ollama
Ollama 是一个基于 Go 语言的本地大语言模型运行框架,类 docker 产品(支持 list,pull,push,run 等命令),事实上它保留了 Docker 的操作习惯,支持上传大语言模型仓库 (有 deepseek、llama 2,mistral,qwen 等模型,你也可以自定义模型上传)。
通俗理解就是,Ollama这个类似Docker的平台工具,方便我们去直接运行各种LLM大模型。不需要我们去了解模型启动、模型参数配置、以及各种依赖以及准备工作。
只需要类似docker run的方式, 就能直接运行起一个LLM大模型。 是不是很牛批呢! 例如下面就是运行ollama run deepseek-r1:1.5b参数模型的命令:
ollama run deepseek-r1:1.5b
就是只需要这么一条命令就能将deepseek大模型运行起来,并且进入一个命令行输入框,与模型进行问答对话。
可以运行的模型类似docker hub一样, Ollama也有网页可以搜索到自己需要部署的LLM大模型。只要以及制作好的大模型,就能进行运行
2、OpenWebUI 可视化工具
官网: 🏡 Home | Open WebUI
Open WebUI是一个可扩展、功能丰富、用户友好的自托管AI平台,旨在完全离线运行。它支持各种LLM运行程序,如Ollama和OpenAI兼容的API,内置RAG推理引擎,使其成为一个强大的AI部署解决方案。
部署了Open WebUI可以自动连接适配如本地部署的DeepSeek等大模型,并且提供了一个web服务,方便我们与大模型进行对话。部署完毕后,效果如下图:
三、部署DeepSeek
注意:
本次部署是基于Centos7并且附带了一张英伟达 V100显卡的服务器。 可以在阿里云进行按量付费,购买GPU服务器, GPU服务器本质上就是在普通的ECS上,通过PCIE卡槽外接了显卡的服务器而已。 然后我们后面可以把大模型需要进行计算的交给GPU而非CPU,仅此而已!
1、安装Ollama工具
1、进入官网,选择对应平台的下载方式进行下载,安装
2、Linux直接采取第二种方式
3、安装Docker环境, 这一步大家自行安装
4、安装CUDA相关驱动, CUDA是一种编程语言,专门用于与GPU进行打交道。如果配置CUDA驱动不当,会导致模型直接使用CPU模式而非GPU模式, CPU模式性能真的非常差,文章后面给大家看下两者的性能差距.
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
| sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo yum install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
2、Ollama运行DeepSeek
1、先运行ollma服务
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
# -d 容器后台运行
# --gpus=all 运行容器使用GPU资源进行计算
# -v 挂载保存后期pull下载的大模型相关信息,后续如果继续运行,无需重新下载
# -p 映射端口出来, 11434提供RESTFUL API接口, 可以给如OpenWebUI或者其它程序调用进行对话
# --name 为这个容器起一个名字, ollama
2、在ollma容器里面运行大模型, ollama run deepseek-r1:1.5b
docker exec -it ollama ollama run deepseek-r1:1.5b
3、Ollama常用命令
4、判断大模型是否使用到GPU资源,执行nvidia-smi命令查看情况
使用了GPU资源的情况:
没有使用到GPU资源,而是使用CPU资源:
5、OpenWebUI组件部署
这个可以参考官方文档部署即可,很简单,默认8080端口,第一次访问需要注册一个用户。然后会默认连接到本地的大模型。 最后页面如下:
可以和我们日常一样对大模型进行对话、问答模式。
四、使用CPU模式和GPU模式性能差距对比
使用GPU加速,相同问题,回答还是11s左右。 但是如果只是使用CPU进行运算,相同问题,模型回答时间长达2分多钟。 性能相差了几十倍!
所以为什么英伟达挣的盆满钵满, 因为AI需要强大算力的支持, 否则如果还是停留在CPU进行大模型的训练, 不知要等到猴年马月才出一次训练结果!
DeepSeek使用CPU和GPU模式性能对比
五、总结
AI人工智能肯定是以后新兴产业,并且触发再一次的工业革命,趋势和潮流势不可挡。就像当初早期刚接触互联网的大佬,站在风口,尝到了甜头。所以后期要根据自己相关工作、学习情况,看下是否能结合AI擦出不一样的火花🔥!
我们不一定全部懂AI的全部底层原理,就像我们日常都在用手机一样,你都懂手机的零部件原理吗?你会修手机吗? 你知道手机电话如何打通、短信如何发送的原理吗?
答案是否定的,明显绝大部分人都不懂,但是不妨碍我们通过手机来解决各种各样的问题,道理类似。