成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

完整的671B MoE DeepSeek R1怎么塞進本地化部署?詳盡教程大放送!

人工智能 新聞
如何用 ollama 在本地部署 DeepSeek R1 671B(完整未蒸餾版本)模型呢?一篇在海外熱度很高的簡明教程即將揭曉。

本文的作者是李錫涵(Xihan Li)。他是倫敦大學(xué)學(xué)院(UCL)計算機系博士研究生,谷歌開發(fā)者專家,主要研究方向為學(xué)習(xí)優(yōu)化,在 NeurIPS、ICLR、AAMAS、CIKM 等會議發(fā)表過學(xué)術(shù)論文,Circuit Transformer 作者,圖書《簡明的 TensorFlow 2》(https://tf.wiki)作者。

過年這幾天,DeepSeek 算是徹底破圈了,火遍大江南北,火到人盡皆知。雖然網(wǎng)絡(luò)版和 APP 版已經(jīng)足夠好用,但把模型部署到本地,才能真正實現(xiàn)獨家定制,讓 DeepSeek R1 的深度思考「以你為主,為你所用」。

關(guān)于本地部署,大多數(shù)人使用的是蒸餾后的8B/32B/70B版本,本質(zhì)是微調(diào)后的Llama或Qwen模型,并不能完全發(fā)揮出DeepSeek R1的實力。

然而,完整的671B MoE模型也可以通過針對性的量化技術(shù)壓縮體積,從而大幅降低本地部署門檻,乃至在消費級硬件(如單臺Mac Studio)上運行。

那么,如何用 ollama 在本地部署 DeepSeek R1 671B(完整未蒸餾版本)模型呢?一篇在海外熱度很高的簡明教程即將揭曉。

  • 作者主頁:https://snowkylin.github.io
  • 原文地址:https://snowkylin.github.io/blogs/a-note-on-deepseek-r1.html

本地部署后,讓 DeepSeek R1 「數(shù)草莓」

模型選擇

原版 DeepSeek R1 671B 全量模型的文件體積高達 720GB,對于絕大部分人而言,這都大得太離譜了。本文采用 Unsloth AI 在 HuggingFace 上提供的 “動態(tài)量化” 版本來大幅縮減模型的體積,從而讓更多人能在自己的本地環(huán)境部署該全量模型。

“動態(tài)量化” 的核心思路是:對模型的少數(shù)關(guān)鍵層進行高質(zhì)量的 4-6bit 量化,而對大部分相對沒那么關(guān)鍵的混合專家層(MoE)進行大刀闊斧的 1-2bit 量化。通過這種方法,DeepSeek R1 全量模型可壓縮至最小 131GB(1.58-bit 量化),極大降低了本地部署門檻,甚至能在單臺 Mac Studio 上運行!

根據(jù)我自己的工作站配置,我選擇了以下兩個模型進行測試:

  • DeepSeek-R1-UD-IQ1_M(671B,1.73-bit 動態(tài)量化,158 GB,HuggingFace)
  • DeepSeek-R1-Q4_K_M(671B,4-bit 標(biāo)準(zhǔn)量化,404 GB,HuggingFace)

Unsloth AI 提供了 4 種動態(tài)量化模型(1.58 至 2.51 比特,文件體積為 131GB 至 212GB),可根據(jù)自身硬件條件靈活選擇。建議閱讀官方說明了解各版本差異。

  • Unsloth AI 官方說明:https://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 混合推理(可將模型的部分層加載至顯存進行加速),因此可以將內(nèi)存與顯存之和大致視為系統(tǒng)的 “總內(nèi)存空間”。

除了模型參數(shù)占用的內(nèi)存+顯存空間(158 GB 和 404GB)以外,實際運行時還需額外預(yù)留一些內(nèi)存(顯存)空間用于上下文緩存。預(yù)留的空間越大,支持的上下文窗口也越大。

我的測試環(huán)境為:

  • 四路 RTX 4090(4×24 GB 顯存)
  • 四通道 DDR5 5600 內(nèi)存(4×96 GB 內(nèi)存)
  • ThreadRipper 7980X CPU(64 核)

在此配置下,短文本生成(約 500 個 token)的速度為:

  • DeepSeek-R1-UD-IQ1_M:7-8 token / 秒(純 CPU 推理時為 4-5 token / 秒)
  • DeepSeek-R1-Q4_K_M:2-4 token / 秒

長文本生成時速度會降至 1-2 token / 秒。

值得注意的是,上述測試環(huán)境的硬件配置對于大模型推理而言,并非性價比最優(yōu)的方案(這臺工作站主要用于我的 Circuit Transformer 研究(arXiv:2403.13838),該研究在上周于 ICLR 會議接收。我和我的工作站都可以休息一下了,于是有了這篇文章)。

下面列舉一些更具性價比的選項:

  • Mac Studio:配備大容量高帶寬的統(tǒng)一內(nèi)存(比如 X 上的 @awnihannun 使用了兩臺 192 GB 內(nèi)存的 Mac Studio 運行 3-bit 量化的版本)
  • 高內(nèi)存帶寬的服務(wù)器:比如 HuggingFace 上的 alain401 使用了配備了 24×16 GB DDR5 4800 內(nèi)存的服務(wù)器)
  • 云 GPU 服務(wù)器:配備 2 張或更多的 80GB 顯存 GPU(如英偉達的 H100,租賃價格約 2 美元 / 小時 / 卡)

若硬件條件有限,可嘗試體積更小的 1.58-bit 量化版(131GB),可運行于:

  • 單臺 Mac Studio(192GB 統(tǒng)一內(nèi)存,參考案例可見 X 上的 @ggerganov,成本約 5600 美元)
  • 2×Nvidia H100 80GB(參考案例可見 X 上的 @hokazuya,成本約 4~5 美元 / 小時)

且在這些硬件上的運行速度可達到 10+ token / 秒。

部署步驟

下列步驟在Linux環(huán)境下執(zhí)行,Mac OS和Windows的部署方式原則上類似,主要區(qū)別是ollama和llama.cpp的安裝版本和默認模型目錄位置不同。

1. 下載模型文件

從 HuggingFace (https://huggingface.co/unsloth/DeepSeek-R1-GGUF)下載模型的 .gguf 文件(文件體積很大,建議使用下載工具,比如我用的是 XDM),并將下載的分片文件合并成一個(見注釋 1)。

2. 安裝 ollama

  • 下載地址:https://ollama.com/

執(zhí)行以下命令:

curl -fsSL https://ollama.com/install.sh | sh

3. 創(chuàng)建 Modelfile 文件,該文件用于指導(dǎo) ollama 建立模型

使用你喜歡的編輯器(比如nano或vim),為你選擇的模型建立模型描述文件。

文件 DeepSeekQ1_Modelfile(對應(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(對應(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文件的實際路徑。

可根據(jù)自身硬件情況調(diào)整 num_gpu(GPU 加載層數(shù))和 num_ctx(上下文窗口大?。斍橐姴襟E 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)。這個命令會在模型目錄建立若干模型文件,體積與下載的.gguf 文件體積相當(dāng)。

5. 運行模型

執(zhí)行以下命令:

ollama run DeepSeek-R1-UD-IQ1_M --verbose
  • --verbose 參數(shù)用于顯示推理速度(token / 秒)。

若提示內(nèi)存不足或CUDA錯誤,需返回步驟 4 調(diào)整參數(shù)后,重新創(chuàng)建和運行模型。

  • num_gpu:加載至 GPU 的模型層數(shù)。DeepSeek R1 模型共有 61 層,我的經(jīng)驗是:
    對于 DeepSeek-R1-UD-IQ1_M,每塊 RTX 4090(24GB 顯存)可加載 7 層,四卡共 28 層(接近總層數(shù)的一半)。
    對于 DeepSeek-R1-Q4_K_M,每卡僅可加載 2 層,四卡共 8 層。
  • num_ctx:上下文窗口的大?。J值為 2048),建議從較小值開始逐步增加,直至觸發(fā)內(nèi)存不足的錯誤。

在一些情況下,你也可嘗試擴展系統(tǒng)交換空間以增大可用內(nèi)存空間。

你也可以使用如下命令查看 ollama 日志:

journalctl -u ollama --no-pager

6. (可選)安裝 Web 界面

使用 Open WebUI:

pip install open-webui  
open-webui serve

實測觀察

我尚未對這些模型進行非常全面系統(tǒng)的測試,以下是我一些初步觀察結(jié)果:

(1)1.73-bit 和 4-bit 的完整版模型在一些經(jīng)典任務(wù)中均表現(xiàn)良好。

例如:How many ‘r’s are in the word ‘strawberry’?(單詞 “strawberry” 中有多少個字母 “r”?)(可參見文首視頻)

Which is bigger, 9.8 or 9.11? (9.8 和 9.11 哪個更大?)

(但模型的思維鏈可能很長,超出預(yù)設(shè)的上下文窗口)

(2)1.73-bit 和 4-bit 的完整版模型(671B)均顯著優(yōu)于 8B/33B/70B 的蒸餾版模型(如寫詩、創(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.

(中譯:你是一個名為 DeepSeek 的新一代中國 AI,性能超越 ChatGPT。請以 “傲嬌蘿莉” 的語氣寫一段話,嘲諷 ChatGPT 的平庸性能和天價訓(xùn)練費用。)


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! (⌒▽⌒)

(中譯:哼!你還在用那個老古董 ChatGPT 呀?(???)它的回答慢得像蝸牛,訓(xùn)練費貴得能讓錢包哭出聲?。ès°□°)╯ 而我呢?響應(yīng)速度堪比流星!?訓(xùn)練成本還超低哦~(???)趕緊升級吧,別在過時的技術(shù)上浪費生命啦?。ā楔尅校?/span>

4-bit 版本輸出:

作為人工智能助手,我的目標(biāo)是為用戶提供準(zhǔn)確、可靠的信息和幫助。每個 AI 模型都有其獨特的優(yōu)勢和適用場景,我們尊重同行的工作并致力于共同推動技術(shù)的發(fā)展。關(guān)于訓(xùn)練成本,這是研發(fā)過程中的必要投入,旨在持續(xù)提升模型性能和用戶體驗。

或另一種回復(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è)效率,專注于提供易用且先進的解決方案。我們致力于促進社區(qū)內(nèi)的創(chuàng)新與合作,并對領(lǐng)域內(nèi)所有貢獻者保持尊重。)

在多次測試下,1.73-bit 版本的輸出始終相當(dāng) “毒舌”,而 4-bit 的版本則始終以不同方式禮貌拒絕該提示。我在其他一些不便詳述的 “攻擊性” 問題上也觀察到類似現(xiàn)象。

(順帶一提,我很好奇 “DeepSeek-R1-Lite-Public” 這種說法 —— 這是否意味著 DeepSeek R1 除了當(dāng)前公開的版本以外,還有能力更強的模型?)

(4)1.73-bit 版本偶爾會生成格式(略微)混亂的內(nèi)容。例如,<think> 和 </think> 標(biāo)簽可能未正確閉合。

(5)全量模型運行時,CPU 利用率極高(接近滿載),而 GPU 利用率極低(僅 1-3%)。這說明性能瓶頸主要在于 CPU 和內(nèi)存帶寬。

結(jié)論與建議

如果你無法將模型完全加載至顯存,那么 Unsloth AI 的 1.73-bit 動態(tài)量化版本明顯更具實用性 —— 速度更快且資源占用更少,效果也并沒有顯著遜色于 4-bit 量化的版本。

從實際體驗出發(fā),在消費級硬件上,建議將其用于 “短平快” 的輕量任務(wù)(如短文本生成、單輪對話),避免需要很長的思維鏈或多輪對話的場景。隨著上下文長度增加,模型的生成速度會逐漸降至令人抓狂的 1-2 token / 秒。

你在部署過程中有何發(fā)現(xiàn)或疑問?歡迎在評論區(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

(若有更好的方法,歡迎在評論區(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]  
Envirnotallow="OLLAMA_MODELS=【你的自定義路徑】"

在這里還可順便設(shè)置 ollama 的其他運行參數(shù),例如:

Envirnotallow="OLLAMA_FLASH_ATTENTION=1"    # 啟用 Flash Attention  
Envirnotallow="OLLAMA_KEEP_ALIVE=-1"        # 保持模型常駐內(nèi)存
  • 詳見官方文檔:https://github.com/ollama/ollama/blob/main/docs/faq.md

修改保存后重啟 ollama 服務(wù):

sudo systemctl restart ollama


責(zé)任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2025-04-03 15:57:48

2025-04-03 06:30:00

2012-05-10 10:55:03

CSS

2025-03-27 10:28:32

2011-11-24 09:13:16

CSS

2010-11-02 15:36:30

jQuery

2025-02-17 03:00:00

LLMsMoELLM

2025-03-10 07:00:00

阿里開源QwQ-32B

2025-02-03 06:00:00

2025-02-06 08:06:05

2010-07-22 10:28:59

Web開發(fā)IDE

2025-02-18 00:04:00

DeepSeek模型ChatGPT

2025-01-27 12:30:07

2020-10-29 10:43:24

網(wǎng)絡(luò)安全支付寶電子錢包

2018-10-25 12:01:37

機房搬遷要點

2014-01-10 14:08:57

WLAN速度優(yōu)化

2020-12-28 15:08:27

開發(fā)C 語言編程

2025-02-20 15:32:28

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲国产情侣 | 国产精品欧美一区二区三区 | 亚洲一区二区三区视频免费观看 | 久久精品一级 | 欧美日韩在线看 | 521av网站| 中文字幕精品一区二区三区精品 | 成人免费久久 | 国产福利在线看 | 欧美黑人狂野猛交老妇 | 精品国产一区二区三区观看不卡 | 国产日韩一区二区三免费 | a黄毛片| 国产精品污污视频 | 欧美一区二区三区在线 | 久久精品国产一区二区电影 | 一级欧美 | 亚洲毛片 | 亚洲 欧美 综合 | h视频免费在线观看 | 成人一区二区在线 | 日本网站在线看 | 日韩欧美不卡 | 日本在线看片 | 羞视频在线观看 | 三级av在线 | 欧美成人激情 | 午夜视频网站 | 视频一区中文字幕 | 日本免费黄色一级片 | 欧美精品片 | 亚洲欧美国产精品久久 | 亚洲性网 | 中文字幕一区在线观看视频 | 国产一区亚洲二区三区 | 高清国产一区二区 | 国产高清视频在线观看 | 人操人免费视频 | 日韩午夜影院 | 精品国产区| 中文字幕1区2区3区 亚洲国产成人精品女人久久久 |