部署設備:2×8×A100 80G,兩臺機器,每臺機器8張A100。
模型:deepseek-671B-int8
模型下載地址:https://huggingface.co/meituan/DeepSeek-R1-Block-INT8
模型參考:
1、SGLang Docker部署
github地址:sgl-project/sglang:SGLang 是一個用于大型語言模型和視覺語言模型的快速服務框架。
下載 SGLang的docker鏡像包,地址:lmsysorg/sglang Tags | Docker Hub,我用的0.4.7這個版本。
docker pull lmsysorg/sglang:v0.4.7-cu124
如果是內網機器,可以將docker鏡像打包成.tar文件,傳入服務器進行加載即可。
sudo docker load -i sglang_v0.4.7-cu124.tar
2、運行docker鏡像
網口號查詢,我的設置為ens...p0,大概是這樣的。
IP -4 aexport | grep -i socket
在master機器上運行(請將模型放在兩臺機器的同一位置)
# master
docker run --gpus all \-d \-e GLOO_SOCKET_IFNAME=網口號-e TP_SOCKET_IFNAME=網口號-e NCCL_SOCKET_IFNAME=網口號--shm-size 32g \--network=host \-p 30000:30000 \-v 本地模型地址:/root/.cache/huggingface/deepseek \--name sglang-1 \--it--ipc=host \lmsysorg/sglang:v0.4.7-cu124 \
在cluster機器上運行
#cluster
docker run --gpus all \-d \-e GLOO_SOCKET_IFNAME=網口號-e TP_SOCKET_IFNAME=網口號-e NCCL_SOCKET_IFNAME=網口號--shm-size 32g \--network=host \-p 30000:30000 \-v 本地模型地址:/root/.cache/huggingface/deepseek \--name sglang-2 \--it--ipc=host \lmsysorg/sglang:v0.4.7-cu124 \
3、運行sglang服務
查看docker容器
sudo docker ps -a
在master機器上運行
sudo docker exec -it sglang-1 bash
在cluster機器上運行
sudo docker exec -it sglang-2 bash
在master機器上的docker中運行,記得替換master的IP,如果端口被占用就換個端口:
#master
python3 -m sglang.launch_server \--model /root/.cache/huggingface/deepseek --tp 16 --dist-init-addr \MASTER_IP:5000 --nnodes 2 --node-rank 0 --trust-remote-code --enable-torch-compile --torch-compile-max-bs 8
在cluster機器上的docker中運行,記得替換master的IP,如果端口被占用就換個端口:
#cluster
python3 -m sglang.launch_server \--model /root/.cache/huggingface/deepseek --tp 16 --dist-init-addr \MASTER_IP:5000 --nnodes 2 --node-rank 1 --trust-remote-code --enable-torch-compile --torch-compile-max-bs 8
這樣就可以正常運行起來了,一定要注意參數是否正確。
docker額外操作
暫停所有運行的docker
sudo docker stop $(sudo docker ps -q)
刪除docker容器
sudo docker rm -f 容器ID