PyTorch로 MNIST할 때의 GPU 메모리(+α)를 측정해 보았다

딥 러닝용으로 그래픽 카드의 구입을 검토하고 있어, 어느 정도의 GPU 메모리가 있으면 좋을지 알고 싶어, 본 기사를 작성했습니다.

전제


  • 환경
  • GCP
  • GPU(NVIDIA Tesla T4)를 1장 붙인 인스턴스(4vCPU, 메모리 8GB)
  • Ubuntu 18.04.4, PyTorch 1.5.0

  • 사용한 프로그램
  • PyTorch 샘플 코드 ( GitHub )


  • 측정방법


  • 배치 사이즈를 4, 16, 64, 256, 1,024, 4,096으로 바꾸면서 MNIST의 처리를 실행. 에포크 수는 20.
  • 난수의 시드를 3 패턴 준비해, 평균치를 집계.
  • 실행 중에는 nvidia-smi 명령을 사용하여 GPU 메모리 사용량을 측정합니다.

  • 결과



    GPU 메모리 사용량과 처리 시간




    배치 크기
    GPU 메모리 사용량(MB)
    처리 시간(초)


    4
    1,752
    1,185

    16
    1,750
    387

    64
    1,880
    246

    256
    2,270
    211

    1,024
    3,278
    204

    4,096
    10,490
    204


    테스트 데이터에서의 loss와 accuracy





    상기 그래프라면 배치 사이즈=4,096의 영향이 너무 강해서, 그 이외의 차이가 알기 어려우므로,,,

    테스트 데이터에서의 loss와 accuracy(배치 사이즈=4,096 제외)





    요약



    MNIST를 할 뿐이라면, GPU 메모리 4GB의 그래픽 카드로 부족할 것 같지만, MNIST만 해 만족하는 것은 없기 때문에, 다른 데이터에서도 측정을 해 볼 예정입니다.

    좋은 웹페이지 즐겨찾기