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

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

<think>好的,用户想在Linux环境下本地部署大型机器学习模型,我需要根据提供的引用资料和系统指令来生成回答。首先,我需要确保回答结构清晰,分步骤说明,同时正确使用LaTeX格式的数学表达式,并生成相关问题。 首先,引用[3]提到将大模型快速部署到个人服务器,使用openEuler系统,这可能涉及到系统准备和依赖安装。引用[2]提到部署本地AI大模型并与知识库对接,涉及模型选择和环境搭建。引用[1]则强调模型部署的关键步骤,如生产环境迁移和管理。 我需要将步骤分解,可能包括系统准备、环境配置、模型下载、部署验证和接口开发。每个步骤要简明扼要,引用对应的资料。同时,要检查是否有需要数学公式的地方,比如性能优化的部分,可能需要使用行内公式,例如计资源消耗的公式,比如内存使用量$M = n \times d \times s$,这里n是参数量,d是数据类型大小,s是安全系数。但要注意是否符合用户的问题,如果用户没有提到性能分析,可能不需要加入,但根据系统指令需要生成相关问题,所以在相关问题部分可以提问性能优化。 然后,生成相关问题时,要考虑用户可能的后续疑问,比如性能优化、应用场景、模型选择等,根据引用资料中的内容,引用[2]提到大模型平台应用与开发,引用[3]涉及部署教程,所以相关问题可以涉及这些方面。 另外,要注意所有行内数学表达式用$...$,独立公式用$$...$$,但当前回答中可能没有太多数学内容,可能需要确认是否有必要添加。例如在资源评估部分,可以加入简单的公式说明内存需求,但如果没有相关资料支持,可能需要省略,避免不准确。 最后,确保引用标识正确,每个引用来源的末尾自然添加,例如环境配置部分引用[^3],模型选择引用[^2],部署管理引用[^1]。 现在整理步骤: 1. 系统准备:推荐Ubuntu或CentOS,硬件需求,参考引用[3]的openEuler系统。 2. 环境配置:安装Python、CUDA、深度学习框架,参考引用[3]。 3. 模型获取:Hugging Face下载,引用[2]提到星火、文心大模型。 4. 部署验证:加载模型并测试,引用[1]的生产环境迁移。 5. 接口开发:使用FastAPI创建API,引用[2]的应用开发部分。 相关问题部分需要涵盖教程、性能优化、应用场景、安全措施、模型选择、与知识库整合,这些在引用中有提到相关内容,比如引用[2]的与知识库对接,引用[3]的部署教程,引用[1]的管理步骤。 确保回答中没有使用Markdown格式,段落清晰,代码块用三个反引号包裹,正确标注引用。现在综合所有信息,组织回答内容。</think>在Linux系统上部署大型机器学习模型需要经过系统准备、环境配置、模型部署和验证等关键步骤。以下是详细方法和教程: --- ### **一、系统与环境准备** 1. **操作系统选择** 推荐使用Ubuntu/CentOS/openEuler等稳定性较高的发行版。例如,openEuler针对服务器优化并支持国产硬件。 ```bash # 查看系统版本 cat /etc/os-release ``` 2. **硬件资源评估** 大型模型(如LLaMA-2、GPT-3)通常需要: - GPU:NVIDIA A100/V100(显存≥16GB) - 内存:≥64GB - 存储:≥500GB(模型文件+数据集) 资源需求公式:$$M = n \times d \times s$$,其中$n$为参数量,$d$为数据类型大小,$s$为安全系数。 3. **安装基础依赖** ```bash # 安装Python和CUDA sudo apt-get install python3.10 python3-pip sudo apt-get install nvidia-cuda-toolkit ``` --- ### **二、模型部署流程** 1. **选择模型框架** - **PyTorch**:适合动态图调试 ```bash pip3 install torch torchvision torchaudio ``` - **TensorFlow Serving**:适合生产环境 2. **下载预训练模型** 通过Hugging Face或官方仓库获取模型: ```python from transformers import AutoModel model = AutoModel.from_pretrained("meta-llama/Llama-2-7b") ``` 3. **部署验证** ```python # 测试模型推理 input_ids = tokenizer("Hello, world!", return_tensors="pt").input_ids outputs = model.generate(input_ids) print(tokenizer.decode(outputs[0])) ``` --- ### **三、接口与服务化** 1. **使用FastAPI封装REST接口** ```python from fastapi import FastAPI app = FastAPI() @app.post("/predict") def predict(text: str): return {"result": model.generate(text)} ``` 2. **通过Nginx反向代理** ```nginx location /api/ { proxy_pass http://localhost:8000; } ``` --- ### **四、运维与监控** 1. **资源监控** 使用`nvidia-smi`和`htop`实时查看GPU/CPU使用率。 2. **模型更新** 采用蓝绿部署或金丝雀发布降低风险。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Rocky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值