H20 双节点 DeepSeek 满血版部署教程

H20 双节点 DeepSeek 满血版部署教程

一、(因为敏感词问题,有很多删除修改)

两种部署模式对比

H20 双节点 DeepSeek 满血版部署教程_docker

工具名称

SGLang

VLLM

基于以上对比信息,建议使用 SGLang 来搭建 DeepSeek R1 671B 大模型。

二、 环境准备

2.1 硬件配置

CPU:Intel 8480+ * 2

内存:64GB DDR5-4800 * 32

系统盘:960G SATA SSD * 2

数据盘:3.84T NV敏感ME SSD * 8

Raid 卡:2G 缓存,12Gb,配置超级电容,支持 RAID 0/1/5/6/10/50,支持直通 JBOD 模式*1

GPU:GPU_Nvidia H20 HGX * 8

网卡 1:400G 单口 NDR Infiniband * 4

网卡 2:200G 双口 HDR Infiniband * 1

网卡 3:双口 25G 网卡 * 1(配光模块)

2.2 系统检查与配置

  • 操作系统:Ubuntu 22.04(NVIDIA 官方推荐)
  • 驱动与 CUDA:安装 NVIDIA 驱动 550.90.07 + CUDA 12.5(H20 官方支持版本)
  • 依赖库安装:

sudo apt install -y python3.10 python3-pip build-essential cmake2.3 Docker 安装

  • 安装必要的一些系统工具

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

  • 信任 Docker 的 GPG 公钥
  • 写入软件源信息

echo

“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg]

https://mirrors.aliyun.com/docker-ce/linux/ubuntu

H20 双节点 DeepSeek 满血版部署教程_docker_02VERSION_CODENAME”)” stable” |

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • 安装 Docker

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  • Docker-CE:

sudo apt-get -y install docker-ce

1.4 nvidia docker runtime 安装

  • 获取 Key

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add –

  • 获取版本,添加源

curl -s -L https://nvidia.github.io/nvidia-container-runtime/$(. /etc/os-release;echo

H20 双节点 DeepSeek 满血版部署教程_服务器_03VERSION_ID)/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container runtime.list

  • 更新

apt-get update

  • 安装

apt install nvidia-container-runtime -y- 增加配置

sudo nvidia-ctk runtime configure –runtime=docker

  • 重启 Docker

sudo systemctl restart docker

三、 模型获取与验证

3.1 下载权重文件

git lfs install

git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1.git

备注:

a. 权重文件较大,整体约 1.3T,网络下载耗时较长,如需要快速拷贝,请联系运维同学,

内网拷贝(约 1~2 小时)

b. 存储磁盘需挂载 NV敏感ME磁盘,挂载方式请参考以下

(1)使用 fdisk-命令列出磁盘列表

fdisk -l

执行命令之后显示界面如下: (2)如果 NV敏感ME 盘没有格式化过需要先格式化,使用 mkfs.ext4 命令格式化需要挂载的磁盘【注意该操作会删

除该盘的所有数据确认清楚再格式化。需要将服务器上的 8 块 NV敏感ME执行下重复步骤】

mkfs.ext4 /dev/nwme0n1 这里表示初始化 NV敏感ME磁盘

(3)执行完成后执行挂载操作

mkdir -p /data0 创建挂载点

mount /dev/NV敏感ME/data8 将磁盘挂载到/data0 目录

(4)检查挂载结果df-h #可以看到挂载的磁盘

(5)UUID 查看

blkid /dev/NV敏感ME

/dev/NV敏感ME/by-uuid/aebb79cd-de11-46cb-95fe-2d8cbc9a198b /nvme0n1 ext4 defaults 0 1

/dev/NV敏感ME:UuID=”6df5e413-f038-4e7a-bba2-4dbcfd3d1412″ BLOCK SIZE=”4096″ TYPE=”ext4″

3.2 权重复制到各个 node

scp -r DeepSeek-R1 user@
<内网ip>
:/NV敏感ME # 隐藏真实IP 四、 sglang 部署

• 下载 sglang 镜 像: docker pull /appdeliver-1 ml/sglang:0.4.2

或者以下命令

docker pull registry.cn-hangzhou.aliyuncs.com/21/sglang:latest

sudo docker run -it –gpus all –shm-size 32g –network host –privileged —

entrypoint /bin/bash –env NCCL_SOCKET_IFNAME=bond0 –env

GLOO_SOCKET_IFNAME=bond0 -v ${PWD}/NV敏感ME:/root/.cache/huggingface cpcontroller docker pull
<内部镜 像仓库="">
/sglang:0.4.2 # 避免暴露私有仓库地址 备注:

a. 以上脚本需在所有节点上执行

b. 注意挂载权重文件目录挂载

c. 也可以增加—-privileged 等参数,或修改以-d 的模式启动,自行调整。

d. 或者将推理框架启动命令写成 shell,放到挂载目录,自行调整。

e. 如果网络支持 IB/Roce, 也可以增加 NCCL 环境变量参数,如-e

NCCL_IB_HCA=mlx5_0,mlx5_3,mlx5_4,mlx5_7 等,挂载设备如 -v /dev/infiniband:/dev/infiniband

4.3 启动推理框架

在主节点镜 像内执行:

python3 -m sglang.launch_server –model-path

/root/.cache/huggingface/DeepSeek-R1 –tp 16 –dist-init-addr

服务器 IP 地址:5000 –nnodes 2 –node-rank 0 –trust-remote-code –port 30000

–host 0.0.0.0

在从节点镜像内执行:

python3 -m sglang.launch_server –model-path/root/.cache/huggingface/DeepSeek-R1 –tp 16 –dist-init-addr

服务器 IP 地址:5000 –nnodes 2 –node-rank 1 –trust-remote-code

备注:

a. 服务器 IP 地址为主节点镜像 ip。

b. 如果要让外网访问,需要映射 30000 端口。

4.4 部署验证

在主节点镜像内DeepSeek 教程写入以下测试脚本执行:

import (敏open感词ai) client = 敏ope感词nai.Client(

base_url=”http://127.0.0.1:30000/v1″, api_key=”EMPTY”)

Chat completion

response = client.chat.completions.create(

model=”default”,

messages=[

{“role”: “system”, “content”: “你是我部署的 deepseek r1 671B 大模

型人工智能助手”},

{“role”: “user”, “content”: “介绍一下你自己,说说你是谁,你能做什么?”},

],

temperature=0.6,

max_tokens=10240,

print(response)

执行以上脚本输出如下所示即部署成功

H20 双节点 DeepSeek 满血版部署教程_服务器_04

五、 性能测试操作指引5.1 登陆镜像

在主节点(master 节点)执行以下命令,查看下在运行的 Docker 镜像:

docker ps #查看当前运行的镜像

docker exec -it 30ff2cfc5132 /bin/bash #登陆 sglang 镜像

5.2 执行侧试脚本

在 sglang 镜像内执行测试脚本

python3 -m sglang.bench_serving –backend sglang –dataset-name random –numprompt

1024 –random-input 32 –random-output 512 –random-range-ratio 1 —

model /root/.cache/huggingface/DeepSeek-R1/ –host 服务器 IP 地址 –port 30000

备注:

a. 阅读使用说明,可以根据用户需求调整以上参数值

b. 执行过程中会下载测试数据集,尽量手动下载上传至 Docker 挂载目录。

c. 并发性吞吐测试大约在 3000~6300token/s(输入+输出)均为正常范围,主要看优化参数及测试参数。

d. 以下为两台 H20 压测吞吐数据

H20 双节点 DeepSeek 满血版部署教程_IP_05

H20 双节点 DeepSeek 满血版部署教程_服务器_06

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/237205.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 上午11:48
下一篇 2026年3月16日 上午11:49


相关推荐

关注全栈程序员社区公众号