DeepSeek-OCR本地部署(1):CUDA 升级12.9,不重启,教程

大家好,我是 Ai 学习的老章

DeepSeek-OCR 开源有段时间了,我曾详细测试过DeepSeek 最新开源 OCR 模型,实测,也推荐过基于它的 web 端应用:一个强大的开源 OCR 工具,基于 DeepSeek OCR,还有一个桌面客户端:DeepSeek-OCR 桌面客户端,Windows 用户优先体验

DeepSeek-OCR 官方项目 README: https://github.com/deepseek-ai/DeepSeek-OCR 中有关于 vllm 0.8.5+cu118+transformers>=4.51.1 下进行离线推理 的详细步骤,但是教程中在线推理部分 vLLM 还是 nightly 版本。我看网上大家根据官方文档进行部署,问题多多。正好,
vLLM 最新版来了,V0.11.2 稳定版原生支持 DeepSeek-OCR,使用 OpenAI API 兼容格式的在线推理,方便多了

但是,vLLM 自 0.11.1 之后默认 CUDA 更新到了 12.9,我的 Linux 算力测试机还是 12.4,本文就介绍一下不重启情况下,如何升级 CUDA 和 vLLM@0.11.2,后面一篇文章再详细介绍 DeepSeek-OCR 的部署和 API 使用。

CUDA 升级

第一步:下载 CUDA Toolkit runfile

目前 CUDA Toolkit 的最新版是 13.0,作为等等派,我还是先装 12.9.1 吧

下载地址:https://developer.nvidia.com/cuda-12-9-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=RHEL&target_version=8&target_type=runfile_local

注意选择符合自己操作系统、架构、版本的安装包,最后一项建议选 runfile(local)

CUDA Toolkit 的历史版本,可以在这里找到:https://developer.nvidia.com/cuda-toolkit-archive

如果你的服务器是离线的,把下载好的 runfile 传进去即可

第二步:卸载旧版 CUDA

可以通过 whereis nvcc 查看自己 CUDA 的安装位置,一般都是在/usr/local/目录下

然后进入到 /usr/local/cuda-12.4/bin 下,找到 cuda-uninstaller

直接运行 cuda-uninstaller,把下面三项选中后,光标移至 Done 后按 Enter 进行卸载

一般很快就 OK 了

第三步:安装 CUDA Toolkit 12.9

进入到第一步下载好的 runfile 目录下

运行 sudo sh cuda_12.9.1_575.57.08_linux.run

然后选中以下几项,选中 Install 后 Enter

然后输入 accept 后 Enter

无比顺利情况下你会看到这个界面,这就约等于大功告成了

但是!不出意外的话,肯定会出意外了

问题 1:nvidia-uvm

你的服务器如果还有大模型在跑或别的任何服务在使用算力,极有可能会收到安装失败的 erro

查看日志发现有一个叫 nvidia-uvm 的内核正在使用

运行 fuser -v /dev/nvidia-uvm 确实是我之前 Docker 启动的 xinfer、vllm 等在运行模型

这里情况也能不一样,就我这个,测试发现要完全停掉 docker

仅此命令还不够 sudo systemctl stop docker

要彻底停止 Docker,需要同时停止服务和套接字

sudo systemctl stop docker.service docker.socket

然后停掉自启

sudo systemctl disable docker.service docker.socket

完成升级后记得要 enable 一下

sudo systemctl enable docker.service docker.socket

问题 2:nvidia-drm

再次升级 CUDA,又失败了,日志提示 nvidia-drm already loaded

这里需要切换到纯文本模式(关闭图形界面)

执行:sudo systemctl isolate multi-user.target

执行后,等待几秒钟,让图形服务完全关闭。

然后再再次升级 CUDA,就 OK 了

执行 nvidia-smi 发现 Driver 和 CUDA Version 都是新的了

执行 nvcc -V 发现报错,这是因为环境变量还没修改

执行 vi ~/.bashrc 把之前的 12.4 全部修改为 12.9

然后 source ~/.bashrc 使其生效

再次执行 nvcc -V 发现已经 OK

vLLM 升级

有网环境可以 pip upgrade,不过我这是内网服务器

所以用了 vLLM 的官方 Docker 镜像

很简单,直接 docker pull vllm/vllm-openai:v0.11.2 拉取镜像

然后 docker save -o vllm012.tar vllm/vllm-openai:v0.11.2

把镜像保存到本地后传入内网服务器即可

至此 vLLM 升级完成

部署 DeepSeek-OCR

后面就是用 VLLM 的 Docker 拉起 DeepSeek-OCR 了

测试很 OK,单卡 4090 很顺畅,具体步骤就要下文了

相关推荐
巫婆理发2221 分钟前
Keras简介
人工智能·深度学习·keras
Serverless 社区2 分钟前
进阶指南:BrowserUse + Agentrun Sandbox 最佳实践指南
人工智能·云原生·serverless
min1811234565 分钟前
AI从工具向自主决策者的身份转变
大数据·网络·人工智能·架构·流程图
~~李木子~~5 分钟前
从“待整理”到“全库清单”:一套可自进化的本地书籍整理脚本实践
大数据·人工智能
人工智能培训7 分钟前
如何持续、安全地向大模型注入新知识?
人工智能·python·算法·大模型·大模型学习·大模型应用工程师·大模型工程师证书
密瓜智能12 分钟前
面向算力虚拟化的开源探索:如何看待 Flex:ai,以及为什么工程交付如此重要
人工智能·开源
产业家17 分钟前
AI手机的终极猜想:超级Agent入口|产业深度
人工智能·智能手机
幻云201020 分钟前
Python深度学习:筑基与实践
前端·javascript·vue.js·人工智能·python
沛沛老爹22 分钟前
从Web到AI:多模态Agent Skills生态系统实战(Java+Vue构建跨模态智能体)
java·前端·vue.js·人工智能·rag·企业转型
晓晓不觉早26 分钟前
OPE.Platform,轻量化AI能力拉满
人工智能·科技