k8s部署满血版Deepseek-R1

一、硬件要求

1. 尝试用2台8卡L40,共16卡,单卡48G显存,无法启动

2. 本次部署由2台H20,共16卡,单卡显存96GB

二、 模型下载

可从魔搭下载,下载链接,也可以直接从huggingface上下载,建议直接通过魔搭下载,速度有保障。

三、 运行方式

官方推荐2种方式,本次使用sglang运行,部署到k8s集群

vLLM:

vllm serve deepseek-ai/DeepSeek-R1 --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager

SGLang:

python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-R1 --trust-remote-code --tp 2

四、部署过程

由于单机8卡无法直接运行满血版Deepseek-R1,使用sglang部署需要2个8卡的pod,只有master节点提供服务,基于服务可快速扩缩容等方面进行考虑,总结2种方式优缺点

1、depleyment方式,master,worker各一个,多实例的话就建多个depleyment,最后用个nginx实现负载

2、使用有状态的sts服务,建立无头svc,用于master和worker之间的通讯。master的服务通过nacos注册中心进行暴露

相对而言,方案2更可靠

3、镜像使用sglang官方镜像,参考链接

4、启动脚本改造

##master启动脚本
python3 -m sglang.launch_server --model-path /data/DeepSeek-R1 --tp 16 --dist-init-addr $POD_NAME.deepseek-r1.app.svc.cluster.local:19999 --nnodes 2 --node-rank 0 --trust-remote-code --host 0.0.0.0

##worker启动脚本
POD_NUM=$(echo $POD_NAME | cut -d '-' -f 3) && python3 -m sglang.launch_server --model-path /data/DeepSeek-R1 --tp 16 --dist-init-addr deepseek-r1-$POD_NUM.deepseek-r1.app.svc.cluster.local:19999 --nnodes 2 --node-rank 1 --trust-remote-code --host 0.0.0.0

五、脚本注解

1、通过k8s自带的环境变量引入POD_NAME变量,用户获取pod的名称,使用svc完整地址作为master的通讯地址,这里之所以使用变量,是因为方便扩缩容,有状态的服务,podname都是有顺序的。

2、worker节点的cut是为了去pod的序号进行master podname拼接。

六、避坑指南

1、不能开启就绪检测,否则worker和master之间通讯会异常,导致服务无法正常启动

2、需要先启动master,然后再启动worker

3、模型加载大概需要5分钟,更新服务的时候不修改rollingupdate的滚动时间的话很容易引起服务中断

### 搭建本地服务器使用最新 KTransformer 部署 DeepSeek-R1 模型所需硬件及软件配置 #### 硬件需求 为了高效运行和部署最新的 KTransformer 和满血 DeepSeek-R1 模型,建议的最低硬件规格如下: - **CPU**: 至少拥有8核以上的高性能处理器,推荐Intel Xeon 或 AMD EPYC系列。 - **GPU**: NVIDIA A100, V100 或 RTX 3090/4090 显,具备至少24GB显存。对于更大规模的数据集处理或更复杂的模型推理,多张 GPU 协同工作会更加理想[^1]。 - **内存 (RAM)**: 不低于64 GB DDR4 RAM,以便支持大规模数据加载与缓存操作。 - **存储空间**: SSD固态硬盘作为主要存储介质,容量应不少于1TB NVMe M.2 SSD,用于快速读取训练数据以及保存中间文件。 #### 软件环境准备 在完成上述物理资源筹备之后,还需安装必要的操作系统及相关依赖库来构建完整的开发平台: - **操作系统**: Linux 发行(如Ubuntu Server LTS),因其稳定性和广泛的社区支持而成为首选。 - **Python 本管理工具**: Anaconda 或 Miniconda 可帮助创建独立的工作区,并简化包管理和虚拟环境隔离的任务。 - **CUDA & cuDNN 库**: 根据所选NVIDIA GPU型号下载对应本的 CUDA Toolkit 和 cuDNN SDK,确保能够充分利用图形加速能力提升计算效率[^2]. - **PyTorch/TensorFlow框架**: 安装适合当前系统的 PyTorch 或 TensorFlow 本,这是实现神经网络算法的核心组件之一。 - **Kubernetes集群(K8s)**: 如果计划采用分布式架构,则需要设置好 Kubernetes 集群以协调多个节点间的任务调度和服务编排;同时考虑引入 Helm 工具辅助应用部署流程自动化。 - **Docker容器化技术**: 利用 Docker 构建标准化的应用镜像,方便移植至不同环境中执行相同的操作逻辑而不受底层差异影响。 ```bash # 更新系统并安装基础依赖项 sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git curl wget vim htop unzip zip libsm6 libxext6 libxrender-dev python3-pip -y # 安装Miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -bfp ~/miniconda3 source ~/.bashrc # 创建新的Conda环境并激活它 ~/miniconda3/bin/conda create --name deepseek_env python=3.9 -y conda activate deepseek_env # 安装PyTorch或其他ML框架及其相关扩展模块 pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 # 获取官方提供的预训练权重和其他必要资产 git clone https://github.com/deepseek-ai/models.git cd models/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值