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

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应用的理想之选。


http://www.kler.cn/a/534768.html

相关文章:

  • 【码道初阶】Leetcode540. 有序数组中的单一元素,异或运算在二分查找的优雅实现(附异或运算详解)
  • Mac M1 ComfyUI 中 AnyText插件安装问题汇总?
  • 如何利用i18n实现国际化
  • 苹果再度砍掉AR眼镜项目?AR真的是伪风口吗?
  • 【C++】STL——list底层实现
  • 在Mapbox GL JS中“line-pattern”的使用详解
  • 2025年家用音响市场分析:潜力无限,音质为王的新纪元
  • PyTorch 预分配显存是什么,为什么会有PyTorch 预分配显存
  • 【C语言系列】深入理解指针(5)
  • RabbitMQ深度探索:五种消息模式
  • CentOS 7.3编译Rsyslog 8.1903.0
  • 机器学习9-卷积和卷积核2
  • Android_P_Audio_系统(1) — Auido 系统简介
  • 【FPGA】 MIPS 12条整数指令 【3】
  • UE_C++ —— Properties
  • 高手之间的较量,是“想过”和“想透”之间的较量
  • 深入理解小波变换:信号处理的强大工具
  • python代码
  • HELLOCTF反序列化靶场全解
  • langchain教程-2.prompt
  • DeepSeek写的lammps反应势断键动态显示程序
  • 使用requestAnimationFrame减少浏览器重绘
  • 事件驱动架构(EDA)
  • 电路研究9.2.10——合宙Air780EP中文件系统读写命令使用方法研究
  • 达梦利用老备份集和新归档日志进行异机恢复
  • 单硬盘槽笔记本更换硬盘