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  # 在容器内部运行ollamadocker 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.rhkb.cn/news/13313.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek RAGFlow构建本地知识库系统

学习目标 DeepSeek RAGFlow 构建本地知识库系统 学习内容 下载安装Docker 1.1 Docker 是什么 1.2 下载Docker 1.3 安装Docker配置DockerRAGFlow 配置 3.1 下载RAGFlow 3.2 RAGFlow配置 3.3 启动RAGFlow Docker新建知识库 4.1 查看本机IP 4.2 OLLAMA_HOST 变量配置 4.3 添加模…

11 享元(Flyweight)模式

享元模式 1.1 分类 (对象)结构型 1.2 提出问题 做一个车管所系统,将会产生大量的车辆实体,如果每一个实例都保存自己的所有信息,将会需要大量内存,甚至导致程序崩溃。 1.3 解决方案 运用共享技术有效…

arcgis for js范围内天地图高亮,其余底图灰暗

在GIS地图开发中,有时我们需要突出显示某个特定区域,而将其他区域灰暗处理,以达到视觉上的对比效果。本文将介绍如何使用ArcGIS for JavaScript实现这一功能,具体效果为:在指定范围内,天地图高亮显示&#…

Spring AI + Ollama 实现 DeepSeek-R1 API 服务和调用

随着大语言模型的快速发展,越来越多的开发者开始探索如何将这些强大的推理模型本地化运行。DeepSeek-R1,作为一款性能卓越的开源AI模型,以其低成本和出色的推理能力在技术圈内引起了广泛关注。本文将详细介绍如何使用Ollama部署DeepSeek-R1&a…

Ubuntu 20.04配置网络

1,检查自己网络是否配通。 网络配置成功显示的网络图标 不成功的网络图标 如果看不见网络图标,可以使用ping命令。连接一下百度网。 ping www.baidu.com ping失败的样子 ping成功的样子 2,接下来进入正题,我们开始配置网络。 这…

ElasticSearch入门

目录 1._cat 2.索引一个 document 3.查询document 4.更新document 5.删除document 或 index 6.批量_bulk API 1._cat Get/_cat/nodes 查看所有节点 Get/_cat/indices 查看所有索引(indices :index的复数) Get/_cat/master 查看…

java练习(8)

ps:题目来自力扣 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作…

Java常用类

文章目录 包装类(Wrapper)包装类的继承体系装箱和拆箱包装类与String类型的相互转换 String类创建 String 对象的两种方式String 类的常见方法案例演示 StringBuffer类类的继承体系String VS StringBufferStringBuffer构造器String 和 StringBuffer 相互转换StringBuffer 类常见…

算法设计与分析三级项目--管道铺设系统

摘 要 该项目使用c算法逻辑,开发环境为VS2022,旨在通过Prim算法优化建筑物间的连接路径,以支持管线铺设规划。可以读取文本文件中的建筑物名称和距离的信息,并计算出建筑物之间的最短连接路径和总路径长度,同时以利用…

【C语言系列】深入理解指针(5)

深入理解指针(5) 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1:2.2.2代码2:2.2.3代码3:2.2.4代码4:2.2.5代码5&#…

设计模式——策略模式

设计模式——策略模式 简单介绍一个例子 策略模式是设计模式里面比较简单的设计模式,其特点简单又实用,并且可以让你的代码看起来高大上,维护代码时还方便扩张 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句&…

【玩转 Postman 接口测试与开发2_018】第14章:利用 Postman 初探 API 安全测试

《API Testing and Development with Postman》最新第二版封面 文章目录 第十四章 API 安全测试1 OWASP API 安全清单1.1 相关背景1.2 OWASP API 安全清单1.3 认证与授权1.4 破防的对象级授权(Broken object-level authorization)1.5 破防的属性级授权&a…

MySQL的 MVCC详解

MVCC是多版本并发控制,允许多个事务同时读取和写入数据库,而无需互相等待,从而提高数据库的并发性能。 在 MVCC 中,数据库为每个事务创建一个数据快照。每当数据被修改时,MySQL不会立即覆盖原有数据,而是生…

【Uniapp-Vue3】z-paging插件组件实现触底和下拉加载数据

一、下载z-paing插件 注意下载下载量最多的这个 进入Hbuilder以后点击“确定” 插件的官方文档地址: https://z-paging.zxlee.cn 二、z-paging插件的使用 在文档中向下滑动,会有使用方法。 使用z-paging标签将所有的内容包起来 配置标签中的属性 在s…

UG NX二次开发(Python)-API函数介绍与应用实例(三)-UFLayer类操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1 前言2、UFLayer类说明3、获取当前工作图层4、移动对象到特定的图层1 前言 采用Python语言进行UG NX二次开发的帮助材料很少,采用录制的方法是一种比较容易实现的方式,但是使用UFun函数更容易上…

免费PDF 转换成 Word、PPT、Excel 格式的工具

在当今数字化办公的时代,文件格式的转换需求日益频繁。我们的软件应运而生,它是一款专业的 PDF 转换成 Word、PPT、Excel 格式的工具,为您的办公流程带来极大便利。 下载地址:https://pan.quark.cn/s/8c42ac2e4bf5 核心功能&…

deepseek从网络拓扑图生成说明文字实例

deepseek对话页面中输入问题指令: 我是安全测评工程师,正在撰写系统测评报告,现在需要对系统网络架构进行详细说明,请根据附件网络拓扑图输出详细说明文字。用总分的段落结构,先介绍各网络区域,再介绍网络…

排序算法--希尔排序

希尔排序是插入排序的改进版本,适合中等规模数据排序,性能优于简单插入排序。 // 希尔排序函数 void shellSort(int arr[], int n) {// 初始间隔(gap)为数组长度的一半,逐步缩小for (int gap n / 2; gap > 0; gap …

【NR-NTN】3GPP Release 18中NR-NTN过程描述

本文参考3GPP规范: 【1】《TS 38.300 V18.4.0 NR; NR and NG-RAN Overall Description; Stage2》 1. 概述 图1展示了一个非地面网络(NTN)的示例,通过NTN载荷和NTN网关为用户设备(UE)提供非地面NR接入。图…

python3中错误与异常初识

一. 简介 在 编写 Python时,经常会遇到一些报错信息。接下来开始学习 Python3 中错误和异常。 本文首先初步了解一下 Python3中的错误和异常。 二. python3 中错误与异常初识 Python 中有两种错误:语法错误与异常。 1. 语法错误 Python 的语法错误…