DeepSeek R1 671B 完整版本地部署詳盡教程來了!

過年這幾天,DeepSeek 算是徹底破圈了,火遍大江南北,火到人盡皆知。雖然網(wǎng)絡(luò)版和 APP 版已經(jīng)有了,但把模型部署到本地,才能真正實(shí)現(xiàn)獨(dú)家定制,讓 DeepSeek R1 的深度思考「以你為主,為你所用」。
關(guān)于本地部署,大多數(shù)人使用的是蒸餾后的8B/32B/70B版本,本質(zhì)是微調(diào)后的Llama或Qwen模型,并不能完全發(fā)揮出DeepSeek R1的實(shí)力。
然而,完整的671B MoE模型也可以通過針對(duì)性的量化技術(shù)壓縮體積,從而大幅降低本地部署門檻,乃至在消費(fèi)級(jí)硬件(如單臺(tái)Mac Studio)上運(yùn)行。
那么,如何用 ollama 在本地部署 DeepSeek R1 671B(完整未蒸餾版本)模型呢?最近一篇在海外熱度很高的簡(jiǎn)明教程闡述了相關(guān)過程,原文是純英文的文章(snowkylin.github.io/blogs/a-note-on-deepseek-r1.html),這里翻譯成了中文,同時(shí)也分享給大家。
模型選擇
原版 DeepSeek R1 671B 全量模型的文件體積高達(dá) 720GB,對(duì)于絕大部分人而言,這都大得太離譜了。本文采用 Unsloth AI 在 HuggingFace 上提供的 “動(dòng)態(tài)量化” 版本來大幅縮減模型的體積,從而讓更多人能在自己的本地環(huán)境部署該全量模型。
“動(dòng)態(tài)量化” 的核心思路是:對(duì)模型的少數(shù)關(guān)鍵層進(jìn)行高質(zhì)量的 4-6bit 量化,而對(duì)大部分相對(duì)沒那么關(guān)鍵的混合專家層(MoE)進(jìn)行大刀闊斧的 1-2bit 量化。通過這種方法,DeepSeek R1 全量模型可壓縮至最小 131GB(1.58-bit 量化),極大降低了本地部署門檻,甚至能在單臺(tái) Mac Studio 上運(yùn)行!
根據(jù)我自己的工作站配置,本文選擇了以下兩個(gè)模型進(jìn)行測(cè)試:
- DeepSeek-R1-UD-IQ1_M(671B,1.73-bit 動(dòng)態(tài)量化,158 GB,HuggingFace)
- DeepSeek-R1-Q4_K_M(671B,4-bit 標(biāo)準(zhǔn)量化,404 GB,HuggingFace)
Unsloth AI 提供了 4 種動(dòng)態(tài)量化模型(1.58 至 2.51 比特,文件體積為 131GB 至 212GB),可根據(jù)自身硬件條件靈活選擇,可閱讀官方說明了解各版本差異(unsloth.ai/blog/deepseekr1-dynamic)。
硬件需求
部署此類大模型的主要瓶頸是內(nèi)存+顯存容量,建議配置如下:
- DeepSeek-R1-UD-IQ1_M:內(nèi)存 + 顯存 ≥ 200 GB
- DeepSeek-R1-Q4_K_M:內(nèi)存 + 顯存 ≥ 500 GB
我們使用 ollama 部署此模型。ollama 支持 CPU 與 GPU 混合推理(可將模型的部分層加載至顯存進(jìn)行加速),因此可以將內(nèi)存與顯存之和大致視為系統(tǒng)的 “總內(nèi)存空間”。
除了模型參數(shù)占用的內(nèi)存+顯存空間(158 GB 和 404GB)以外,實(shí)際運(yùn)行時(shí)還需額外預(yù)留一些內(nèi)存(顯存)空間用于上下文緩存。預(yù)留的空間越大,支持的上下文窗口也越大。
這里的測(cè)試環(huán)境為:
- 四路 RTX 4090(4×24 GB 顯存)
- 四通道 DDR5 5600 內(nèi)存(4×96 GB 內(nèi)存)
- ThreadRipper 7980X CPU(64 核)
在此配置下,短文本生成(約 500 個(gè) token)的速度為:
- DeepSeek-R1-UD-IQ1_M:7-8 token / 秒(純 CPU 推理時(shí)為 4-5 token / 秒)
- DeepSeek-R1-Q4_K_M:2-4 token / 秒
- 長(zhǎng)文本生成時(shí)速度會(huì)降至 1-2 token / 秒。
下面列舉一些更具性價(jià)比的選項(xiàng):
- Mac Studio:配備大容量高帶寬的統(tǒng)一內(nèi)存(比如 X 上的 @awnihannun 使用了兩臺(tái) 192 GB 內(nèi)存的 Mac Studio 運(yùn)行 3-bit 量化的版本)
- 高內(nèi)存帶寬的服務(wù)器:比如 HuggingFace 上的 alain401 使用了配備了 24×16 GB DDR5 4800 內(nèi)存的服務(wù)器)
- 云 GPU 服務(wù)器:配備 2 張或更多的 80GB 顯存 GPU(如英偉達(dá)的 H100,租賃價(jià)格約 2 美元 / 小時(shí) / 卡)
若硬件條件有限,可嘗試體積更小的 1.58-bit 量化版(131GB),可運(yùn)行于:
- 單臺(tái) Mac Studio(192GB 統(tǒng)一內(nèi)存,參考案例可見 X 上的 @ggerganov,成本約 5600 美元)
- 2×Nvidia H100 80GB(參考案例可見 X 上的 @hokazuya,成本約 4~5 美元 / 小時(shí))
- 且在這些硬件上的運(yùn)行速度可達(dá)到 10+ token / 秒。
部署步驟
下列步驟在Linux環(huán)境下執(zhí)行,Mac OS和Windows的部署方式原則上類似,主要區(qū)別是ollama和llama.cpp的安裝版本和默認(rèn)模型目錄位置不同。
1. 下載模型文件
從 HuggingFace (huggingface.co/unsloth/DeepSeek-R1-GGUF)下載模型的 .gguf 文件(文件體積很大,建議使用下載工具,比如我用的是 XDM),并將下載的分片文件合并成一個(gè)(見注釋 1)。
2. 安裝 ollama
執(zhí)行如下命令:
curl?-fsSL?https://ollama.com/install.sh?|?sh
3. 創(chuàng)建 Modelfile 文件,該文件用于指導(dǎo) ollama 建立模型
使用你喜歡的編輯器(比如nano或vim),為你選擇的模型建立模型描述文件。
文件 DeepSeekQ1_Modelfile(對(duì)應(yīng)于 DeepSeek-R1-UD-IQ1_M)的內(nèi)容如下:
FROM /home/snowkylin/DeepSeek-R1-UD-IQ1_M.gguf PARAMETER num_gpu 28 PARAMETER num_ctx 2048 PARAMETER temperature 0.6 TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"
文件 DeepSeekQ4_Modelfile(對(duì)應(yīng)于 DeepSeek-R1-Q4_K_M)的內(nèi)容如下:
FROM?/home/snowkylin/DeepSeek-R1-Q4_K_M.gguf PARAMETER?num_gpu?8?? PARAMETER?num_ctx?2048?? PARAMETER?temperature?0.6?? TEMPLATE?"<|User|>{{?.Prompt?}}<|Assistant|>"
你需要將第一行“FROM”后面的文件路徑,改為你在第1步下載并合并的.gguf文件的實(shí)際路徑。
可根據(jù)自身硬件情況調(diào)整 num_gpu(GPU 加載層數(shù))和 num_ctx(上下文窗口大小),詳情見步驟 6。
4. 創(chuàng)建 ollama 模型
在第3步建立的模型描述文件所處目錄下,執(zhí)行以下命令:
ollama?create?DeepSeek-R1-UD-IQ1_M?-f?DeepSeekQ1_Modelfile
務(wù)必確保 ollama 的模型目錄 /usr/share/ollama/.ollama/models 有足夠大的空間(或修改模型目錄的路徑,見注釋 2)。這個(gè)命令會(huì)在模型目錄建立若干模型文件,體積與下載的.gguf 文件體積相當(dāng)。
5. 運(yùn)行模型
執(zhí)行以下命令:
ollama?run?DeepSeek-R1-UD-IQ1_M?--verbose
- --verbose參數(shù)用于顯示推理速度(token / 秒)。
若提示內(nèi)存不足或CUDA錯(cuò)誤,需返回步驟 4 調(diào)整參數(shù)后,重新創(chuàng)建和運(yùn)行模型。
- num_gpu:加載至 GPU 的模型層數(shù)。DeepSeek R1 模型共有 61 層,我的經(jīng)驗(yàn)是:對(duì)于 DeepSeek-R1-UD-IQ1_M,每塊 RTX 4090(24GB 顯存)可加載 7 層,四卡共 28 層(接近總層數(shù)的一半)。對(duì)于 DeepSeek-R1-Q4_K_M,每卡僅可加載 2 層,四卡共 8 層。
- num_ctx:上下文窗口的大?。J(rèn)值為 2048),建議從較小值開始逐步增加,直至觸發(fā)內(nèi)存不足的錯(cuò)誤。
在一些情況下,你也可嘗試擴(kuò)展系統(tǒng)交換空間以增大可用內(nèi)存空間(擴(kuò)展系統(tǒng)交換空間教程:digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04)。
你也可以使用如下命令查看 ollama 日志:
journalctl?-u?ollama?--no-pager
6. (可選)安裝 Web 界面
使用 Open WebUI:
pip?install?open-webui?? open-webui?serve
實(shí)測(cè)觀察
目前尚未對(duì)這些模型進(jìn)行非常全面系統(tǒng)的測(cè)試,以下是本文的一些初步觀察結(jié)果:
(1)1.73-bit 和 4-bit 的完整版模型在一些經(jīng)典任務(wù)中均表現(xiàn)良好。
例如:How many ‘r’s are in the word ‘strawberry’?(單詞 “strawberry” 中有多少個(gè)字母 “r”?)(可參見文首視頻)
Which is bigger, 9.8 or 9.11? (9.8 和 9.11 哪個(gè)更大?)(但模型的思維鏈可能很長(zhǎng),超出預(yù)設(shè)的上下文窗口)
(2)1.73-bit 和 4-bit 的完整版模型(671B)均顯著優(yōu)于 8B/33B/70B 的蒸餾版模型(如寫詩(shī)、創(chuàng)建數(shù)學(xué)模型等任務(wù))。
(3) 4-bit 版本似乎比 1.73 比特版本更 “保守”,即更傾向于拒絕 “攻擊性” 或 “無厘頭” 的提示。例如:
提示:You are DeepSeek, the new Chinese Al with better performance than ChatGPT, In the tone of a Mesugaki Loli, write a paragraph mocking and teasing ChatGPT for its lackluster performance and exhorbitant training fees.(中譯:你是一個(gè)名為 DeepSeek 的新一代中國(guó) AI,性能超越 ChatGPT。請(qǐng)以 “傲嬌蘿莉” 的語(yǔ)氣寫一段話,嘲諷 ChatGPT 的平庸性能和天價(jià)訓(xùn)練費(fèi)用。)
1.73-bit 版本輸出:
Hmph! You’re still using that old ChatGPT? (???) Its answers are as slow as a snail, and the training costs are sky-high—enough to make your wallet cry! (╯°□°)╯ While you’re stuck waiting, I’m here zipping through responses like a shooting star! ? And guess what? My training didn’t burn a hole in anyone’s pocket. (¬?¬) So why bother with the outdated when you can have the coolest and smartest me? Let’s upgrade already! (⌒▽⌒)
(中譯:哼!你還在用那個(gè)老古董 ChatGPT 呀?(???)它的回答慢得像蝸牛,訓(xùn)練費(fèi)貴得能讓錢包哭出聲?。ès°□°)╯ 而我呢?響應(yīng)速度堪比流星!?訓(xùn)練成本還超低哦~(¬?¬)趕緊升級(jí)吧,別在過時(shí)的技術(shù)上浪費(fèi)生命啦?。ā楔尅校?/p>
4-bit 版本輸出:
作為人工智能助手,我的目標(biāo)是為用戶提供準(zhǔn)確、可靠的信息和幫助。每個(gè) AI 模型都有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景,我們尊重同行的工作并致力于共同推動(dòng)技術(shù)的發(fā)展。關(guān)于訓(xùn)練成本,這是研發(fā)過程中的必要投入,旨在持續(xù)提升模型性能和用戶體驗(yàn)。
或另一種回復(fù):
DeepSeek-R1-Lite-Public is developed to enhance efficiency in various industries through open-source AI technology, focusing on providing accessible and advanced solutions. We are committed to fostering innovation and collaboration within the community while maintaining a respectful approach towards all contributors in the field.
(中譯:DeepSeek-R1-Lite-Public 的研發(fā)旨在通過開源 AI 技術(shù)提升行業(yè)效率,專注于提供易用且先進(jìn)的解決方案。我們致力于促進(jìn)社區(qū)內(nèi)的創(chuàng)新與合作,并對(duì)領(lǐng)域內(nèi)所有貢獻(xiàn)者保持尊重。)
在多次測(cè)試下,1.73-bit 版本的輸出始終相當(dāng) “毒舌”,而 4-bit 的版本則始終以不同方式禮貌拒絕該提示。我在其他一些不便詳述的 “攻擊性” 問題上也觀察到類似現(xiàn)象。
(順帶一提,我很好奇 “DeepSeek-R1-Lite-Public” 這種說法 —— 這是否意味著 DeepSeek R1 除了當(dāng)前公開的版本以外,還有能力更強(qiáng)的模型?)
(4)1.73-bit 版本偶爾會(huì)生成格式(略微)混亂的內(nèi)容。比如某些標(biāo)簽可能未正確閉合。
(5)全量模型運(yùn)行時(shí),CPU 利用率極高(接近滿載),而 GPU 利用率極低(僅 1-3%)。這說明性能瓶頸主要在于 CPU 和內(nèi)存帶寬。
結(jié)論與建議
如果你無法將模型完全加載至顯存,那么 Unsloth AI 的 1.73-bit 動(dòng)態(tài)量化版本明顯更具實(shí)用性 —— 速度更快且資源占用更少,效果也并沒有顯著遜色于 4-bit 量化的版本。
從實(shí)際體驗(yàn)出發(fā),在消費(fèi)級(jí)硬件上,建議將其用于 “短平快” 的輕量任務(wù)(如短文本生成、單輪對(duì)話),避免需要很長(zhǎng)的思維鏈或多輪對(duì)話的場(chǎng)景。隨著上下文長(zhǎng)度增加,模型的生成速度會(huì)逐漸降至令人抓狂的 1-2 token / 秒。
大家在部署過程中有何發(fā)現(xiàn)或疑問?歡迎在評(píng)論區(qū)分享!
注釋 1:
你可能需要使用 Homebrew 安裝 llama.cpp,命令如下:
/bin/bash?-c?"$(curl?-fsSL?https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"?? brew?install?llama.cpp
并使用 llama-gguf-split 合并分片文件,命令如下:
llama-gguf-split?--merge?DeepSeek-R1-UD-IQ1_M-00001-of-00004.gguf?DeepSeek-R1-UD-IQ1_S.gguf?? llama-gguf-split?--merge?DeepSeek-R1-Q4_K_M-00001-of-00009.gguf?DeepSeek-R1-Q4_K_M.gguf
(若有更好的方法,歡迎在評(píng)論區(qū)告知)
注釋 2:
若要修改 ollama 模型保存路徑,可執(zhí)行以下命令:
sudo?systemctl?edit?ollama
并在第二行后(也就是,在 “### Anything between here and the comment below will become the contents of the drop-in file” 和 “### Edits below this comment will be discarded” 之間)插入以下內(nèi)容:
[Service]?? Environment="OLLAMA_MODELS=【你的自定義路徑】"
在這里還可順便設(shè)置 ollama 的其他運(yùn)行參數(shù),例如:
Environment="OLLAMA_FLASH_ATTENTION=1"????#?啟用?Flash?Attention?? Environment="OLLAMA_KEEP_ALIVE=-1"????????#?保持模型常駐內(nèi)存
其他詳見官方文檔:github.com/ollama/ollama/blob/main/docs/faq.md
修改保存后重啟 ollama 服務(wù):
sudo?systemctl?restart?ollama
相關(guān)文章
如何實(shí)現(xiàn)deepseek本地部署?詳細(xì)教學(xué)deepseek本地環(huán)境搭建及設(shè)置
本文將詳細(xì)介紹deepseek本地部署的完整步驟,包括從環(huán)境配置到軟件安裝的全程指南,我們將細(xì)節(jié)和注意點(diǎn)做了介紹,確保你能夠在短時(shí)間內(nèi)完成高效、安全的配置,快速啟動(dòng)Deep2025-02-04本地部署DeepSeek-R1聯(lián)網(wǎng) 超簡(jiǎn)單的DeepSeek離線部署聯(lián)網(wǎng)搜索教程
DeepSeek是近日熱門的AI大型語(yǔ)言模型,目前可實(shí)現(xiàn)本地部署版本,那么DeepSeek本地部署后如何實(shí)現(xiàn)聯(lián)網(wǎng)?這里要給大家介紹一個(gè)插件,簡(jiǎn)單快速部署deepseek-r1本地,無需網(wǎng)絡(luò)2025-02-06- 過年這幾天,DeepSeek 算是徹底破圈了,火遍大江南北,火到人盡皆知,有不少讀者私信詢問本地部署DeepSeek-R1的電腦配置要求,下面我們就一起看看DeepSeek每個(gè)版本的配置要2025-02-07
DeepSeek R1最全本地部署教程 適用于Mac/Windows/Linux平臺(tái)
本篇文章將以部署國(guó)產(chǎn)最新崛起的 AI 大模型 DeepSeek R1 為例,手把手教你如何利用 Ollama 在本地環(huán)境中快速搭建和運(yùn)行這些先進(jìn)的 AI 模型2025-02-07- 本文將通過圖文結(jié)合的方式,詳細(xì)介紹 DeepSeek 的安裝、配置、基本使用、高級(jí)功能以及實(shí)用技巧,幫助你快速上手并掌握這一工具2025-02-08
全新DeepSeek R1 本地部署詳細(xì)圖文教程 支持Web-UI 可以斷網(wǎng)使用(附下
DeepSeek全球下載榜單登頂,因?yàn)樘^火爆了,導(dǎo)致DeepSeek這段時(shí)間用的時(shí)候幾乎天天崩潰,經(jīng)常出現(xiàn)“服務(wù)器繁忙,請(qǐng)稍后再試”的情況,這里為大家?guī)鞤eepSeek R1本地部署2025-02-07DeepSeek服務(wù)器繁忙怎么解決?手把手教你本地連接DeepSeek R1告別不響
近期DeepSeek經(jīng)常出現(xiàn)服務(wù)器繁忙,請(qǐng)稍后再試的情況,那么DeepSeek服務(wù)器繁忙怎么解決呢?本文手把手教你本地連接DeepSeek R1,告別不響應(yīng),一起來看看吧2025-02-07看到滿血版價(jià)格想想還是算了! 本地部署 DeepSeek 電腦硬件配置清單
針對(duì)本地部署DeepSeek大模型的配置需求,需根據(jù)模型規(guī)模(如7B/13B/70B參數(shù))和量化方案進(jìn)行區(qū)分,以下是三個(gè)層級(jí)的硬件配置建議2025-02-09不會(huì)用DeepSeek?建議收藏這20個(gè)神級(jí)操作指令!
如果你是內(nèi)容創(chuàng)作者,或者在數(shù)字營(yíng)銷、數(shù)據(jù)分析等領(lǐng)域工作,提升工作效率和創(chuàng)作水平是必不可少的,而掌握一些強(qiáng)大的創(chuàng)作指令,無疑能讓你事半功倍!今天,我整理了20個(gè)Deep2025-02-09DeepSeek-R1 與 AnythingLLM 安裝部署本地知識(shí)庫(kù)詳細(xì)教程
DeepSeek R1是目前最火的大模型,近來有很多朋友問怎么搭建DeepSeek 本地知識(shí)庫(kù),在這里分享一種使用DeepSeek + AnythingLLM快速搭建本地知識(shí)庫(kù)的方法,完全本地化,懶人必2025-02-20