头图

1、背景介绍

为什么DeepSeek-V3如此特别?

DeepSeek-V3就像是AI界的超级英雄,带着6710亿个参数的“智慧”降临人间。自从它开源以来,整个AI圈都为之沸腾了!它在众多测试中表现得异常出色,而且训练成本之低,简直让人拍手称快。

它将如何改变世界?
随着DeepSeek-V3的出现,我们正步入分布式推理的新纪元。这意味着你可以把这颗“超级大脑”部署到任何地方,无论是云端还是本地服务器。不过,这样的巨无霸模型也带来了私有化部署的挑战——毕竟,谁不想拥有自己的AI超级英雄呢?

如何轻松拥有你的专属DeepSeek-V3?

别担心,我们已经为你准备好了最佳实践指南!采用vLLM 和 KubeRay作为分布式推理方案,你只需三步,免费体验100度算力包就能完成DeepSeek-V3的私有化部署。不要错过这个机会,立即行动起来吧!
体验地址:https://docs.alayanew.com/docs/documents/newActivities/deepseekv3

主要内容:

Step1 - 准备工作

1.账号开通
2.资源需求
3.开通弹性容器集群
4.配置文件准备
5.模型准备

Setp2 -KubeRay集群部署
1.安装KubeRay-Opertor
2.启动集群
3.安装访问配置

Setp3 -DeepSeek-V3部署
1.部署模型
2.访问模型

2、准备工作

本次部署会用到Kubernetes,请确保本地有可用的Kubernestes客户端工具kubectl,安装请参考文档。部署前需要先开通弹性容器集群,请跟随下面的步骤,完成前期准备工作。

图片

2.1账号开通

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

图片

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

图片

2.2资源需求

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

06_表格_01.png

2.3开通弹性容器集群

  • 登录AlayaNeW系统

登录AlayaNeW系统之后,点击【产品】选择弹性容器集群,点击立即开通
图片

填写基本信息

​1.进入到弹性容器集群的开通界面
图片
​ 2.用户需要填写【集群名称】【集群描述】 选择对应的智算中心,然后用户可以选择对应的GPU、存储(如果您没有开通过存储,可以在本界面统一开通),是否进行对外服务(开通对外服务之后用户在弹性容器集群中部署的服务可以对外提供服务)。 用户填写完毕之后,跳转到开通界面,等待开通

图片

查看开通信息

开通之后用户进入到弹性容器集群列表,用户在列表界面可以对容器集群进行相关的操作,如对集群 【停止】【释放】【启动】等

图片

【停止】:暂时停止弹性容器集群的运行,运行停止之后,资源不会释放
【启动】:启动停止了弹性容器集群
【详情】:可以查看弹性容器集群的相关信息
【释放】:释放弹性容器集群,释放之后资源会释放,弹性容器集群内配置都将消失掉【kubeconfig下载】:下载k8s的认证配置文件

用户在使用弹性容器集群过程中,对GPU、存储的需要改变时,可以在详情界面进行修改

图片

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

2.4配置文件

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

表格新.png

2.5模型准备

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

  • 创建Secret

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

# 创建namespace
1. kubectl create namespace deepseek

# 创建Secret
2. kubectl apply -f deepseek-secret.yaml
  • 下载模型

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

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

  # 进入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
提示:
模型文件大约642G,下载时间较长,请耐心等待

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方式暴露服务。对于需要外部访问的服务,我们可以使用ServiceExporterServiceExporter是弹性容器集群中用于将服务暴露到外部的组件,将其与需要对外提供服务的Service绑定,为用户提供外部访问的地址。


apiVersion: osm.datacanvas.com/v1alpha1
kind: ServiceExporter
metadata:
  name: ray-svc-chat-exporter
  namespace:deepseek
spec:
  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:  8000
Status:
  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-V3部署

图片

4.1部署模型

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

  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分钟,请耐心等待。

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 
)

5.总结

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


DataCanvas
15 声望10 粉丝

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