2025 年春节期间,国内外媒体对 DeepSeek 高度关注。其中,最高的评价来自《黑神话·悟空》的创作者冯骥所提出的“国运级”定位。一时间,自媒体纷纷前来蹭热度,可谓热闹非凡。
外行看热闹,内行看门道。可以预见的是,接下来的一段时间里,DeepSeek-R1 的本地化部署将成为国内企业级 AI 应用的首选方案。
然而,目前关于 DeepSeek-R1 模型部署的文章多为混淆概念的标题党内容。
因此,有必要澄清该模型的特性并提供一种经过实践的部署方法,以供学习和业务参考。
01
R1 的特点与版本
DeepSeek-R1 系列模型在 DeepSeek-V3 的基础上通过强化学习技术,在推理能力上取得了显著突破,同时保持了低成本和开源的特点。
在技术方面有如下优势:
-
证明了“强化学习”对大模型的训练效果:DS 完全基于 RL(强化学习)进行训练,未使用任何监督训练或人类反馈,能够通过自我学习来提高性能,减少对人工标注的依赖。
-
高性能同时做到低硬件成本:DeepSeek-R1 在数学、编程和自然语言推理等任务上的性能与 OpenAI 的 GPT-4 正式版相当,但训练成本仅为 OpenAI 同类模型的 1/30。
-
提供多种参数量的蒸馏模型,以适应不同的应用场景。
在模型版本方面,DeepSeek 发布了 R1 系列的不同版本包括:R1-Zero、R1 和蒸馏版本。
区别如下:
-
DeepSeek-R1-Zero:完全基于强化学习训练,未使用监督微调数据,展现出强大的推理能力,但存在可读性差和语言一致性等局限。
-
DeepSeek-R1:在 R1-Zero 的基础上引入冷启动数据和多阶段训练策略,提升了模型的可读性、稳定性和语言一致性。
-
蒸馏版本:将 DeepSeek-R1 的推理能力迁移至 Qwen 和 LLaM 等更小规模模型中,推出了参数范围涵盖 1.5B 到 70B 的多版本。
先按下应用不会直接使用基础模型 R1-Zero 不表。行业测评对 R1 和蒸馏(Distill)模型有较高评价。
但值得注意的是,现有文章存在混淆 R1 与蒸馏模型的现象,刻意将 7B、14B 等蒸馏模型等同于 R1 的做法容易误导读者低估R1的实际部署成本。为明确区分起见,下文所述“R1”特指参数量最大的 671B 版本。
02
量化选择与软硬件要求
根据官方及社区的讨论,满血版 R1(671B,且不做量化)需要 2 台 8 卡 H100,或 1 台 8 卡 H20,或 1 台 8 卡 H200 来实现所有模型参数的内存卸载。
如果按这种说法,只有预算至少在 200 万以上的企业级应用才能用上 R1 本地化部署。
因此,Unsloth.AI 社区推出的量化版本 R1 可以作为使用满血版 R1 前的“试用装”。
——Unsloth:我们探索了如何让更多的本地用户运行它,并设法将 DeepSeek 的 R1 671B 参数模型量化为 131GB,从原来的 720GB 减少了 80%,同时非常实用。
在实际部署中,不同的动态量化版本的效果不同:
正好,我们实验室有 8 卡 H20(每张卡 96GB 显存)服务器,我们接下来将用它来部署量化效果最好的 2.51Bit 的版本。
操作系统: ubuntu 22.04
软件:
ollama: v0.5.7
llama-gguf-split: 4611 (53debe6f)
模型: DeepSeek R1 671b2.51-bit量化
03
安装步骤
安装 ollama
1.下载并解压软件
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz``sudo tar -C /usr -xzf ollama-linux-amd64.tgz
2. 启动 ollama
ollama serve
下载模型文件
社区将 gguf 拆分成 5 个字文件,依次下载到本地:
https://modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/files
也可以通过以下懒人命令下载:
pip install modelscope` `modelscope download --model unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-Q2_K_XL-00001-of-00005.gguf --local_dir ~/dir` `modelscope download --model unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-Q2_K_XL-00002-of-00005.gguf --local_dir ~/dir` `modelscope download --model unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-Q2_K_XL-00003-of-00005.gguf --local_dir ~/dir` `modelscope download --model unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-Q2_K_XL-00004-of-00005.gguf --local_dir ~/dir` `modelscope download --model unsloth/DeepSeek-R1-GGUF DeepSeek-R1-UD-Q2_K_XL-00005-of-00005.gguf --local_dir ~/dir
合并模型文件,由于当前 ollama 还没有支持 gguf 分片启动,因此,需要使用 llama-gguf-split 工具将刚刚得到 5 个字文件进行合并操作。
1.安装 llama-gguf-split
git clone https://github.com/ggerganov/llama.cpp.git``cd llama.cpp``cmake -B build cmake --build build --config Release``# 编译好的模型文件放在llama.cpp.git/build/bin中
2. 合并模型
cd build/bin``./llama-gguf-split --merge ~/dir/DeepSeek-R1-UD-Q2_K_XL/DeepSeek-R1-UD-Q2_K_XL-00001-of-00005.gguf ~/dir/DeepSeek-R1-UD-Q2_K_XL/DeepSeek-R1-2.51bit.gguf
ollama 运行启动
1. 导入 gguf 并创建模型
echo "FROM ~/dir/DeepSeek-R1-UD-Q2_K_XL/DeepSeek-R1-2.51bit.gguf" > ~/Modelfile``cd ~``ollama create deepSeek-quant-2.51bit -f Modelfile
2. 验证
ollama list
看到如下输出,即说明 R1 模型启动成功:
04
测试效果
1.对话效果
因测试前端软件运行的本人电脑,与运行 ollama 和 DeepSeek-R1 的机器放在相同局域内网,因此,需要调整 ollama 配置,并重新启动。
ubuntu 在默认位置 /etc/systemd/system/ollama.service 文件中的 [Service] 下面添加:
Environment="OLLAMA_HOST=0.0.0.0:11434"``Environment="OLLAMA_ORIGINS=*"
通过局域网的电脑中安装 Cherry Studio 软件,并配置添加后台 API 信息,以我的环境为例,添加了一条命名为“local”的 OpenAI 类型的模型服务接口(如下图)。
在对话页面,就可以像其他网页大模型一样跟我们搭建好的本地大模型进行对话。
此时,在后台查看 GPU 使用情况,可以看到 GPU 内存平均每张卡占用 30GB 左右。
2. 测试启动模型的最小 GPU 卡数
减少 GPU 卡重新运行,如果将 GPU 卡减少到 4 块,实际使用的是序号为“0、1、2、3”四块 GPU,在提问相同问题时,GPU 的显存占用翻倍。
进一步如果将 GPU 卡减少到 2 块,在提问相同问题时,发现 GPU 的显存溢出,无法提供正确的回答。
因此,用 ollama 运行 DeepSeek-R1-2.51Bit 量化版本,建议使用 3~4 块 H20。
3. 测试 1.58-bit 量化所需卡数
进一步降低量化精度,采用 1.58-bit 量化版本,实际测试两块 H20 显卡能够运行成功。
总结
DeepSeek-R1 系列发布了 8 个开源模型,其中原生 DeepSeek 的只有 R1-Zero 和 R1,其他模型则是基于 DeepSeek 基础模型进行知识蒸馏,并采用 Qwen 或 LLaMA 架构的二次开发版本。
本文动手部署了原生的 R1 版,当然受限于硬件条件限制采用了 2.51-bit 量化方案,并实际测试得出需要使用 4 块 H20 来进行部署 2.51-bit 量化的版本,需要 2 块 H20 来部署 1.58-bit 量化的版本。
此外,根据社区的一些分析,R1 经 1.58-bit 量化后最小可以部署在 1 张 4090 卡上,当然这种情况需要反复加载激活参数,对推理速度有较大的影响。
接下来,我还打算将本地部署的 DeekSeek-R1 接入我们之前的《我的世界》游戏看看 DeepSeek 搭建的建筑效果如何。此外,后续有时间希望动手尝试一下用 2 台 H20 部署满血版 DeekSeek-R1。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。