电竞比分网-中国电竞赛事及体育赛事平台

分享

【教程】DeepSeek-OCR本地部署(上):CUDA 升級(jí)12.9,vLLM升級(jí)至最新穩(wěn)定版

 ml_Py 2025-11-25 發(fā)布于河南

大家好,我是 Ai 學(xué)習(xí)的老章

DeepSeek-OCR 開源有段時(shí)間了,我曾詳細(xì)測試過DeepSeek 最新開源 OCR 模型,實(shí)測,也推薦過基于它的 web 端應(yīng)用:一個(gè)強(qiáng)大的開源 OCR 工具,基于 DeepSeek OCR,還有一個(gè)桌面客戶端:DeepSeek-OCR 桌面客戶端,Windows 用戶優(yōu)先體驗(yàn)

DeepSeek-OCR 官方項(xiàng)目 README: https://github.com/deepseek-ai/DeepSeek-OCR 中有關(guān)于 vllm 0.8.5+cu118+transformers>=4.51.1 下進(jìn)行離線推理的詳細(xì)步驟,但是教程中在線推理部分 vLLM 還是 nightly 版本。我看網(wǎng)上大家根據(jù)官方文檔進(jìn)行部署,問題多多。正好,vLLM 最新版來了,V0.11.2 穩(wěn)定版原生支持 DeepSeek-OCR,使用 OpenAI API 兼容格式的在線推理,方便多了 。

但是,vLLM 自 0.11.1 之后默認(rèn) CUDA 更新到了 12.9,我的 Linux 算力測試機(jī)還是 12.4,本文就介紹一下不重啟情況下,如何升級(jí) CUDA 和 vLLM@0.11.2,后面一篇文章再詳細(xì)介紹 DeepSeek-OCR 的部署和 API 使用。

CUDA 升級(jí)

第一步:下載 CUDA Toolkit runfile

目前 CUDA Toolkit 的最新版是 13.0,作為等等派,我還是先裝 12.9.1 吧

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

注意選擇符合自己操作系統(tǒng)、架構(gòu)、版本的安裝包,最后一項(xiàng)建議選 runfile(local)

CUDA Toolkit 的歷史版本,可以在這里找到:https://developer./cuda-toolkit-archive

如果你的服務(wù)器是離線的,把下載好的 runfile 傳進(jìn)去即可

第二步:卸載舊版 CUDA

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

然后進(jìn)入到 /usr/local/cuda-12.4/bin 下,找到 cuda-uninstaller

直接運(yùn)行 cuda-uninstaller,把下面三項(xiàng)選中后,光標(biāo)移至 Done 后按 Enter 進(jìn)行卸載

一般很快就 OK 了

第三步:安裝 CUDA Toolkit 12.9

進(jìn)入到第一步下載好的 runfile 目錄下

運(yùn)行 sudo sh cuda_12.9.1_575.57.08_linux.run

然后選中以下幾項(xiàng),選中 Install 后 Enter

然后輸入 accept 后 Enter

無比順利情況下你會(huì)看到這個(gè)界面,這就約等于大功告成了

但是!不出意外的話,肯定會(huì)出意外了

問題 1:nvidia-uvm

你的服務(wù)器如果還有大模型在跑或別的任何服務(wù)在使用算力,極有可能會(huì)收到安裝失敗的 erro

查看日志發(fā)現(xiàn)有一個(gè)叫 nvidia-uvm 的內(nèi)核正在使用

運(yùn)行 fuser -v /dev/nvidia-uvm 確實(shí)是我之前 Docker 啟動(dòng)的 xinfer、vllm 等在運(yùn)行模型

這里情況也能不一樣,就我這個(gè),測試發(fā)現(xiàn)要完全停掉 docker 僅此命令還不夠 sudo systemctl stop docker

要徹底停止 Docker,需要同時(shí)停止服務(wù)和套接字

sudo systemctl stop docker.service docker.socket

然后停掉自啟

sudo systemctl disable docker.service docker.socket

完成升級(jí)后記得要 enable 一下

sudo systemctl enable docker.service docker.socket

問題 2:nvidia-drm

再次升級(jí) CUDA,又失敗了,日志提示 nvidia-drm already loaded

這里需要切換到純文本模式(關(guān)閉圖形界面)

執(zhí)行:sudo systemctl isolate multi-user.target

執(zhí)行后,等待幾秒鐘,讓圖形服務(wù)完全關(guān)閉。

然后再再次升級(jí) CUDA,就 OK 了

執(zhí)行 nvidia-smi 發(fā)現(xiàn) Driver 和 CUDA Version 都是新的了

執(zhí)行 nvcc -V 發(fā)現(xiàn)報(bào)錯(cuò),這是因?yàn)榄h(huán)境變量還沒修改

執(zhí)行 vi ~/.bashrc 把之前的 12.4 全部修改為 12.9

然后 source ~/.bashrc 使其生效

再次執(zhí)行 nvcc -V 發(fā)現(xiàn)已經(jīng) OK

vLLM 升級(jí)

有網(wǎng)環(huán)境可以 pip upgrade,不過我這是內(nèi)網(wǎng)服務(wù)器

所以用了 vLLM 的官方 Docker 鏡像

https://hub./r/vllm/vllm-openai/tags
https://hub./r/vllm/vllm-openai/tags

很簡單,直接 docker pull vllm/vllm-openai:v0.11.2 拉取鏡像

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

把鏡像保存到本地后傳入內(nèi)網(wǎng)服務(wù)器即可

至此 vLLM 升級(jí)完成

部署 DeepSeek-OCR

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

測試很 OK,單卡 4090 很順暢,具體步驟就要下文了

老章薦書

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多