发布于 ,更新于 

DeepSeek-R1本地化部署

在 Mac 上使用 Ollama 运行 DeepSeek-R1,并通过 Open-WebUI 提供 Web 端访问。

1. 安装 Ollama

下载并安装 Ollama:https://ollama.com/

1
2
# 检查Ollama是否安装成功,成功会显示版本号,如:ollama version is 0.5.7
ollama --version

2. 下载模型

模型地址页面中包含了满血版 671b ,以及其他很多量化版、蒸馏版模型,以适配资源较小的服务器

下载 DeepSeek-R1 模型,根据硬件配置选择参数,这里我使用最小的参数1.5b

1
2
# 该命令会自动下载 DeepSeek-R1 1.5B 版本的模型,并存储在本地。
ollama pull deepseek-r1:1.5b

下载后的模型保存目录

1
~/.ollama/models

硬件资源和deepseek版本的对比表格:(来源于网络)

模型参数规模 典型用途 CPU 建议 GPU 建议 内存建议 (RAM) 磁盘空间建议 适用场景
1.5b (15亿) 小型推理、轻量级任务 4核以上 (Intel i5 / AMD Ryzen 5) 可选,入门级 GPU (如 NVIDIA GTX 1650, 4GB 显存) 8GB 10GB 以上 SSD 小型 NLP 任务、文本生成、简单分类
7b (70亿) 中等推理、通用任务 6核以上 (Intel i7 / AMD Ryzen 7) 中端 GPU (如 NVIDIA RTX 3060, 12GB 显存) 16GB 20GB 以上 SSD 中等规模 NLP、对话系统、文本分析
14b (140亿) 中大型推理、复杂任务 8核以上 (Intel i9 / AMD Ryzen 9) 高端 GPU (如 NVIDIA RTX 3090, 24GB 显存) 32GB 50GB 以上 SSD 复杂 NLP、多轮对话、知识问答
32b (320亿) 大型推理、高性能任务 12核以上 (Intel Xeon / AMD Threadripper) 高性能 GPU (如 NVIDIA A100, 40GB 显存) 64GB 100GB 以上 SSD 大规模 NLP、多模态任务、研究用途
70b (700亿) 超大规模推理、研究任务 16核以上 (服务器级 CPU) 多 GPU 并行 (如 2x NVIDIA A100, 80GB 显存) 128GB 200GB 以上 SSD 超大规模模型、研究、企业级应用
671b (6710亿) 超大规模训练、企业级任务 服务器级 CPU (如 AMD EPYC / Intel Xeon) 多 GPU 集群 (如 8x NVIDIA A100, 320GB 显存) 256GB 或更高 1TB 以上 NVMe SSD 超大规模训练、企业级 AI 平台

3. 本地运行 DeepSeek-R1

1
2
3
4
# 查看已下载的模型
ollama list
# 运行模型
ollama run deepseek-r1:1.5b

以下步骤没有经过验证 包括:Open-WebUI 和 性能优化

4. 通过 Open-WebUI 运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#启动docker
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main

#停止容器·
docker stop open-webui
#删除容器
docker rm open-webui
#删除存储数据
docker volume rm open-webui

• -p 3000:8080:将容器的 8080 端口映射到本机 3000 端口;
• –add-host=host.docker.internal:host-gateway:允许容器访问宿主机网络;
• -v open-webui:/app/backend/data:挂载数据存储目录,保存容器的状态和数据。
• –restart always:确保容器在重启后自动运行;
• ghcr.io/open-webui/open-webui:main:拉取 Open-WebUI 的最新版本镜像。

如果是NVIDIA GPU使用ghcr.io/open-webui/open-webui:cuda

运行容器后,访问 http://localhost:3000 即可访问 Open-WebUI。

5.优化性能

1、创建或编辑配置文件:

1
nano ~/.ollama/config

2、添加配置信息(~/.ollama/config):

1
2
3
4
5
6
{
"gpu_layers": 35, // GPU层数,根据显卡性能调整
"cpu_threads": 6, // CPU线程数,建议设为CPU核心数
"batch_size": 512, // 批处理大小,影响内存使用
"context_size": 4096 // 上下文窗口大小,影响对话长度
}

3、重启ollama服务生效

1
2
3
ollama stop 
ollama start
ollama run deepseek-r1:7b

4、性能调优建议:

  • 如果电脑发烫/卡顿:减小 gpu_layers 和 batch_size
  • 如果内存不足:减小 batch_size
  • 如果需要更长对话:增加 context_size(会消耗更多内存)
  • cpu_threads 建议设置为实际CPU核心数-2

5、性能参考

  • 内存占用:~12-14GB
  • 首次加载:30-60秒
  • 对话延迟:1-3秒
  • 上下文窗口:4096 tokens