云端部署DeepSeek-R1模型指南:快速上手与成本优化

利用阿里云GPU云服务器快速部署DeepSeek-R1模型,简化操作并降低成本,开启高效AI应用。

原文标题:部署DeepSeek,你的GPU够用吗?

原文作者:阿里云开发者

冷月清谈:

本文介绍了如何在阿里云GPU云服务器上部署DeepSeek-R1开源模型,并利用Ollama和Open WebUI进行模型托管和交互。文章详细讲解了部署前的环境准备工作,包括创建专有网络VPC和交换机、配置安全组以及创建GPU云服务器实例。部署过程中,以DeepSeek-R1-Distill-Qwen-7B为例,演示了如何使用Ollama框架部署模型,并通过Open WebUI提供友好的交互界面。文章还介绍了如何使用Chatbox客户端配置Ollama API进行对话。此外,文章强调了云端部署的优势,包括部署效率高、成本低、算力充足且易于扩展,并提供了详细的资源清理步骤。

怜星夜思:

1、除了文中提到的Qwen-7B,还有哪些其他规模的DeepSeek-R1模型可供选择?它们各自的性能和资源消耗如何?
2、在实际部署中,如何根据自己的需求选择合适的GPU云服务器规格?有哪些关键指标需要考虑?
3、除了Ollama和Open WebUI,还有哪些其他框架或工具可以用来部署和使用DeepSeek-R1模型?

原文内容

阿里妹导读


本文介绍如何将 DeepSeek-R1 开源模型部署到 GPU 云服务器,在 GPU 云服务器上安装与配置 Ollama 和 Open WebUI。

引言

随着DeepSeek的热度不断攀升,关于如何复现或部署DeepSeek的文章层出不穷。无论是直接在官网使用,还是通过三方平台调用,无论是API接入亦或是本地及云端部署,归根结底还是在根据具体的情况从性能、费用和安全性的不可能三角中寻找平衡。

对大多数普通用户来说,第三方平台提供的网页、客户端和 API 服务可能是最便捷的选择。例如,阿里云推出的百炼API调用,具体教程可参考历史文章,这些服务不仅易于上手,还能提供稳定的支持和维护,确保用户体验的流畅性。

🔗

对于那些希望进一步自主部署但资源有限,并且需要推理加速和支持并发的用户,更便捷的云上一键部署方案是理想选择。这种方案开箱即用,具备弹性可伸缩和充足的算力优势,允许用户基于私有数据进行模型微调和参数调整,以适配垂直领域的需求。

基于函数计算部署 DeepSeek 模型,支持 Ollama/Transformers 等框架,并能构建多样化的模型对话界面,如 OpenWebui 和 ChatGPTNext。对于技术爱好者,试图做出更多尝试并且期望获得完全自主可控大模型的用户,使用 GPU 部署可以根据需求自定义环境配置,例如安装特定版本的 CUDA 和深度学习框架等。

GPU 服务器提供了强大的计算能力,适用于深度学习、科学计算、图形可视化和视频处理等多种应用场景。云端部署的优势:


部署效率与易用性

云端部署无需复杂的环境配置和硬件搭建,简单几步,最快 10 分钟就能快速实现不同尺寸的 DeepSeek 模型部署和应用。

算力需求与成本优化

云端部署提供了弹性、充足的算力支持,同时相比本地部署需要购买和维护昂贵的 GPU 硬件,云端部署按需付费的模式可以显著降低硬件成本。

唾手可得的创新资源

云端部署支持快速迭代和优化,开发者可以利用云平台提供的工具和资源,快速进行模型训练、调优和更新,加速创新。

模型部署

本文介绍如何将 DeepSeek-R1 开源模型部署到 GPU 云服务器,在 GPU 云服务器上安装与配置 Ollama 和 Open WebUI。Ollama 负责托管 DeepSeek-R1 模型,Open WebUI 则为用户提供友好的交互界面。GPU 云服务器凭借其高性能并行计算架构,可以显著加速大模型的推理过程,特别是在处理大规模数据和高并发场景,可以有效提升推理速度和推理吞吐量。专有网络 VPC 和交换机用于资源隔离和安全管理,确保数据传输的安全性和网络的高可靠性。

本文以 DeepSeek-R1-Distill-Qwen-7B 为例进行演示,该版本是一个通过知识蒸馏技术从小型化模型中提取推理能力的高性能语言模型。它是基于 DeepSeek-R1 的推理能力,通过蒸馏技术将推理模式迁移到较小的 Qwen 模型上,从而在保持高效性能的同时降低了计算成本。用户可以根据实际需求选择其他参数规模的 DeepSeek-R1 模型,并相应调整实例规格配置。


方案架构

按照本方案提供的配置完成部署后,会在阿里云上搭建一个如下图所示的运行环境。实际部署时,您可根据具体的资源规划调整部分配置,但最终的运行环境将与下图展示的架构相似。

环境准备

在开始部署模型之前,需要进行一系列的环境准备工作。这些步骤包括创建专有网络 VPC 和交换机、配置安全组、创建 GPU 云服务器实例。

一、创建专有网络 VPC 和交换机

您需要创建专有网络 VPC 和交换机,为云服务器 ECS 实例构建云上的私有网络。

  1. 登录专有网络管理控制台[1]。

  2. 在顶部菜单栏,选择华东 1(杭州)地域。

  3. 在左侧导航栏,单击专有网络。

  4. 在专有网络页面,单击创建专有网络。

  5. 在创建专有网络页面,配置 1 个专有网络和 1 台交换机。配置交换机时,请确保交换机所属的可用区的 ECS 处于可用状态。

二、创建安全组

您已经创建了专有网络 VPC 和交换机。接下来您需要创建 1 个安全组,用于限制该专有网络 VPC 下交换机的网络流入和流出。

  1. 登录ECS 管理控制台[2]。

  2. 在左侧导航栏,选择网络与安全>安全组。

  3. 在顶部菜单栏,选择华东 1(杭州)地域。

  4. 在安全组页面,单击创建安全组。

  5. 在创建安全组页面,创建 1 个安全组。

三、创建 GPU 云服务器

您已经创建好专有网络 VPC 和交换机等资源。接下来您需要创建 1 个 GPU 云服务器实例,用于部署应用程序。

  1. ECS 管理控制台[2]。

  2. 在左侧导航栏,选择实例与镜像 > 实例。

  3. 在顶部菜单栏,选择华东 1(杭州)地域。

  4. 在实例页面,单击创建实例。

  5. 下表中未说明的参数,在本方案中可使用默认值。

应用部署

接下来我们使用 Ollama 框架来部署 DeepSeek-R1 模型,使用 Open WebUI 调用模型服务。

一、登录服务器

  1. 登录 ECS管理控制台[2]。

  2. 在左侧导航栏,选择实例与镜像>实例。

  3. 在顶部菜单栏,选择华东1(杭州)地域。

  4. 部署示例应用程序。

    1. 在实例页面,找到前面步骤中创建的 ECS 实例,查看IP 地址列,记录公网 IP ,然后在其右侧操作列,单击远程连接。

    2. 在远程连接对话框的通过 Workbench 远程连接区域,单击立即登录,然后根据页面提示登录。

  5. 输入密码并点击确定按钮,通过 Workbench 远程连接至 ECS 控制台。

  6. 如图所示 GPU 驱动尚未完成安装,请等待 10-20 分钟,安装完成后实例将自动重启。

二、部署 Ollama

  1. 执行以下命令部署 Ollama 模型服务。

curl -fsSL https://help-static-aliyun-doc.aliyuncs.com/install-script/deepseek-r1-for-platforms/ollama_install.sh|sh

2. 如下图所示,说明 Ollama 部署完成。

  1. 执行以下命令拉取模型。

ollama pull deepseek-r1:7b

  1. 执行以下命令,运行模型,运行成功后,在键盘上敲击两次回车键。

ollama run deepseek-r1:7b &
三、部署 Open WebUI
  1. 执行以下命令部署 Open WebUI 应用。

curl -fsSL https://help-static-aliyun-doc.aliyuncs.com/install-script/deepseek-r1-for-platforms/install.sh|sh

2. 部署完成后,可以看到控制台中输出Installation completed

应用体验

一、访问示例应用

  1. 在浏览器中访问http://<ECS公网IP>:8080,访问 Open WebUI。

说明

请将 <ECS公网IP> 更改为应用部署步骤记录的公网 IP。

二、与模型对话

  1. 在文本输入框中可以进行对话交互。输入问题你是谁?或者其他指令后,调用模型服务获得相应的响应。

三、使用 Chatbox 客户端配置 Ollama API 进行对话(可选)

  1. 访问 Chatbox 下载地址[5]下载并安装客户端,本方案以 macOS 为例。

  1. 运行并配置 Ollama API ,单击设置。

  1. 下拉选择模型提供方Ollama API,填写 API 域名 http://<ECS公网IP>:11434,下拉选择模型deepseek-r1:7b,最后单击保存。

  1. 在文本输入框中可以进行对话交互。输入问题你是谁?或者其他指令后,调用模型服务获得相应的响应。

完成及清理

清理资源

  1. 释放 1 台 GPU 云服务器实例:登录ECS 控制台[2],在实例页面,找到目标实例,然后在操作列选择

    >释放,根据界面提示释放实例。

  2. 删除 1 个安全组:登录ECS 控制台[2],在安全组页面,选择目标安全组,然后在操作列单击删除。

  3. 释放 1 台交换机:登录专有网络控制台[4],在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。

  4. 释放 1 个专有网络 VPC:登录专有网络控制台[1],在专有网络页面,找到目标 VPC,然后在操作列单击删除,按照界面提示释放实例。

点击文末阅读原文进入部署页面~

参考链接:

[1]https://vpcnext.console.aliyun.com/vpc/cn-hangzhou/vpcs

[2]https://ecs.console.aliyun.com/

[3]https://chatboxai.app/zh#download

[4]https://vpcnext.console.aliyun.com/vpc/cn-hangzhou/switches

如果对模型的控制要求更高,可以考虑使用Nvidia的Triton Inference Server,这是一个高性能的推理服务框架,可以优化模型的推理性能和资源利用率。

个人经验,如果预算有限,可以先选择一个配置相对较低的GPU云服务器进行测试,然后再根据实际情况进行调整。阿里云的弹性计算服务可以灵活地调整服务器配置,方便我们根据需求进行优化。

选择GPU云服务器规格时,主要考虑显存大小、GPU算力、CPU性能和网络带宽。DeepSeek-R1模型对显存的需求比较大,7B模型至少需要24GB显存,更大规模的模型需要更多。GPU算力决定了模型的推理速度,更高的算力可以加快推理过程。CPU性能会影响数据预处理和后处理的速度。网络带宽则会影响模型的加载速度和响应时间。

可以去DeepSeek的官方文档或者社区论坛看看,应该能找到更详细的模型参数和性能对比。

除了硬件配置,还要考虑操作系统的选择和驱动版本的兼容性。建议选择Ubuntu系统,并安装最新版本的CUDA驱动和cuDNN库,以获得最佳性能。

还可以使用Hugging Face的Inference API,这是一个云端推理服务,可以方便地部署和使用各种预训练模型,包括DeepSeek-R1。

这个问题问得好!DeepSeek-R1还有其他几个版本,比如13B和33B,以及更大规模的。不同规模的模型在性能和资源消耗上肯定有差异,更大的模型通常推理能力更强,但对GPU的性能要求也更高,推理速度也可能更慢一些。具体选择哪个版本,需要根据你的实际应用场景和预算来决定。

补充一下,除了模型规模,还要考虑显存、推理速度、部署成本等因素。7B模型对资源要求相对较低,适合个人开发者或中小企业。如果追求更高的性能,可以选择更大规模的模型,但同时也要评估GPU的配置是否足够,避免出现OOM的情况。

可以使用Transformers库加载和使用DeepSeek-R1模型。Transformers库提供了丰富的API和工具,可以方便地进行模型推理和微调。