写点什么

671B DeepSeek-R1:不蒸馏满血版部署,实现最高智能与个性知识融合

  • 2025-02-07
    北京
  • 本文字数:2776 字

    阅读完需:约 9 分钟

671B DeepSeek-R1:不蒸馏满血版部署,实现最高智能与个性知识融合

1.背景介绍


DeepSeek-R1:你的智能新伙伴


DeepSeek-R1 不仅仅是一个拥有 6710 亿参数的大模型,它更是一个在数学、编程和复杂推理任务中表现卓越的智能助手。无论是解决复杂的算法难题,还是编写高效的代码,DeepSeek-R1 都能助你一臂之力,其性能已经可以与市面上那些顶级的闭源大模型平分秋色。


开启分布式推理的新时代


为了让每个团队和个人都能享受到 DeepSeek-R1 带来的无限可能,我们特别准备了一份详尽的最佳实践指南。通过使用 vLLM 和 KubeRay 这两款强大的工具,你可以轻松实现 DeepSeek-R1 的私有化部署。


️ 三步实现你的专属 AI 部署


无论你是技术新手还是资深开发者,这份指南都将帮助你快速上手,只需三步,即可完成 DeepSeek-R1 的私有化部署。不要错过这个机会,立即行动起来吧!


体验地址:

https://docs.alayanew.com/docs/documents/newActivities/deepseekr1


主要内容:


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文件,按照如下方式进行安装:


import Tabs from '@theme/Tabs';


import TabItem from '@theme/TabItem';


在环境变量 PATH 中设置 helm 文件所在的路径


将 helm 文件移动到目录 /usr/local/bin


部署前需要先开通弹性容器集群,请跟随下面的步骤,完成前期准备工作。


2.1 账号开通


点击https://docs.alayanew.com/


点击“立即体验”进行账户开通注册


2.2 资源需求


DeepSeek-R1 模型的参数规模为 6710 亿,模型的文件大小约为 642G。因此,在部署前,请确保开通的弹性容器集群的资源满足下表中的配置要求。



请参考弹性容器集群的入门文档,完成集群的开通并了解基本的使用方法【了解更多】。成功后,得到 kubeconfig 文件、弹性容器集群的信息、对象存储和 Harbor 仓库的相关信息。


提示:需要先设置环境变量,export KUBECONFIG=kubeconfig 文件路径,才能够执行 kubectl 命令 2.4 配置文件准备


为了方便操作,为大家准备了配套的配置文件及示例代码,请点击此处下载。



2.5 模型准备


该模型文件较大,我们按照如下步骤,从模型市场中快速下载 DeepSeek-R1 模型文件。


创建 Secret


首先,创建 Secret 用于拉取镜像时的验证。执行下面的命令,创建 Secret 资源。

# 创建namespace1. kubectl create namespace deepseek
# 创建Secret2. kubectl apply -f deepseek-secret.yaml
复制代码


下载模型


执行 kubectl apply -f prepare.yaml 命令,创建准备环境 Pod,用于下载模型。


Pod 启动成功后,进入 prepare 的容器中,执行以下操作下载 DeepSeek-R1 模型。

  # 进入prepare容器  1. kubectl exec -it $( kubectl get pod -n deepseek | awk ' NR>1 {print $1}' | grep prepare ) bash -n deepseek
# 安装huggingface工具 2. pip install huggingface
# 下载DeepSeek-V3模型 3. huggingface-cli download --resume-download deepseek-ai/DeepSeek-V3 --local-dir /model/deepseek-ai/DeepSeek-V3
复制代码


3.KubeRay 集群部署


本方案使用 KubeRay 做为分布式计算框架来实现多机多卡的分布式推理环境。



3.1 安装 KubeRay-Opertor


进入 kuberay-operator 目录,执行下面的命令,启动 operator。


helm install kuberay-operator -n deepseek  --version 1.2.2  .
复制代码


部署成功后,可以执行下面的命令操作已部署的资源。

# 查看相关资源1.helm list -n deepseek
# 删除相关资源2.helm uninstall kuberay-operator -n deepseek
复制代码


3.2 启动集群


完成 KubeRay-Opertor 安装后,执行 kubectl apply -f ray-cluster.yaml 命令,启动 KubeRay 集群。


集群启动成功后,执行 kubectl get pod -n deepseek 查看服务运行情况。


3.3 外部访问配置


在弹性容器集群中,无法直接使用 NodePort 方式暴露服务。对于需要外部访问的服务,我们可以使用 ServiceExporter。ServiceExporter 是弹性容器集群中用于将服务暴露到外部的组件,将其与需要对外提供服务的 Service 绑定,为用户提供外部访问的地址。


apiVersion: osm.datacanvas.com/v1alpha1kind: ServiceExportermetadata: name: ray-svc-chat-exporter namespace:r deepseekspec: serviceName: raycluster-kuberay-head-svc servicePort: 8000
复制代码


执行 kubectl apply -f ray-svcExporter-chat.yaml 命令,创建 ServiceExporter 资源。创建成功后,可以查看 ServiceExporter 的信息获取服务访问的地址。通过 ServiceExporter 方式暴露的服务端口均为 22443


kubectl describe serviceExporter ray-svc-chat-exporter  -n deepseek
复制代码


输出结果


信息省略···Spec:  Service Name:  raycluster-kuberay-head-svc  Service Port:  8000Status:  Conditions:    Last Transition Time:  2025-01-05T13:04:48Z    Message: IngressRoute successfully updated, url: https://raycluster-kuberay-head-svc-x-deepseek-x-vcw2y2htee7r.sproxy.hd-01.alayanew.com···
复制代码


提示:当使用 headless 类型的 svc 时,只能暴露该 svc 上的一个端口。


4.DeepSeek-R1 部署



4.1 部署模型


KubeRay 集群启动成功后,进入任意容器中,执行以下操作部署 DeepSeek-R1 模型。


  1. kubectl exec -it $( kubectl get pod -n deepseek | awk ' NR>1 {print $1}' | grep kuberay-head ) bash -n deepseek
2. vllm serve /model/deepseek-ai/DeepSeek-V3 \ --tensor-parallel-size 16 \        --gpu-memory-utilization 0.95 \        --num-scheduler-steps 20 \        --max-model-len 8192 \        --trust-remote-code
复制代码


提示:模型加载预计耗时 40~50 分钟,建议在 tmux 中执行模型部署命令。


4.2 访问模型


from openai import OpenAI
openai_api_key = "EMPTY"openai_api_base = "https://raycluster-kuberay-head-svc-x-deepseek-x-vcw2y2htee7r.sproxy.hd-01.alayanew.com:22443/v1"
client = OpenAI( api_key=openai_api_key, base_url=openai_api_base,)
chat_response = client.chat.completions.create( model="deepseek-ai/DeepSeek-V3", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Tell me a joke."}, ], stream=True )
复制代码


Sure! Here’s a joke for you:

**Why did the scarecrow win the award?**  
Because he was *outstanding* in his field!
Hope that brought a smile to your face!
复制代码


5.总结


至此,我们完成了使用 KubeRay 和 vLLM 部署 DeepSeek-R1 模型的全部流程。本文为 DeepSeek-R1 私有化部署提供了从环境搭建到推理访问的完整技术路径。通过分布式推理模式,大尺寸模型的性能潜力得以充分释放,推动了 AI 应用的规模化落地。

用户头像

还未添加个人签名 2022-06-02 加入

北京九章云极科技有限公司成立于2013年,以“创造智能,探索未知”为使命,以“助力全球企业智能升级”为愿景,致力于推动国际领先人工智能技术在智算产业的创新应用,是中国人工智能基础设施领军企业。

评论

发布
暂无评论
671B DeepSeek-R1:不蒸馏满血版部署,实现最高智能与个性知识融合_deeoseek_九章云极DataCanvas_InfoQ写作社区