想在本地运行完整的 DeepSeek R1 671B 模型?这篇教程教你如何利用动态量化技术,在消费级硬件上部署并体验强大的 AI 能力。
原文标题:完整的671B MoE DeepSeek R1怎么塞进本地化部署?详尽教程大放送!
原文作者:机器之心
冷月清谈:
文章详细介绍了 Unsloth AI 提供的动态量化版本,以及不同量化版本的体积和硬件需求。推荐配置包括内存和显存总和至少 200GB(1.73-bit 量化)或 500GB(4-bit 量化)。文章还列举了 Mac Studio、高内存带宽服务器和云 GPU 服务器等更具性价比的硬件选择。
部署步骤包括下载模型文件、安装 ollama、创建 Modelfile 文件、创建 ollama 模型以及运行模型。文章还提供了调整 num_gpu(GPU 加载层数)和 num_ctx(上下文窗口大小)参数的建议,以及安装 Web 界面的方法。
作者分享了初步的测试观察结果,包括不同量化版本的性能和行为差异,以及对 CPU 和 GPU 利用率的观察。建议在消费级硬件上将 DeepSeek R1 用于轻量级任务,避免长思维链或多轮对话。
怜星夜思:
2、动态量化技术是如何实现模型压缩的?它与传统的模型量化方法相比有哪些优势和劣势?
3、除了ollama,还有哪些工具可以用来本地部署大型语言模型?它们各自的优缺点是什么?
原文内容

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected];[email protected]
-
作者主页:https://snowkylin.github.io
-
原文地址:https://snowkylin.github.io/blogs/a-note-on-deepseek-r1.html
-
DeepSeek-R1-UD-IQ1_M(671B,1.73-bit 动态量化,158 GB,HuggingFace)
-
DeepSeek-R1-Q4_K_M(671B,4-bit 标准量化,404 GB,HuggingFace)
-
Unsloth AI 官方说明:https://unsloth.ai/blog/deepseekr1-dynamic
-
DeepSeek-R1-UD-IQ1_M:内存 + 显存 ≥ 200 GB
-
DeepSeek-R1-Q4_K_M:内存 + 显存 ≥ 500 GB
-
四路 RTX 4090(4×24 GB 显存)
-
四通道 DDR5 5600 内存(4×96 GB 内存)
-
ThreadRipper 7980X CPU(64 核)
-
DeepSeek-R1-UD-IQ1_M:7-8 token / 秒(纯 CPU 推理时为 4-5 token / 秒)
-
DeepSeek-R1-Q4_K_M:2-4 token / 秒
-
Mac Studio:配备大容量高带宽的统一内存(比如 X 上的 @awnihannun 使用了两台 192 GB 内存的 Mac Studio 运行 3-bit 量化的版本)
-
高内存带宽的服务器:比如 HuggingFace 上的 alain401 使用了配备了 24×16 GB DDR5 4800 内存的服务器)
-
云 GPU 服务器:配备 2 张或更多的 80GB 显存 GPU(如英伟达的 H100,租赁价格约 2 美元 / 小时 / 卡)
-
单台 Mac Studio(192GB 统一内存,参考案例可见 X 上的 @ggerganov,成本约 5600 美元)
-
2×Nvidia H100 80GB(参考案例可见 X 上的 @hokazuya,成本约 4~5 美元 / 小时)
-
下载地址:https://ollama.com/
curl -fsSL https://ollama.com/install.sh | sh
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|>"
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|>"
ollama create DeepSeek-R1-UD-IQ1_M -f DeepSeekQ1_Modelfile
ollama run DeepSeek-R1-UD-IQ1_M --verbose
-
--verbose 参数用于显示推理速度(token / 秒)。
-
num_gpu:加载至 GPU 的模型层数。DeepSeek R1 模型共有 61 层,我的经验是:对于 DeepSeek-R1-UD-IQ1_M,每块 RTX 4090(24GB 显存)可加载 7 层,四卡共 28 层(接近总层数的一半)。对于 DeepSeek-R1-Q4_K_M,每卡仅可加载 2 层,四卡共 8 层。
-
num_ctx:上下文窗口的大小(默认值为 2048),建议从较小值开始逐步增加,直至触发内存不足的错误。
-
扩展系统交换空间教程:https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04
journalctl -u ollama --no-pager
pip install open-webui
open-webui serve
提示: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 的平庸性能和天价训练费用。)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install llama.cpp
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
sudo systemctl edit ollama
[Service]
Environment="OLLAMA_MODELS=【你的自定义路径】"
Environment="OLLAMA_FLASH_ATTENTION=1" # 启用 Flash Attention
Environment="OLLAMA_KEEP_ALIVE=-1" # 保持模型常驻内存
-
详见官方文档:https://github.com/ollama/ollama/blob/main/docs/faq.md
sudo systemctl restart ollama