DeepSeek 部署过程中的问题

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

### 如何加速DeepSeek部署时的下载速度 当遇到DeepSeek部署过程中下载速度较慢的情况,可以通过特定的方法来优化这一过程。如果当前下载中断,可以使用 `Ctrl+C` 来终止正在进行的命令[^1]。之后再次启动相同的下载指令,程序将会自动恢复并继续之前未完成的部分,这通常能够提供更快的速度。 为了进一步提高效率,在网络条件允许的情况下,考虑在网络状态最佳的时间段执行下载操作。另外,确保使用的客户端软件是最新的版本,因为开发者经常会发布更新以改进传输速率和其他性能指标。 除了上述方法外,还可以通过调整环境设置来尝试改善下载体验: - **检查防火墙和杀毒软件**:有时安全防护措施可能会干扰文件传输协议的工作方式,适当放宽这些工具对相关进程或端口的安全策略有助于加快连接建立与数据交换。 - **更换镜像源**:如果有多个官方提供的安装包分发站点可供选择,则挑选距离地理位置更近的一个作为目标地址往往能带来更好的访问效果;部分社区维护者也会设立第三方托管仓库用于加速国内用户的获取流程。 最后值得注意的是,虽然理论上暂停后再续传的方式确实可行,但在实际操作中应当注意保存好所有必要的临时文件以及记录断点位置的信息,以免因意外情况造成必要的麻烦。 ```bash # 假设正在运行 deepseek 下载命令 deepseek download model_name # 如果需要停止当前下载, 使用 Ctrl+C 终止命令 ^C # 重新输入相同命令即可从上次中断处继续下载 deepseek download model_name ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码海探幽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值