WSL에서 ML GPU 가속을 사용하는 시작

기계 학습(ML)은 많은 개발 워크플로의 핵심 부분이 되고 있습니다. 데이터 과학자, ML 엔지니어 또는 ML Linux용 Windows 하위 시스템(WSL)를 사용하여 학습 여정을 시작하는 경우 가장 일반적이고 인기 있는 GPU 가속 ML 도구를 실행할 수 있는 좋은 환경을 제공합니다.

이러한 도구를 설정하는 방법에는 여러 가지가 있습니다. 예를 들어 WSL, TensorFlow-DirectMLPyTorch-DirectMLNVIDIA CUDA는 모두 WSL에서 ML 위해 GPU를 사용할 수 있는 다양한 방법을 제공합니다. 하나와 다른 것을 선택하는 이유에 대해 자세히 알아보려면 GPU 가속 ML 학습을 참조하세요.

이 가이드에서는 다음을 설정하는 방법을 보여줍니다.

  • NVIDIA 그래픽 카드가 있고 샘플 ML 프레임워크 컨테이너를 실행하는 경우 NVIDIA CUDA
  • AMD, Intel 또는 NVIDIA 그래픽 카드의 TensorFlow-DirectML 및 PyTorch-DirectML

사전 요구 사항

Docker를 사용하여 NVIDIA CUDA 설정

  1. NVIDIA GPU용 최신 드라이버 다운로드 및 설치

  2. 다음 명령을 실행하여 Docker Desktop 을 설치하거나 WSL에서 직접 Docker 엔진을 설치합니다.

    curl https://get.docker.com | sh
    
  3. Docker 엔진을 직접 설치한 경우 아래 단계에 따라 NVIDIA 컨테이너 Toolkit 설치합니다.

    다음 명령을 실행하여 NVIDIA 컨테이너 Toolkit 안정적인 리포지토리를 설정합니다.

    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    

    다음 명령을 실행하여 NVIDIA 런타임 패키지 및 종속성을 설치합니다.

    sudo apt-get update
    
    sudo apt-get install -y nvidia-docker2
    
  4. 기계 학습 프레임워크 컨테이너 및 샘플을 실행합니다.

    기계 학습 프레임워크 컨테이너를 실행하고 이 NVIDIA NGC TensorFlow 컨테이너에서 GPU 사용을 시작하려면 다음 명령을 입력합니다.

    docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3
    

    TensorFlow with CUDA running inside a Docker container

    다음 명령을 실행하여 이 컨테이너에 기본 제공되는 미리 학습된 모델 샘플을 실행할 수 있습니다.

    cd nvidia-examples/cnn/
    
    python resnet.py --batch_size=64
    

    TensorFlow sample model training within Docker container

NVIDIA CUDA를 설치하고 활용하는 추가 방법은 WSL 사용자 가이드의 NVIDIA CUDA에서 찾을 수 있습니다.

TensorFlow-DirectML 또는 PyTorch-DirectML 설정

  1. GPU 공급업체 웹 사이트 AMD, Intel 또는 NVIDIA에서 최신 드라이버를 다운로드하여 설치합니다.

  2. Python 환경을 설정합니다.

    가상 Python 환경을 설정하는 것이 좋습니다. 가상 Python 환경을 설정하는 데 사용할 수 있는 많은 도구가 있습니다. 이러한 지침에서는 Anaconda의 Miniconda를 사용합니다.

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    
    bash Miniconda3-latest-Linux-x86_64.sh
    
    conda create --name directml python=3.7 -y
    
    conda activate directml
    
  3. 원하는 DirectML에서 지원되는 기계 학습 프레임워크를 설치합니다.

    TensorFlow-DirectML:

    pip install tensorflow-directml
    

    PyTorch-DirectML:

    sudo apt install libblas3 libomp5 liblapack3
    
    pip install pytorch-directml
    
  4. TensorFlow-DirectML 또는 PyTorch-DirectML에 대한 대화형 Python 세션에서 빠른 추가 샘플을 실행하여 모든 것이 작동하는지 확인합니다.

질문이 있거나 문제가 발생하는 경우 GitHub DirectML 리포지토리를 방문하세요.

추가 리소스