환경 구성

Elastic Horovod를 위한 분산학습은 아래와 같은 조건들을 요구합니다.

NGC 컨테이너 실행

NVIDIA GPU Cloud (NGC) 에서는 분산학습을 위한 환경을 도커 컨테이너로 구성하여 배포하고 있습니다. 로컬에서 환경을 구성해야 하는 상황이 아니라면, 도커 컨테이너를 이용하는 것이 편리합니다.

TensorFlow | NVIDIA NGC

docker pull nvcr.io/nvidia/tensorflow:<version>-<tf1/tf2>-py3 명령을 통해 Horovod ≥ 0.20.0 가 설치되어 있는 20.10 버전 이상의 컨테이너를 pull 합니다. keras에서의 elastic run에 대한 수정이 이루어진 Horovod ≥ 0.20.1 이 설치되어 있는 20.11 버전 이상의 컨테이너를 pull 합니다.

docker run --gpus <num_gpus> --network=host -it nvcr.io/nvidia/tensorflow:<version>-<tf1/tf2>-py3 bash 명령을 통해 컨테이너의 bash를 실행합니다.

<aside> 💡 도커 컨테이너 내부에서 GPU를 사용하기 위해서는 NVIDIA Container Toolkit이 설치되어 있어야 합니다. 설치되어 있지 않다면, 아래 링크를 참고하여 설치해 주십시오.

</aside>

https://github.com/NVIDIA/nvidia-docker

컨테이너 내의 중요한 경로들은 아래와 같습니다.