Linux环境部署DeepSeek大模型

server/2025/2/6 6:23:48/

一、背景

        【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.reposudo yum install -y nvidia-container-toolkitsudo 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的全部底层原理,就像我们日常都在用手机一样,你都懂手机的零部件原理吗?你会修手机吗? 你知道手机电话如何打通、短信如何发送的原理吗?

        答案是否定的,明显绝大部分人都不懂,但是不妨碍我们通过手机来解决各种各样的问题,道理类似。


http://www.ppmy.cn/server/165342.html

相关文章

98.2 AI量化开发:基于DeepSeek打造个人专属金融消息面-AI量化分析师(理论+全套Python代码)

目录 0. 承前1. 金融工程结构图2. Why is DeepSeek3. 项目实现代码3.1 导入python库3.2 参数设置3.3 获取数据3.4 数据处理3.5 AI人设提示词3.6 Messages构建3.7 AI Agent3.8 response格式处理3.9 汇总函数3.10 运行案例 4. 总结4.1 系统优点4.2 系统缺点4.3 可提升方向 0. 承前…

使用 Kotlin 将 Vertx 和 Springboot 整合

本篇文章目的是将 Springboot 和 Vertx 进行简单整合。整合目的仅仅是为了整活,因为两个不同的东西整合在一起提升的性能并没有只使用 Vertx 性能高,因此追求高性能的话这是在我来说不推荐。而且他们不仅没有提高很多性能甚至增加了学习成本 一、整合流…

搭建集成开发环境PyCharm

1.下载安装Python(建议下载并安装3.9.x) https://www.python.org/downloads/windows/ 要注意勾选“Add Python 3.9 to PATH”复选框,表示将Python的路径增加到环境变量中 2.安装集成开发环境Pycharm http://www.jetbrains.com/pycharm/…

p5r预告信生成器API

p5r预告信生成器API 本人将js生成的p5r预告信使用go语言进行了重写和部署,并开放了其api,可以直接通过get方法获取预告信的png。 快速开始 http://api.viogami.tech/p5cc/:text eg: http://api.viogami.tech/p5cc/persona5 感谢p5r风格字体的制作者和…

机器人抓取与操作概述(深蓝)——1

工业机器人:① “臂”的形态 ② “手”的形态 ③ 视觉,力和触觉 1 机器人的不同形态 “臂”的形态 “手”的形态 2 常见的操作任务 操作:插入、推和滑 抓取:两指(平行夹爪)抓取、灵巧手抓取 落地-产…

Hive:窗口函数(1)

窗口函数 窗口函数OVER()用于定义一个窗口,该窗口指定了函数应用的数据范围 对窗口数据进行分区 partition by 必须和over () 一起使用, distribute by经常和sort by 一起使用,可以不和over() 一起使用.DISTRIBUTE BY决定了数据如何分布到不同的Reducer上&#xf…

设计模式学习(二)

结构型 适配器模式 定义 它允许将一个类的接口转换成客户端期望的另一个接口。适配器模式通常用于使不兼容的接口能够一起工作。 适配器模式的角色 目标接口(Target):客户端期望的接口。适配者(Adaptee)&#xff…

UE Bridge混合材质工具

打开虚幻内置Bridge 随便点个材质点右下角图标 就能打开材质混合工具 可以用来做顶点绘制