春节期间,DeepSeek 因为众所周知原因,几乎一直处于不可用状态。特别是 API,经常是整天整天的宕机,即便今天早上发现网页恢复,在 VS Code 中打开 Cline 一看,还是在那转半天不动。逼得只能买第三方 API 来用。另外,我也顺手测试了一下本地部署 DeepSeek Ollama 情况。
部署方法
DeepSeek V3 和 R1 开源后,迅速成为当下最热门大模型。也是趁着这个热度,我还是第一次自行在本地部署此类大模型。此前一直误以为只有高档显卡才能玩得转,结果没想到,无显卡也可以使用。
Oracle Cloud 部署
我首次测试是在 Oracle Cloud 的 ARM 服务器上。这是一台 4C24G 的ARM免费服务器。
因为这台服务器上我早已安装了不少应用,日常使用 1Panel 进行 Docker 化管理。所以我直接在应用商店下载安装了 ollama 和 ollama-webui 两个应用。(但后者其实用处不大)
几乎不需要什么设置。在安装 ollama 后,直接在容器中通过终端输入以下安装命令即可操作。
|
|
得益于 Oracle Cloud 的高速网络,拉取一个 4.7GB 的 deepseek:r1-7b 大概只要 15 秒钟就能完成,可以说是即开即用。
DeepSeek 目前有 7 个 ollama 版本,从小到大分别是 1.5b 7b 8b 14b 32b 70b 671b。对应仓库大小如下。
模型 | 1.5b | 7b | 8b | 14b | 32b | 70b | 671b |
---|---|---|---|---|---|---|---|
仓库大小 | 1.1GB | 4.7GB | 4.9GB | 9.0GB | 20GB | 43GB | 404GB |
另外,ollama 上也还有一些其他版本的 DeepSeek r1 仓库,比默认版本都要高出几倍的容量。但个人感觉没什么太大区别。
这个仓库容量是一个关键指标。因为它关系到到底能不能在设备上运行。比如 1.5b 版本对应 1.1GB 文件,就需要 1GB 的内存或显存来加载。 相应的,如果是 70b 版本,就需要接近 40GB 内存或显存来加载。
ollama-webui
这是 1Panel 里边一个应用。顾名思义就是调取 DeepSeek API 到网页上来使用。配置起来也是极为简单,只需要在安装时填写好前边 ollama 应用的接口地址就行。
在 Docker 中,同一台服务器内直接填 Docker 内网 IP 就行了。如果需要用域名反代、远程连接服务器 IP 或者启用 HTTPS 那些,可以参照 1Panel 文档操作。
不过需要注意的是,ollama 接口都需要加上 http://
前缀,如果只填 ip:port
是不行的。
Windows PC 部署
我在 Oracle 部署两个 DeepSeek 小模型后,就感觉这玩意很奇特。因为它完全没有用到唬人的 GPU,而是直接靠 CPU + 内存就运行了起来。虽然从结果上看,在一台性能孱弱的免费的 Oracle VPS 上运行 DeepSeek 7B 还是很折磨人,日常输出只有 2 tokens/s 。 但运行 1.5 b 时有 11 tokens/s 的速度确实很不错。于是想着在电脑也装个 7b 玩玩。毕竟,看官网介绍,这个 7b 在某些方面甚至都干赢了 GPT-4o。
Model | AIME 2024 | AIME 2024 | MATH-500 | GPQA Diamond | LiveCodeBench | CodeForces |
---|---|---|---|---|---|---|
GPT-4o | 9.3 | 13.4 | 74.6 | 49.9 | 32.9 | 759 |
Claude-3.5 | 16.0 | 26.7 | 78.3 | 65.0 | 38.9 | 717 |
o1-mini | 63.6 | 80.0 | 90.0 | 60.0 | 53.8 | 1820 |
QwQ-32B | 44.0 | 60.0 | 90.6 | 54.5 | 41.9 | 1316 |
DeepSeek-R1–1.5B | 28.9 | 52.7 | 83.9 | 33.8 | 16.9 | 954 |
DeepSeek-R1–7B | 55.5 | 83.3 | 92.8 | 49.1 | 37.6 | 1189 |
DeepSeek-R1–14B | 69.7 | 80.0 | 93.9 | 59.1 | 53.1 | 1481 |
DeepSeek-R1–32B | 72.6 | 83.3 | 94.3 | 62.1 | 57.2 | 1691 |
DeepSeek-R1–8B | 50.4 | 80.0 | 89.1 | 49.0 | 39.6 | 1205 |
DeepSeek-R1–70B | 70.0 | 86.7 | 94.5 | 65.2 | 57.5 | 1633 |
安装步骤
- 在 ollama 官网下载安装 ollama 软件( 官网下载地址 )然后双击安装。装完后,桌面右下角会出现一只小羊驼图标。
- 按 Windows+R 调出运行窗口,输入
cmd
进入命令行工具。
- 输入
ollama run deepseek-r1:1.5b
运行命令,即可自动下载 DeepSeek 1.5b 版本(其他版本参照上边数字修改即可),下载完后立马可用。
一些测试情况
我目前只在自己两台性能孱弱的笔记本电脑上进行测试。一台没有独立显卡,一台有独立显卡。这里主要讲讲没有独立显卡的情况。
- 笔记本 CPU 硬解 DeepSeek 1.5b ,大约 22 tokens/s ,速度可以说是飞快了。
- 笔记本 CPU 硬解 DeepSeek 7b ,大约 7 tokens/s ,速度尚可接受。
- 指定 CPU 核心数量进行测试。由于我这个 CPU 是 4 核 8 线程的,我测试了一下修改 CPU 核心数对硬解 DeepSeek 7b 的影响。结果发现,默认啥都不调就是最好的。或许是因为我这个 CPU 太弱了吧。
指定 CPU 核心数方法:/set parameter num_thread 8
(这里的线程实际上是物理核心而不是 CPU 线程)如果是在 Docker 中使用,直接修改项目最大可用 CPU 数量就行。例如 4 核服务器限制最大可用 3.5 核就不会出现CPU 100% 满载了。
总结
本地版本的 DeepSeek 只是一个补充,除非有一台非常强大的服务器能够直接安装 671b版本,不然还是网上的第三方 API 更好用。我估算下这个 671b 版本如果不用显卡的话,可能需要 384GB 以上内存才能带的动。同样的,如果要带动这么多内存,估计也需要一个 32 线程以上的 CPU 才行。但我没玩过这么高端的东西,也就是羡慕下罢了。
最后就是这种本地版本有个好处就是敏感性要显著低于在线版本,特别是 DeepSeek 官网那个网页版。实测很多政治词汇在本地都是可以正常运行的,包括一些敏感问题也都能回答,但在官网网页版上都是拒绝回答的。