当前位置: 首页 > article >正文

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

前面几个小节讲解的Win和Linux部署DeepSeek的比较简单的方法,而且采用的模型也是最小的,作为测试体验使用是没问题的。如果要在生产环境使用还是需要用到GPU来实现,下面我将以有一台带上GPU显卡的Linux机器来部署DeepSeek。这里还只是先体验单机单卡,后期会更新多机多卡使用更高模型的文章。

1.确认配置

由于是虚拟机,并且虚拟机方面做了配置,所以这里并未显示真实显卡型号,实际型号:NVIDIA Tesla T4 16G。  

[root@deepseek01 ~]# lspci |grep -i nvid00:0d.0 3D controller: NVIDIA Corporation Device 1eb8 (rev a1)[root@deepseek01 ~]# 

2.下载驱动

根据自己的显卡型号下载对应的型号,我这里是NVIDIA Tesla T4 16G。

https://www.nvidia.cn/drivers/lookup/

图片

然后进入搜索下载页面,就可以看到下面的下载地址,这里下载是下载到本地电脑,如果是想直接下载到服务器里面,需要添加一个referer。

图片

     #直接下载会提示403,所以这里添加了一个referer wget --referer=https://www.nvidia.cn/drivers/details/240206/ \ https://cn.download.nvidia.com/tesla/570.86.15/NVIDIA-Linux-x86_64-570.86.15.run

    3.升级内核

    这里需要内核高于4.15才可以,否则驱动会安装失败,所以建议选择更高内核系统,我这里使用是CentOS7.5,做了先升级内核,然后手工编译了gcc才最终安装成功驱动。我在其他环境安装Ubuntu 22.4 则没有这个动作,直接安装下面的包即可(gcc需要换成gcc-12)。

    4.安装工具包

    yum -y install gcc gcc-c++ tar make bzip2 pkgconfig libglvnd-devel libglvnd elfutils-libelf-devel

    5.安装GPU显卡驱动​​​​​​​

    ./NVIDIA-Linux-x86_64-570.86.15.run -a -s -Z \--no-opengl-files
    • -a 或 --accept-license:这个参数表示你接受NVIDIA软件许可协议。如果不使用这个参数,安装过程中会提示你阅读并接受许可协议。

    • -s 或 --silent:这个参数使安装脚本以静默模式运行,不会显示任何用户交互提示,直接进行安装。

    • -Z 或 --disable-nouveau:这个参数用于禁用开源的Nouveau驱动,这是因为NVIDIA官方驱动与Nouveau驱动不兼容。在安装NVIDIA官方驱动之前,通常需要先禁用Nouveau驱动。Ubuntu 22.4需要手工禁用。

    • --no-opengl-files:这个参数告诉安装脚本不要安装OpenGL相关的文件。如果你不需要OpenGL支持(例如,你只打算使用GPU进行计算任务而不是图形渲染),可以使用这个参数。这可能会减少驱动程序包的大小,并避免在某些情况下可能出现的兼容性问题。

    6.检查驱动安装情况

    如下图已经识别到我的显卡。

    图片

    7.GPU驱动常驻内存​​​​​​​

    cd /usr/share/doc/NVIDIA_GLX-1.0/samples/tar xvf nvidia-persistenced-init.tar.bz2cd nvidia-persistenced-init/./install.sh#检查状态是否正常systemctl status nvidia-persistenced.service

    8.下载CUDA

    这里连CentOS7适合的CUDA都没有,这里先用8代替。

    https://developer.nvidia.com/cuda-downloads

    图片

    9.安装CUDA

    接受协议,取消默认驱动,最后是安装

     ./cuda_12.8.0_570.86.10_linux.run --no-opengl-libs

    图片

    图片

    图片

    10.配置环境变量&检查CUDA安装情况​​​​​​​

    添加到/etc/profile文件中,对所有用户生效# vim /etc/profileexport PATH=/usr/local/cuda/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH# source /etc/profile#测试cuda安装是否正确,环境变量是否识别成功# nvcc -V

    图片

    11.安装DeepSeek

    参考上小节:快速搭建DeepSeek-Linux版本,只是这里我选择的8b版本,这里已经显示使用的是我们的GPU。

    图片

    12.验证GPU

    从下图已经可以看出来他正在使用GPU进行运算。

    nvidia-smi

    图片

    总结:操作系统尽量选择比较新的内核,CentOS7,还是老了。

    相关文章:

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

    前面几个小节讲解的Win和Linux部署DeepSeek的比较简单的方法,而且采用的模型也是最小的,作为测试体验使用是没问题的。如果要在生产环境使用还是需要用到GPU来实现,下面我将以有一台带上GPU显卡的Linux机器来部署DeepSeek。这里还只是先体验单…...

    疯狂安卓入门,crayandroid

    系列文章目录 文章目录 系列文章目录第一组 ViewGroup 为基类帧布局约束布局 第二组 TextView 及其子类button时钟 AnalogClock 和 TextClock计时器 第三组 ImageView 及其子类第四组 AdapterView 及其子类AutoCompleteTextView 的功能和用法ExapndaleListViewAdapterViewFlipp…...

    批量测试IP和域名联通性

    最近需要测试IP和域名的联通性,因数量很多,单个ping占用时间较长。考虑使用Python和Bat解决。考虑到依托的环境,Bat可以在Windows直接运行。所以直接Bat处理。 方法1 echo off for /f %%i in (E:\封禁IP\ipall.txt) do (ping %%i -n 1 &…...

    Python——计算机网络

    一.ip 1.ip的定义 IP是“Internet Protocol”的缩写,即“互联网协议”。它是用于计算机网络通信的基础协议之一,属于TCP/IP协议族中的网络层协议。IP协议的主要功能是负责将数据包从源主机传输到目标主机,并确保数据能够在复杂的网络环境中正…...

    一招解决Pytorch GPU版本安装慢的问题

    Pytorch是一个流行的深度学习框架,广泛应用于计算机视觉、自然语言处理等领域。安装Pytorch GPU版本可以充分利用GPU的并行计算能力,加速模型的训练和推理过程。接下来,我们将详细介绍如何在Windows操作系统上安装Pytorch GPU版本。 查看是否…...

    股票交易所官方api接口有哪些?获取和使用需要满足什么条件

    炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...

    MoonSharp 文档五

    目录 13.Coroutines(协程) Lua中的协程 从CLR代码中的协程 从CLR代码中的协程作为CLR迭代器 注意事项 抢占式协程 14.Hardwire descriptors(硬编码描述符) 为什么需要“硬编码” 什么是“硬编码” 如何进行硬编码 硬编…...

    框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性

    最近在思考一个问题:如何能够更好的分享主流框架源码学习笔记(主要是源码部分)?让有缘刷到的同学既可以有所收获,还能保持对相关技术架构探讨学习热情和兴趣。以及自己也保持较高的分享热情和动力。 今天尝试用一个SQL查询作为引…...

    如何重置 MySQL root 用户的登录密码?

    重置 MySQL root 密码的核心步骤是绕过权限验证登录数据库并更新密码字段。以下是具体方法: 方法一:通过 --SKIP-GRANT-TABLES 模式修改密码 停止 MySQL 服务 Windows:在命令行执行 net stop mysql(服务名可能为 mysql80 或 mysql…...

    ArrayList底层结构和源码分析笔记

    参考视频:韩顺平Java集合 ArrayList特点 ArrayList 可以加入 null,包括多个。 ArrayList 是由数组来实现数据存储的 ArrayList 基本等同于 Vector,除了 ArrayList 是线程不安全(执行效率高)。在多线程情况下&#xf…...

    Centos离线安装gcc

    文章目录 Centos离线安装gcc1. gcc是什么?2. gcc下载地址3. gcc的安装4. 安装结果验证 Centos离线安装gcc 1. gcc是什么? GCC(GNU Compiler Collection)是 GNU 项目下的开源编译器套件,主要用于将 C、C 等编程语言的源…...

    flutter 图片资源路径管理

    1. 创建统一资源管理类 创建一个单独的 Dart 文件(比如 manager.dart),将所有图片路径集中管理。这样在引用图片时,不需要每次都手动输入完整路径,只需通过常量引用即可。 //manager.dartclass Manager { static co…...

    [内网渗透] 红日靶场2

    环境配置 靶场地址: http://vulnstack.qiyuanxuetang.net/vuln/wiki/ 环境配置可以看这个: https://www.bilibili.com/video/BV1De4y1a7Ps/?spm_id_from333.337.search-card.all.click&vd_sourcecf73ac8de9b7c0322b1bccf77de91c5dNAT模式分配111段, DHCP也要更改 再添加…...

    【cocos creator】游戏优化,内存,性能,包体积大小,加载,drawcall优化

    参考: https://blog.csdn.net/qq_47012987/article/details/140169024 内存泄露排查 使用chrome测试cocos creator内存泄漏问题手游内存优化cocos creator优化Creator资源自动释放逻辑:所有 cc.Asset 实例都拥有成员函数 addRef 和 decRef,分…...

    MySQL 企业版 TDE加密后 测试和问题汇总

    一、测试keyring file 1.1 当keyring file文件丢失或者被篡改 结论:不影响当前正在运行的数据库,但是在重启服务后会启动失败出现报错。 tail -n 100 /var/log/mysql/error.log 报错信息如下: 2025-03-12T08:04:54.668847Z 1 [ERROR] [M…...

    Unity 封装一个依赖于MonoBehaviour的计时器(下) 链式调用

    [Unity] 封装一个依赖于MonoBehaviour的计时器(上)-CSDN博客 目录 1.加入等待间隔时间"永远执行方法 2.修改为支持链式调用 实现链式调用 管理"链式"调度顺序 3.测试 即时方法​编辑 "永久"方法 链式调用 ​4.总结 1.加入等待间隔时间&qu…...

    petalinux环境下给linux-xlnx源码打补丁

    在调试88e1512芯片时官方驱动无法满足我的应用方式,因此修改了marvell.c源码,但是在做bsp包重新创建新工程时发现之前的修改没有生效,因此查找了一下资料发现可以通过打补丁的方式添加到工程文件中,便于管理。 操作步骤 一、获取…...

    套接字缓冲区以及Net_device

    基础网络模型图 一般网络设计分为三层架构和五层设计: 一、三层架构 用户空间的应用层 位于最上层,是用户直接使用的网络应用程序,如浏览器、邮件客户端、即时通讯软件等。这些程序通过系统调用(如 socket 接口)向内核…...

    2024下半年真题 系统架构设计师 案例分析

    案例一 软件架构 关于人工智能系统的需求分析,给出十几个需求。 a.系统发生业务故障时,3秒内启动 XXX,属于可靠性 b.系统中的数据进行导出,要求在3秒内完成,属于可用性 c.质量属性描述,XXX,属…...

    AI学习——深度学习核心技术深度解析

    一、深度学习的本质与核心思想 定义:通过多层非线性变换,自动学习数据层次化表征的机器学习方法 核心突破: ​表征学习:自动发现数据的内在规律,无需人工设计特征​端到端学习:直接从原始输入到最终输出&…...

    c++介绍智能指针 十二(2)

    智能指针share_ptr,与unique_ptr不同&#xff0c;多个shar_ptr对象可以共同管理一个指针&#xff0c;它们通过一个共同的引用计数器来管理指针。当一个智能指针对象销毁时&#xff0c;计数器减一。当计数器为0时&#xff0c;会将所指向的内存对象释放。 #include<memory>…...

    西门子S7-1200 PLC远程调试技术方案(巨控GRM532模块)

    三步快速实现远程调试 硬件部署 准备西门子S7-1200 PLC、巨控GRM552YW-C模块及编程电脑。GRM552YW-C通过网口与PLC连接&#xff0c;支持4G/5G/Wi-Fi/有线网络接入&#xff0c;无需复杂布线。 软件配置 安装GVCOM3配置软件&#xff0c;注册模块&#xff08;输入唯一序列号与密…...

    vue启动 localhost无法访问

    1. localhost 和 127.0.0.1 虽然都指向本机&#xff0c;但它们有细微的区别&#xff1a; - localhost 是一个域名&#xff0c;需要通过 DNS 解析或本地 hosts 文件解析为 IP 地址 - 127.0.0.1 是直接的 IP 地址&#xff0c;不需要解析过程 2. 无法访问 localhost 的可…...

    Mac上更改默认应用程序

    Mac上为某些文件设置默认打开应用的时候&#xff0c;刚开始是通过打开方式&#xff0c;其他里面&#xff0c;勾选始终以此方式打开&#xff0c;但实际上这个功能并不太好用&#xff0c;经常会让人误以为已经设置好了。但是实际上只是在当前目录起作用。真正解决这个问题可以按照…...

    【开源+代码解读】Search-R1:基于强化学习的检索增强大语言模型框架3小时即可打造个人AI-search

    大语言模型(LLMs)在处理复杂推理和实时信息检索时面临两大挑战:知识局限性(无法获取最新外部知识)和检索灵活性不足(传统方法依赖固定检索流程)。现有方法如检索增强生成(RAG)和工具调用(Tool-Use)存在以下问题: RAG:单轮检索导致上下文不足,无法适应多轮交互场景…...

    贪心算法和遗传算法优劣对比——c#

    项目背景&#xff1a;某钢管厂的钢筋原材料为 55米&#xff0c;工作需要需切割 40 米&#xff08;1段&#xff09;、11 米&#xff08;15 段&#xff09;等 4 种规格 &#xff0c;现用贪心算法和遗传算法两种算法进行计算&#xff1a; 第一局&#xff1a;{ 40, 1 }, { 11, 15…...

    网络安全防护总体架构 网络安全防护工作机制

    1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性&#xff0c;信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论&#xff0c;典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能…...

    SpringCloud带你走进微服务的世界

    认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部…...

    Python设计模式 - 建造者模式

    定义 建造者模式是一种创建型设计模式&#xff0c;主要用于构建包含多个组成部分的复杂对象。它将对象的构建过程与表示分离&#xff0c;使得同样的构建过程可以创建不同的对象表示。 结构 抽象建造者&#xff08;Builder&#xff09;&#xff1a;声明创建产品的各个部件的方…...

    在 Ubuntu 上安装和配置 Docker 的完整指南

    Docker 是一个开源的平台&#xff0c;旨在简化应用程序的开发、部署和运行。通过将应用程序及其依赖项打包到容器中&#xff0c;Docker 确保应用程序可以在任何环境中一致地运行。 目录 前言安装前的准备安装 Docker 步骤 1&#xff1a;更新包索引步骤 2&#xff1a;安装必要…...