前提已安装4.4.0驱动 (两个节点)
如未安装SDK,请参考如下指南:
https://ixkb.iluvatar.com.cn:9443/webdoc/view/Pub8a16948a9a4cb023019cad9168850f71.html 进行安装
模型下载 (可以从节点一拷贝到节点二)
pip install modelscope
cd /data/model
modelscope download --model deepseek-ai/DeepSeek-R1-0528 --local_dir ./DeepSeek-R1
镜像和转换脚本下载 (两个节点)
密码咨询天数售后工程师
sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn
get /SDK_4.4.0/x86/sdk/corex-docker-installer-4.4.0-10.2-ubuntu20.04-llm-py3.10-x86_64.run /home
get /client_tmp/support/quant/ds-fp82int8-tool.zip /data/model
镜像安装(两个节点)
bash /home/corex-docker-installer-4.4.0-10.2-ubuntu20.04-llm-py3.10-x86_64.run --silent
创建容器 (两个节点)
docker run -dit -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/home -v /data:/data --network=host --name=deepseek --pid=host --ipc=host --privileged --cap-add=ALL corex:4.4.0 /bin/bash
转换模型(fp8转换成int8后,可以从节点一拷贝到节点二)
docker exec -it deepseek bash
cd /data/model
unzip ds-fp82int8-tool.zip
cd ds-fp82int8-tool
bash run_quant-fp82int8.sh /data/model/DeepSeek_R1/ /data/model/Deepseek_R1-int8/
部署模型
1、在主节点进入容器
docker exec -it deepseek bash
####非IB模式 (eth0为两机连接网口名称)####
vi /root/.bashrc
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=1
export GLOO_SOCKET_IFNAME=eth0
export NCCL_SOCKET_IFNAME=eth0
export VLLM_FORCE_NCCL_COMM=1
使环境变量生效
source /root/.bashrc
####IB模式(mlx5_ibs1为两机连接IB网口名称)####
vi /root/.bashrc
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=0
export GLOO_SOCKET_IFNAME=mlx5_ibs1
export NCCL_SOCKET_IFNAME=mlx5_ibs1
export VLLM_FORCE_NCCL_COMM=1
使环境变量生效
source /root/.bashrc
在容器下执行以下步骤
ray stop --force
ray start --block --head --port=6379 --num-gpus=16
=======================
2、在副节点进入容器
docker exec -it deepseek bash
####非IB模式 (MASTER_ADDR为主节点eth0地址)####
vi /root/.bashrc
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=1
export GLOO_SOCKET_IFNAME=eth0
export NCCL_SOCKET_IFNAME=eth0
export VLLM_FORCE_NCCL_COMM=1
export MASTER_ADDR="27.1.1.1"
使环境变量生效
source /root/.bashrc
####IB模式 (MASTER_ADDR为IB网地址)####
vi /root/.bashrc
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=0
export GLOO_SOCKET_IFNAME=mlx5_ibs1
export NCCL_SOCKET_IFNAME=mlx5_ibs1
export VLLM_FORCE_NCCL_COMM=1
export MASTER_ADDR="192.1.1.1"
使环境变量生效
source /root/.bashrc
在容器下执行以下步骤
ray stop --force
ray start --block --address=$MASTER_ADDR:6379 --num-gpus=16
===========================
3、主节点另起一个终端,进入容器
docker exec -it test bash
在容器下执行以下步骤
vllm serve /data/model/
Deepseek_R1-int8/ --tensor-parallel-size 32 --trust-remote-code --max-model-len 10240 --gpu-memory-utilization 0.92 --port 8000 --distributed-executor-backend ray
主节点的server启动成功后,会有类似如下的log,默认端口是8000
```
INFO: Started server process [122293]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
```
测试DeepSeek推理
在主节点的终端输入如下命令进行测试:
```
curl 127.0.0.1:8000/v1/completions -H "Content-Type: application/json" -d '{"model":"/data/model/
Deepseek_R1-int8/",
"prompt":"简单介绍一下deepseek?",
"temperature":0.0,
"max_tokens":128}'
```