一、(因为敏感词问题,有很多删除修改)
两种部署模式对比

工具名称
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
“
VERSION_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
VERSION_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 部署
内网ip>
• 下载 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)
执行以上脚本输出如下所示即部署成功

五、 性能测试操作指引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 压测吞吐数据


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