当前位置: 首页 > 工具软件 > DeepSpeed > 使用案例 >

DeepSpeed在docker容器内实现多机多卡

鲜于宏义
2023-12-01

多台docker宿主机网络配置

https://docs.docker.com/network/overlay/
这里需要创建overlay网络是多台宿主机的容器可以通过网络连接

创建集群

docker swarm init

另一台机器加入集群

docker swarm join --token SWMTKN-1-1nnq6klpq7z93lqmshd4rqvk44x1qyyen4wacuei1t46wnvm3r-80qzsy8qfdke7hgex7n5x2c37 172.17.0.5:2377

在集群里创建一个my-attachable-overlay的虚拟网络

docker network create -d overlay --attachable my-attachable-overlay

启动容器时使用创建的网络

docker run -it --gpus=all --ipc=host --net=my-attachable-overlay --name ydq_chatglm_env -v /data3:/data3 chatglm:v0.3 /bin/bash

以该网络创建的容器间可以直接通讯
两边容器都启动后

#分别查看机器分配到的IP
ifcofig

deepspeed的配置

按照官网设置

#需要注意NCCL的配置,这里需要根据机器的情况指定NCCL的通讯网卡
NCCL_SOCKET_IFNAME=eth0
 类似资料: