本地部署 DeepSeek-R1 671B 千亿大模型流程

28 天前
snowkylin  snowkylin
https://snowkylin.github.io/blogs/a-note-on-deepseek-r1.html

(以下介绍就是 DeepSeek R1 写的,我觉得还挺厉害的,我是写不出来……)

🚀 测试模型:
1.73-bit 量化版( 158GB ,每秒 7-8 个词)
4-bit 量化版( 404GB ,每秒 2-4 个词)

💻 硬件需求:
1.73-bit:内存+显存 ≥ 200GB
4-bit:内存+显存 ≥ 500GB
实测配置:4 块 RTX4090 显卡( 96G 显存) + 384G DDR5 内存

⚡ 性能对比:
短文本生成:1.73-bit 速度碾压,长文本会卡到 1-2 词/秒
瓶颈竟是 CPU 和内存,GPU 全程摸鱼(利用率 1-3% 😂)

🤖 模型性格差异:
1.73-bit:毒舌傲娇,敢怼 ChatGPT:
“哼!还在用老古董 ChatGPT ?(◔‸◔) 我的训练费可没烧穿钱包!”
4-bit:安全标兵,拒绝一切危险发言,全程官方脸 😇

🔧 部署步骤:
下载+合并 GGUF 文件
装 Ollama + 调参数( GPU 分层加载)
跑模型,内存炸了?减层数!
可选:搭配 OpenWebUI 变身高配版 ChatGPT !

✨ 总结:
1.73-bit 版性价比超高,适合短平快任务!长对话会变树懒…🦥
完整教程在博客,硬核玩家速来试试!👉
6704 次点击
所在节点   分享发现  分享发现
24 条回复
fcten
fcten
28 天前
MoE 模型的主要瓶颈在于内存/显存带宽,对算力的要求比较小。你的这个配置的瓶颈全在内存带宽上,GPU 妥妥打酱油。

用 24 通道的双路服务器主板,纯 CPU 跑 Q8 量化的模型也能达到 6 ~ 8 token/s 的速度。可以参考: https://x.com/carrigmat/status/1884244369907278106
snowkylin
snowkylin
28 天前
@fcten 是的,所以我在正文里写了,文中测试的这套配置对于跑大规模 LLM 推理并不是最有性价比的(我用这个只是因为我手上刚好有,主要是做训练用)。如果纯做 LLM 推理,目前最有性价比的新机方案我觉得可能是高配大内存的 Mac Studio 。

https://x.com/ggerganov/status/1884358147403571466
vpsvps
vpsvps
28 天前
请问 1.73-bit 量化版( 158GB 大小的模型)
一个 4090 24G 加上 160G 内存
可以跑起来吗?
不是需要 7 块 4090 吗?
snowkylin
snowkylin
28 天前
@vpsvps 可以,会比较慢(可能大约 2-3 token/s ,取决于内存带宽和 cpu 规模)
vpsvps
vpsvps
28 天前
@snowkylin #4 谢谢回复,用 ollama 就可以吧,显存用完就会调用内存,
比如 我的服务器有 8 块 4090 ,内存 640G ,能跑得动 671b 404GB 这个,就是速度慢点是吧?
snowkylin
snowkylin
28 天前
BanShe
BanShe
28 天前
马克一下。我缺显卡😂
googlefans
googlefans
28 天前
出个教程
vpsvps
vpsvps
28 天前
@snowkylin #6 👍,这种方式是不是不能直接使用 ollama run deepseek-r1:671b 从 ollama 上下载,404G 的,而需要在 huginnface 上下载?

Download the model files (.gguf) from HuggingFace (better with a downloader, I use XDM), then merge the seperated files into one
snowkylin
snowkylin
28 天前
@vpsvps 我没试过直接用 ollama 下载,不太确定,以及这个是 unsloth ai 出的动态量化版本,目前我只看到 huggingface 上有
erek
erek
28 天前
抱歉,一块 显卡都没有 T T
uncat
28 天前
> 我的服务器有 8 块 4090 ,内存 640G ,能跑得动 671b 404GB 这个吗?

可以跑得动,跟你类似的配置,8 * 4090 + 512G 内存。Ollama 671B Q4 ,回答问题,短的 10s ,长的 20 - 30s 的样子。体验较差。

实际显存+内存总共:180 - 200G 。

ollama 现在会因为显存分配策略问题导致无法启动,需要 dump 出 Modefile 后手动添加 parameter num_gpu 为显卡数量 * 2
uncat
28 天前
vpsvps
28 天前
@uncat 谢谢回复,是直接 ollama run deepseek-r1:671b 这个就行吗?这个简单些。huginnface 上的版本还得合并,比较麻烦,您说的是指用 unsloth/DeepSeek-R1-GGUF 这个模型文件吗
uncat
28 天前
> 是直接 ollama run deepseek-r1:671b 这个就行吗?

先 ollama pull deepseek-r1:671b 拉下来后,保存 modefile 到本地,添加 num_gpu 参数后再重新导入即可。

参考这个: https://github.com/ollama/ollama/issues/6950#issuecomment-2373663650

@vpsvps
uncat
28 天前
1. ollama pull deepseek-r1:671b
2. ollama show --modelfile deepseek-r1:671b | sed -e 's/^FROM.*/FROM deepseek-r1:671b/' > Modelfile
3. echo "PARAMETER num_gpu 0" >> Modelfile
4. ollama create deepseek-r1:671b-custom

第 3 步,将 0 替换为 2 (假设你是 24G 显存的显卡,实际显存除以 9 取整数商)
uncat
28 天前
vpsvps
28 天前
@uncat 谢谢 我试试
TUCANA
28 天前
这个介绍适合发小红书🤣
snowkylin
28 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1108393

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX