DeepSeek-R1 作为一个强大的开源推理模型在 AI 社区掀起了波澜,它提供了挑战 OpenAI 的 o1 等行业领导者的先进功能,而且价格却不高。这个尖端模型建立在混合专家 (MoE) 架构之上,拥有高达 6710 亿个参数,但每次前向传递时仅有效激活 370 亿个参数。这种方法有助于平衡性能和效率,并使该模型具有高度可扩展性和成本效益。DeepSeek-R1 的独特之处在于其独特的强化学习 (RL) 方法,使其能够自主开发思路链推理、自我验证和反思。这些品质使其成为解决数学、编码和逻辑推理等不同领域复杂挑战的卓越工具。
与传统的 LLM 不同,DeepSeek-R1 可以更好地洞察其推理过程,并在关键基准上提供优化的性能。
DeepSeek-R1 在多个基准测试中表现优于 OpenAI 的 o1 和 Claude Sonnet 3.5 等顶级模型。
互联网上有几种方法可以在您的机器(或虚拟机)上本地安装 DeepSeek-R1。在本指南中,我们将介绍三种最佳和最简单的方法,以便在您的机器上快速设置和运行此模型。在本文结束时,您将能够深思熟虑地决定哪种方法最适合您的要求。
先决条件
运行 DeepSeek-R1 模型的最低系统要求:
磁盘空间:500 GB(不同型号可能有所不同)
已安装 Jupyter Notebook 或 Nvidia Cuda。
根据模型类型的 GPU 配置要求如下:
我们建议您截取此图表的屏幕截图并将其保存在某处,以便您在尝试模型之前快速查看 GPU 先决条件。
在本地安装 DeepSeek-R1 的分步过程
在本教程中,我们将使用NodeShift的 GPU 驱动虚拟机,因为它以非常实惠的价格提供高计算能力的虚拟机,并且满足 GDPR、SOC2 和 ISO27001 的要求。此外,它还提供了直观且用户友好的界面,使初学者更容易开始云部署。但是,您可以随意使用您选择的任何云提供商,并按照本教程的其余部分相同的步骤进行操作。
步骤 1:设置 NodeShift 帐户
访问app.nodeshift.com并填写基本信息创建一个帐户,或者继续使用您的 Google/GitHub 帐户注册。
如果您已经有帐户,请直接登录到您的仪表板。
步骤2:创建GPU节点
访问您的帐户后,您应该会看到一个仪表板(见图),现在:
1)导航至左侧菜单。
2)点击 GPU节点 选项。
3)单击“开始”开始创建您的第一个 GPU 节点。
这些 GPU 节点是 NodeShift 的 GPU 驱动虚拟机。这些节点高度可定制,可让您根据需要控制从 H100 到 A100 的 GPU、CPU、RAM 和存储的不同环境配置。
步骤 3:选择 GPU 配置(型号、区域、存储)
1) 在本教程中,我们将使用 RTX 4090 GPU,但是,您可以根据需要选择任何 GPU。
2) 同样,我们将通过滑动条选择 700GB 存储空间。您还可以从可用区域中选择 GPU 所在的区域。
步骤 4:选择 GPU 配置和身份验证方法
1) 选择所需的配置选项后,您将看到您所在地区可用的虚拟机,并且符合(或非常接近)您的配置。在我们的例子中,我们将选择一个 2x RTX 4090 GPU 节点,具有 64 个 vCPU/129GB RAM/700 GB SSD。
2) 接下来,您需要选择一种身份验证方法。有两种方法可用:密码和 SSH 密钥。我们建议使用 SSH 密钥,因为它们是更安全的选择。要创建一个,请转到我们的官方文档。
步骤 5:选择图像
最后一步是选择虚拟机的映像,在我们的例子中是Nvidia Cuda,我们将在其中通过 Ollama 和 vLLM 部署和运行模型推理。如果您使用 Transformers 进行部署,请选择 Jupyter Notebook 映像。
就这样!您现在可以部署节点了。完成配置摘要,如果看起来不错,请单击“创建”以部署节点。
步骤 6:使用 SSH 连接到活动计算节点
1)创建节点后,几秒钟或一分钟内即可部署。部署后,您将看到绿色的“正在运行”状态,这意味着我们的计算节点已准备好使用!
2)一旦您的 GPU 显示此状态,导航到右侧的三个点,单击使用 SSH 连接,然后复制出现的 SSH 详细信息。
复制详细信息时,请按照以下步骤通过 SSH 连接到正在运行的 GPU VM:
1)打开您的终端,粘贴 SSH 命令并运行它。
2)在某些情况下,您的终端可能会在连接前征求您的同意。输入“是”。
3) 系统会提示输入密码。输入 SSH 密码后,您便可以连接。
输出:
使用 Ollama 安装
Ollama 是一款用户友好的选项,可以以最低配置在本地快速运行 DeepSeek-R1。它最适合不需要大量优化或扩展的个人或小型项目。
在开始安装步骤之前,请使用以下命令检查您的 GPU 配置详细信息:
nvidia-smi
输出:
第一种安装方法是通过 Ollama。要使用 Ollama 安装 DeepSeek-R1,请按照以下步骤操作:
1)安装Ollama
curl -fsSL https://ollama.com/install.sh | sh
输出:
安装完成后,您可能会收到以下警告:
WARNING: Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies.
当 Ollama 无法自动检测系统中的 GPU 时,可能会发生这种情况。要解决此问题,只需使用以下命令安装一些 GPU 依赖项:
sudo apt install pciutils lshw
此后,重新运行 Ollama 安装命令,这一次它应该成功检测并使用 GPU。
2)通过检查版本确认安装。
ollama --version
输出:
3)启动Ollama。
安装完成后,我们将在当前终端启动 Ollama 服务器,并在新终端中执行其余操作。
ollama serve
输出:
现在我们的 Ollama 服务器已经启动,让我们安装模型。
4)打开一个新的终端窗口并运行 ollama 命令来检查一切是否正常运行并查看 Ollama 命令列表。
输出:
5)使用以下命令运行DeepSeek-R1模型。
(替换<MODEL_CODE>
为您喜欢的模型类型,例如70b
)
ollama run deepseek-r1:<MODEL_CODE>
输出:
该模型需要一些时间才能完成下载;一旦完成,我们就可以继续进行模型推理。
6)给出模型推理的提示。
下载完成后,ollama 将自动打开一个控制台,供您输入并向模型发送提示。在这里您可以与模型聊天。例如,它为以下提示生成了以下响应(如图所示):
“解释 monorepos 和 turborepos 之间的区别”
输出:
使用 vLLM 安装
vLLM 专为高效推理而设计,具有优化的内存使用率和高吞吐量,是生产环境的理想选择。如果您需要为大型应用程序提供服务,并且兼顾性能和成本效率,请选择此产品。
在接下来的步骤中,您将看到如何使用 vLLM 安装 DeepSeek-R1。
确保您有一台新服务器来执行此设置。如果您已经使用 Ollama 安装模型,则可以跳过此方法或将其安装在新服务器上以防止内存短缺。
1)确认Python是否已安装。
python3 -V
输出:
2)安装pip。
apt install -y python3-pip
输出:
3)安装 Rust 和 Cargo 包作为vLLM
使用依赖项rustup
。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
输出:
4)确认安装
rustc --version
cargo --version
输出:
5)安装vLLM
pip install vllm
输出:
如上图所示,由于 transformers 版本不兼容,安装过程中可能会出现错误。要解决此问题,请运行以下命令:
pip install transformers -U
输出:
修复错误后,vllm
再次运行安装命令,应该可以正常下载。
6)加载并运行模型。
在本教程的范围内,我们将DeepSeek-R1-Distill-Llama-8B
使用 vLLM 运行模型。在命令中,不要忘记限制--max_model 4096
响应中的令牌大小;否则,服务器可能会耗尽内存。
vllm serve "deepseek-ai/DeepSeek-R1-Distill-Llama-8B" --max_model 4096
输出:
7)打开一个新终端并使用以下命令调用模型服务器。
将“内容”属性替换为您的提示。例如,我们的提示是“告诉我茶的配方”。
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
"messages": [
{
"role": "user",
"content": "Tell me the recipe for tea"
}
]
}'
输出:
使用变压器进行安装
Transformers 为 DeepSeek-R1 的微调和实验提供了最大的灵活性和控制力。对于需要根据特定用例定制模型并尝试各种训练或推理配置的开发者和研究人员来说,Transformers 是最佳选择。
在本节中,您将学习使用 Transformers 安装模型。我们将在 Jupyter Notebook 上使用 Python 代码安装并运行该模型。
1)要在远程服务器上使用内置的 Jupyter Notebook 功能,请按照相同的步骤(步骤 1 - 步骤 6)创建一个新的 GPU 实例,但这次,在选择图像部分中选择Jupyter Notebook选项而不是 Nvidia Cuda ,然后部署 GPU。
2)GPU运行后,点击“使用SSH连接”在浏览器上打开Jupyter Notebook会话。
3)打开Python Notebook。
4)安装依赖项以使用 Transformers 运行模型。
!pip install transformers accelerate
输出:
5)使用来自 Transformers 的管道加载并运行模型。
为了演示此方法,我们正在运行DeepSeek-R1-Distill-Qwen-1.5B
模型。您可以根据需要将其替换为您喜欢的模型。
# Use a pipeline as a high-level helper
from transformers import pipeline
messages = [
{"role": "user", "content": "How can you help me?"},
]
pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B")
pipe(messages)
输出:
结论
在本指南中,我们探讨了三种不同的本地安装 DeepSeek-R1 的方法 - Ollama、vLLM 和 Transformers,每种方法都根据您的需求提供独特的优势,无论是易用性、性能优化还是灵活性。通过了解这些方法,您可以以最适合您的工作流程的方式高效地部署 DeepSeek-R1。借助 NodeShift Cloud,管理此类部署变得更加精简,提供强大的基础架构,简化设置并增强可扩展性,确保希望以最小的运营开销利用 DeepSeek-R1 功能的开发人员获得无缝体验。