大家好,我是 Ai 學習的老章
DeepSeek-OCR 開源有段時間了,我曾詳細測試過,也推薦過基于它的 web 端應用:,還有一個桌面客戶端:
![]()
DeepSeek-OCR 官方項目 README:https://github.com/deepseek-ai/DeepSeek-OCR中有關于 vllm 0.8.5+cu118+transformers>=4.51.1 下進行離線推理的詳細步驟,但是教程中在線推理部分 vLLM 還是 nightly 版本。我看網上大家根據官方文檔進行部署,問題多多。正好, 。
但是,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 鏡像
![]()
https://hub.docker.com/r/vllm/vllm-openai/tags
很簡單,直接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 很順暢,具體步驟就要下文了
![]()
老章薦書
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.