写点什么

一文教你如何本地部署玩转 DeepSeek-V3,免费体验 100 度算力包跑通!

  • 2025-01-16
    北京
  • 本文字数:3225 字

    阅读完需:约 11 分钟

一文教你如何本地部署玩转DeepSeek-V3,免费体验100度算力包跑通!

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。因此,在部署前,请确保开通的弹性容器集群的资源满足下表中的配置要求。



2.3 开通弹性容器集群


  • 登录 AlayaNeW 系统


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



  • 填写基本信息


​1.进入到弹性容器集群的开通界面



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



  • 查看开通信息


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


【停止】:暂时停止弹性容器集群的运行,运行停止之后,资源不会释放

【启动】:启动停止了弹性容器集群

【详情】:可以查看弹性容器集群的相关信息

【释放】:释放弹性容器集群,释放之后资源会释放,弹性容器集群内配置都将消失掉

【kubeconfig 下载】:下载 k8s 的认证配置文件


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



提示:

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


2.4 配置文件准备


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



2.5 模型准备


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


  • 数据持久化


更改 deepseek-pvc.yaml 文件中的 vcluster 字段,使其与实际的弹性容器集群名称一致。


    kind: PersistentVolumeClaim    apiVersion: v1    metadata:    name: deepseek-pvc    namespace: deepseek    spec:    accessModes:        - ReadWriteMany    selector:        matchLabels:        vcluster: <实际的弹性容器集群名称>    resources:        requests:        storage: 1000Gi    volumeMode: Filesystem
复制代码


完成配置更改后,执行下面的命令,创建 PVC 用于持久化保存模型文件。

  # 创建namespace  1. kubectl create namespace deepseek
# 创建PVC 2. kubectl apply -f deepseek-pvc.yaml
复制代码


  • 创建 Secret


完成配置更改后,执行 kubectl apply -f deepseek-secret.yaml 命令,创建 Secret 资源。


  • 下载模型


执行 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/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-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 应用的规模化落地。

发布于: 刚刚阅读数: 2
用户头像

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

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

评论

发布
暂无评论
一文教你如何本地部署玩转DeepSeek-V3,免费体验100度算力包跑通!_开发_九章云极DataCanvas_InfoQ写作社区