DeepSeek 部署过程中的问题

文章目录

  • DeepSeek 部署过程中的问题
    • 一、部署扩展:docker 部署 DS
      • 1.1 部署
      • 1.2 可视化
    • 二、问题
    • 三、GPU 设置
      • 3.1 ollama GPU 的支持情况
      • 3.2 更新 GPU 驱动
      • 3.3 安装 cuda
      • 3.4 下载 cuDNN
      • 3.5 配置环境变量
    • 四、测试

DeepSeek 部署过程中的问题

1738492827_qdqfqc68qj.png1738492827238.png

Windows 中 利用 ollama 来搭建 deepseek R1-CSDN博客

一、部署扩展:docker 部署 DS

1.1 部署

在上文Windows 中 利用 ollama 来搭建 deepseek R1-CSDN博客中,我们使用Windows直接部署ollama,当然我们也可以使用docker来进行ollama的部署。 hub.docker.com/r/ollama/ollama

Docker安装到入门_deping 覆盖安装docker-CSDN博客

部署命令:

docker run -d --gpus=all -v ollama:/root/.ollama -p 9000:11434 -e OLLAMA_ORIGINS=* --restart always --name ollama ollama/ollama  # 在容器内部运行ollama

docker exec -it ollama ollama run deepseek-r1:7b  # 运行模型

命令运行后:
1738835627_m6n0j9clqs.png1738835625823.png

1738844955_nycubx07kw.pngPasted image 20250206175416.png

我们发现,ollama环境已被我们创建。

查看本地能否访问,并且在容器内部是否运行

1738835710_71vfykv1yv.png1738835709239.png

开始部署大模型

1738836333_u99stbl8rh.png1738836332618.png

1.2 可视化

我们创建的模型也可以在Chatbox网站进行调用Chatbox,而不是使用 docker 部署 web UI,这样过于浪费系统资源

1738836382_nbmgwii9hg.png1738836380700.png

1738836406_j1l8bvnh4p.png1738836405172.png

1738836440_l1xmrhpdkj.png1738836439654.png

二、问题

在我们运行deepseek-r1:7b,使用它生成内容时,会发现CPU被严重占用,这里我是使用 wsl 布置的 docker 容器,并且在容器中运行大模型。因此,ollama 其默认并没有使用 GPU 来运行 Deepseek,其是使用 CPU,来运行。

1738840498_80hdoag52i.png1738840496765.png

1738841006_7bktx4fg68.png1738841005476.png

而,GPU 却处于闲置的状态,而我们通过ollama list看到的processor

1738841274_u9655bgtcp.png1738841273366.png

同时,结合torch库的检测

1738841448_01hbaew505.png1738841447318.png

我们可以断定,cuda不能运行,我们需要配置cuda

三、GPU 设置

3.1 ollama GPU 的支持情况

ollama-doc/ollama/docs/Ollama 对GPU 支持信息.md at main · qianniucity/ollama-doc · GitHub

Compute CapabilityFamilyCards
9.0NVIDIAH100
8.9GeForce RTX 40xxRTX 4090 RTX 4080 RTX 4070 Ti RTX 4060 Ti
NVIDIA ProfessionalL4 L40 RTX 6000
8.6GeForce RTX 30xxRTX 3090 Ti RTX 3090 RTX 3080 Ti RTX 3080 RTX 3070 Ti RTX 3070 RTX 3060 Ti RTX 3060
NVIDIA ProfessionalA40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2
8.0NVIDIAA100 A30
7.5GeForce GTX/RTXGTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060
NVIDIA ProfessionalT4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500
QuadroRTX 8000 RTX 6000 RTX 5000 RTX 4000
7.0NVIDIATITAN V V100 Quadro GV100
6.1NVIDIA TITANTITAN Xp TITAN X
GeForce GTXGTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050
QuadroP6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520
TeslaP40 P4
6.0NVIDIATesla P100 Quadro GP100
5.2GeForce GTXGTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950
QuadroM6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620
TeslaM60 M40
5.0GeForce GTXGTX 750 Ti GTX 750 NVS 810
QuadroK2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M

3.2 更新 GPU 驱动

首先使用nvidia-smi,查看版本信息。

1738842761_3t8de2xshq.png1738842760541.png

也可以在控制面板查看版本信息,

1738843024_z6fbiury03.png1738843022904.png

如果没有把 NVIDIA 驱动更新到最新版,则需要在:

Download The Official NVIDIA Drivers | NVIDIA

1738843118_dpi9r7972p.png1738843116764.png

1738843148_9f2p2k3hw9.png1738843147219.png

3.3 安装 cuda

下载CUDA Toolkit:CUDA Toolkit 12.8 Downloads | NVIDIA Developer

1738843258_70wq698zih.png1738843257394.png

3.4 下载 cuDNN

CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

选择与 CUDA 版本兼容的 cuDNN 版本进行下载。

1738844051_v3dd5fziie.png1738844050469.png

  • 安装 cuDNN:
    • Windows:解压下载的 cuDNN 文件,将其中的 binincludelib 文件夹中的文件复制到 CUDA 安装目录对应的文件夹中。
    • Linux:解压下载的 cuDNN 文件,将其中的文件复制到 CUDA 安装目录。

使用nvcc -v查看信息
1738844249_ogzelrjs7l.png1738844248262.png

3.5 配置环境变量

1738844311_i9028z7nu7.png1738844310581.png

CUDA_SDK_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

环境变量配置完记得重启
而后cmd运行:

cd "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\extras\demo_suite"

bandwithTest.exe
deviceQuery.exe

第一个运行结果:

1738844501_myic8gw4di.png1738844500442.png

第二个运行结果:

1738844547_selzrhd64b.png1738844545963.png

配置完后,一定要记得重启。

四、测试

首先,我们使用torch测试:

1738847826_dlkkycb0p5.png1738847825643.png

发现可以检测到cuda的存在

其次,我们运行模型,先部署1.5b的蒸馏模型:

docker exec -it ollama 
ollama run deepseek-r1:1.5b 

# /bye  # 在进入终端聊天界面后,退出界面
ollama ps

1738847966_81cf6x5zy3.png1738847964838.png

可以发现,其GPU100%占用的

而,我们运行7b的蒸馏模型时:

ollama stop deepseek-r1:1.5b 
ollama run deepseek-r1:7b

# /bye  # 在进入终端聊天界面后,退出界面
ollama ps

1738848203_4ielr8riy7.png1738848202605.png

发现和原来是一样的,因此我推测,由于7b的模型太大,ollama 会自动调用CPU的资源,GPU没有问题

我们使用nvidia-smi进行GPU资源判断时:

当模型没有被调用时:

1738850112_7dcwooqy9k.png1738850111710.png

当模型被调用时:

1738850315_qlhaglsosi.png1738850314045.png

1738850396_271dvq5hxk.png1738850395088.png

发现 CPU 被调用了 82% ,但是 GPU 被调用了,但是调用的不多,虽然才 31%。

这可能是因为 ollama 模型本身的问题:ollama 的速度还不错,但受限于本地硬件配置。在MacBook、PC和边缘设备上运行小型模型时表现良好,不过遇到超大模型就有些力不从心了。

Ollama则是一个轻量级、易上手的框架,让在本地电脑上运行开源大语言模型变得更加简单。VLLM是一款经过优化的推理引擎,在令牌生成速度和内存管理效率上表现出色,是大规模AI应用的理想之选。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965426.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch基本使用详解

文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana(可选) 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据(1)简单查询(2)…

点(线)集最小包围外轮廓效果赏析

“ 图像、点集、线集合最小外轮廓计算应用较为广泛,如抠图、神奇选择、LOD、碰撞检查等领域,提高场景效率” 1.前言 作者基于递归迭代求解实现点集的最小外轮廓计算,在CGLib库中实现,已集成于CGViewer,可联系作者试用&…

IOPS与吞吐量、读写块大小及延迟之间的关系

IOPS(每秒输入/输出操作次数)、吞吐量、读写块大小及延迟是衡量存储系统性能的四个关键指标,它们之间存在密切的关系。以下从多个方面详细说明这些指标之间的关系: 1. IOPS与吞吐量的关系 公式关系:吞吐量&#xff0…

FPGA与ASIC:到底选哪个好?

不少人想转行FPGA,但在ASIC和FPGA之间犹豫不决。要做出选择,首先需要清楚两者的区别和各自特点。 FPGA (Field Programmable Gate Array) 是一种现场可编程门阵列芯片,本质上它是一种半定制的芯片,可以根据需要重新编程&#xff…

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略 目录 synthetic-data-generator的简介 1、核心功能和优势 2、特点 synthetic-data-generator的安装和使用方法 1、安装 pip安装 安装依赖项 运行应用 2、使用方法 快速入…

第二天:系统从BIOS/UEFI到GRUB/bootloader的启动过程

目录 **一、BIOS/UEFI初始化阶段****二、引导加载程序(GRUB)的启动过程****1. BIOS模式下的GRUB分阶段加载****2. UEFI模式下的GRUB加载** **三、操作系统内核加载与初始化****四、关键组件与配置文件****五、故障排查与恢复****总结**常见问题如何在UEF…

113,【5】 功防世界 web unseping

进入靶场 代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便开发者查看代码结构和内容 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 私有属性 $method&#xff0c;用于存储要调用的方法名private $method;// 私有属性 $args&…

图解BWT(Burrows-Wheeler Transform) 算法

Burrows-Wheeler Transform (BWT) 是一种数据转换算法, 主要用于数据压缩领域. 它由 Michael Burrows 和 David Wheeler 在 1994 年提出, 广泛应用于无损数据压缩算法(如 bzip2)中. BWT 的核心思想是通过重新排列输入数据, 使得相同的字符更容易聚集在一起, 从而提高后续压缩算…

DeepSeek辅助学术写作【句子重写】效果如何?

句子重写(功能指数:★★★★★) 当我们想引用一篇文章中的一-些我们认为写得很好的句子时&#xff0c;如果直接将原文加人自己的文章&#xff0c;那么即使我们标注上了引用&#xff0c;也依旧会被查重软件计算在重复比例中。查重比例过高的话&#xff0c;会影响投稿或毕业答辩送…

【CAD】卸载清理注册表后安装失败/错误 1402无法打开主键:UNKNOWN Components DAFE。。。

这是因为注册表中的 CurrentVersion\Installer\UserData二级子目录中Components的文件缺少权限&#xff0c;只需要将权限添加为administors即可 一图流&#xff0c;就是把权限给到Administrators&#xff0c;然后就再以管理员权限安装就可以了&#xff0c;还有如果破解的软件可…

w192中国陕西民俗网的设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

2.6日学习总结

题目一&#xff1a; AC代码&#xff1a; #include <stdio.h>// 宏 _for 用于简化 for 循环 #define _for(i, a, b) for (int i (a); i < (b); i)// 最大节点数 #define MAXN 1000010// 树节点结构体 typedef struct {int left;int right; } Node;// 树节点数组 Nod…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…

工控机的主要功能有那些?

工控机的主要功能包括&#xff1a;数据采集与处理&#xff0c;工控机可以连接多种传感器和输入设备&#xff0c;实时采集数据&#xff0c;并进行必要的处理和分析。其次 就是控制执行&#xff1a;在自动化生产线或机器人控制系统中&#xff0c;工控机根据预设的程序或实时数据执…

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法&#xff1a; 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现&#xff0c;可以知道其底层结构…

凝思60重置密码

凝思系统重置密码 - 赛博狗尾草 - 博客园 问题描述 凝思系统进入单用户模式&#xff0c;在此模式下&#xff0c;用户可以访问修复错误配置的文件。也可以在此模式下安装显卡驱动&#xff0c;解决和已加载驱动的冲突问题。 适用范围 linx-6.0.60 linx-6.0.80 linx-6.0.100…

MDPI的论文书写

一、作者信息 二、摘要 1、先写背景&#xff0c;将问题放到大背景里面&#xff0c;然后重点说明研究的目的。

2-kafka服务端之延时操作实现原理

文章目录 背景案例延时生产实现原理延时拉取实现原理 总结 背景 上篇我们说到了kafka时间轮是延时操作内部实现的重要数据结构&#xff0c;这篇我们来说下kafka内部的延时操作实现原理。这里我们以延时生产和延时拉取为例说明延时操作的实现原理。 案例 延时生产 我们知道如…

无心剑七绝《深度求索》

七绝深度求索 深研妙理定乾坤 度世玄机启智门 求路千难兼万险 索萦华夏自为尊 2025年2月1日 平水韵十三元平韵 无心剑七绝《深度求索》以平水韵十三元平韵写成&#xff0c;意境深远&#xff0c;气势磅礴。诗中“深研妙理定乾坤”开篇点题&#xff0c;展现出对深奥道理的钻研与探…

C++多级指针图解

AudioResample **pResample 指针的地址图解AudioResample **pResample; // pResample 存储 AudioResample* 的地址 AudioResample *ar *pResample; // ar 现在指向 AudioResample 结构体 pResample → 指向 AudioResample* 的地址 (0x2000)*pResample → 取出 AudioResample…