1.背景介绍
DeepSeek-R1:你的智能新伙伴
DeepSeek-R1不仅仅是一个拥有6710亿参数的大模型,它更是一个在数学、编程和复杂推理任务中表现卓越的智能助手。无论是解决复杂的算法难题,还是编写高效的代码,DeepSeek-R1都能助你一臂之力,其性能已经可以与市面上那些顶级的闭源大模型平分秋色。
开启分布式推理的新时代
为了让每个团队和个人都能享受到DeepSeek-R1带来的无限可能,我们特别准备了一份详尽的最佳实践指南。通过使用vLLM和KubeRay这两款强大的工具,你可以轻松实现DeepSeek-R1的私有化部署。
️ 三步实现你的专属AI部署
无论你是技术新手还是资深开发者,这份指南都将帮助你快速上手,只需三步,即可完成DeepSeek-R1的私有化部署。不要错过这个机会,立即行动起来吧!体验地址:
主要内容:
Step1 - 准备工作
1.账号开通
2.资源需求
3.开通弹性容器集群
4.配置文件准备
5.模型准备
Setp2 - KubeRay集群部署
1.安装KubeRay-Opertor
2.启动集群
3.安装访问配置
Setp3 - DeepSeek-R1部署
1.部署模型
2.访问模型
2.准备工作
本次部署会用到helm和Kubernetes,请先确保本地有可用的Kubernestes客户端工具kubectl,安装请参考文档。kubectl安装成功后,下载helm文件,按照如下方式进行安装:
Windows: 在环境变量 PATH 中设置helm文件所在的路径
Linux:将 helm 文件移动到目录 /usr/local/bin
在环境变量PATH中设置helm文件所在的路径
将 helm 文件移动到目录 /usr/local/bin
部署前需要先开通弹性容器集群,请跟随下面的步骤,完成前期准备工作。
2.1账号开通
点击“立即体验”进行账户开通注册
2.2资源需求
DeepSeek-R1模型的参数规模为6710亿,模型的文件大小约为642G。因此,在部署前,请确保开通的弹性容器集群的资源满足下表中的配置要求。
配置项 | 配置需求 |
---|---|
GPU | H800 * 16 |
CPU | 128核 |
内存 | 512GB |
磁盘 | 1TB |
2.3开通弹性容器集群
请参考弹性容器集群的入门文档,完成集群的开通并了解基本的使用方法【了解更多】。成功后,得到kubeconfig文件、弹性容器集群的信息、对象存储和Harbor仓库的相关信息。
提示:
需要先设置环境变量,export KUBECONFIG=kubeconfig文件路径,才能够执行kubectl命令
2.4配置文件准备
为了方便操作,为大家准备了配套的配置文件及示例代码,请点击此处下载。
文件名 | 描述 |
---|---|
deepseek-secret.yaml | Harbor仓库的密钥,用于拉取镜像时的认证 |
prepare.yaml | 准备工作的运行环境,不使用GPU资源,用于模型下载等工作 |
kuberay-operator | KubeRay Operator的配置文件目录,用于启动operator |
ray-cluster/ray-cluster.yaml | KubeRay集群的配置文件,用于启动KubeRay集群 |
ray-cluster/ray-svcExporter-chat.yaml | 网络配置文件,用于暴露DeepSeek的推理服务端口,供外部访问 |
2.5模型准备
该模型文件较大,我们按照如下步骤,从模型市场中快速下载DeepSeek-R1模型文件。
创建Secret
首先,创建Secret用于拉取镜像时的验证。执行下面的命令,创建Secret资源。
下载模型
执行kubectl apply -f prepare.yaml命令,创建准备环境Pod,用于下载模型。
Pod启动成功后,进入prepare的容器中,执行以下操作下载DeepSeek-R1模型。
提示:
模型文件大约642G,下载时间较长,请耐心等待
3.KubeRay集群部署
本方案使用KubeRay做为分布式计算框架来实现多机多卡的分布式推理环境。
3.1安装KubeRay-Opertor
进入kuberay-operator目录,执行下面的命令,启动operator。
部署成功后,可以执行下面的命令操作已部署的资源。
3.2启动集群
完成KubeRay-Opertor安装后,执行kubectl apply -f ray-cluster.yaml命令,启动KubeRay集群。
集群启动成功后,执行kubectl get pod -n deepseek查看服务运行情况。
3.3外部访问配置
在弹性容器集群中,无法直接使用NodePort方式暴露服务。对于需要外部访问的服务,我们可以使用ServiceExporter。ServiceExporter是弹性容器集群中用于将服务暴露到外部的组件,将其与需要对外提供服务的Service绑定,为用户提供外部访问的地址。
执行kubectl apply -f ray-svcExporter-chat.yaml命令,创建ServiceExporter资源。创建成功后,可以查看ServiceExporter的信息获取服务访问的地址。通过ServiceExporter方式暴露的服务端口均为22443
输出结果
提示:
当使用headless类型的svc时,只能暴露该svc上的一个端口。
4.DeepSeek-R1部署
4.1部署模型
KubeRay集群启动成功后,进入任意容器中,执行以下操作部署DeepSeek-R1模型。
提示:
模型加载预计耗时40~50分钟,建议在tmux中执行模型部署命令。
4.2访问模型
输出结果:
好的,我来分享一个轻松的小笑话:
医生对病人说:“以后尽量少吃宵夜。”
病人紧张地问:“是因为会消化不良吗?”
医生摇摇头:“不,主要是我每次半夜刷朋友圈,看见你发烤串火锅小龙虾的照片…真的很难专心值班。”
(希望这个小幽默能让你会心一笑~ )
5.总结
至此,我们完成了使用KubeRay和vLLM部署DeepSeek-R1模型的全部流程。本文为DeepSeek-R1私有化部署提供了从环境搭建到推理访问的完整技术路径。通过分布式推理模式,大尺寸模型的性能潜力得以充分释放,推动了 AI 应用的规模化落地。