使用 Ollama、vLLM 或 Transformers 在本地安装 DeepSeek-R1 的分步指南
DeepSeek-R1 是一款强大的开源推理模型,在人工智能社区掀起波澜。它提供的先进功能足以挑战 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/700GB 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 是您的理想之选。
在接下来的步骤中,您将看到如何使用 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)打开一个新终端并使用以下命令调用模型服务器。
将“content”属性替换成你的提示。例如,我们的提示是“告诉我茶的配方”。
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运行后,点击Connect with 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 的强大功能的开发人员获得无缝体验。
有关 NodeShift 的更多信息:
文章来源:https://dev.to/nodeshiftcloud/a-step-by-step-guide-to-install-deepseek-r1-locally-with-ollama-vllm-or-transformers-44a1