텐서플로우 GPU 추천 최소 사양


텐서플로우 GPU 추천 최소 사양
이번 글에서는 텐서플로우를 실행하기 위한 하드웨어 사양에 대해서 설명드리도록 하겠습니다.
텐서플로우는 크게 2가지 유형의 버전으로 제공됩니다.

CPU만을 지원하는 버전
만약 NVIDIA의 GPU를 사용하고 있지 않을 경우 반드시 CPU만 지원하는 버전으로 설치하셔야 합니다.
GPU를 지원하는 텐서플로우 보다 설치하기 쉽다는 장점이 있어, 처음 텐서플로우를 설치하는 경우 CPU만 지원되는 버전을 추천합니다.

GPU를 함께 지원하는 버전
NVIDIA GPU를 지원하는 버전의 경우 CPU에서 실행되는 버전보다 월등히 빠른 성능을 나타냅니다.
따라서, 텐서플로우를 실행하기 위한 사양의 NVIDIA GPU를 갖고 계신 경우 GPU를 지원하는 버전으로 설치하서야 보다 빠르게 처리 할 수 있습니다. CPU 만 지원하는 텐서플로우 버전보다 성능차이가 크기 때문에 궁극적으로는 GPU를 지원하는 버전으로 사용하셔야 합니다.

위의 2가지 버전 중에서 이번 글에서는 GPU를 함께 지원하는 버전을 설치 하기 위한 NVIDIA GPU 모델에 대해서 알아보도록 하겠습니다. 현재 텐서플로우의 최신 안정화 버전은 1.13.1입니다. 현재 버전에서 GPU를 지원하는 텐서플로우를 설치하기 위해서는 아래의 하드웨어와 소프트웨어 조건이 만족되어야 합니다.

하드웨어

최신 버전의 텐서플로우를 사용하기 위해서는, NVIDIA GPU 에서 지원되는 Compute capability(Version, 계산 능력)이 3.5 이상이 되어야 합니다. Compute capability란 GPU 에서 지원되는 연산 특징 버전으로서, NVIDIA GPU에서 지원되는 Compute capability는 아래의 페이지에서 확인 하실 수 있습니다.

https://developer.nvidia.com/cuda-gpus

소프트웨어

현재 최신 NVIDIA 드라이버 버전인 410.x 이상을 지원하는 NVIDIA GPU이어야 합니다. 갖고 계신 NVIDIA GPU의 드라이버가 410.x 이상을 지원하는지 확인하기 위해서는 아래 사이트에서 방문 하신뒤에 조회하시면 됩니다.

http://www.nvidia.com/Download/Find.aspx?lang=en-us

그리고 CUDA SDK의 버전이 10.0 먼저 시스템에 설치되어야 있어야 합니다. 참고로 아래의 내용은 CUDA 버전에 따라서 지원하는 Compute capability 와 아키텍쳐를 나타냅니다.

CUDA SDK 6.5 support for compute capability 1.0 – 5.x (Tesla, Fermi, Kepler, Maxwell)
CUDA SDK 7.5 support for compute capability 2.0 – 5.x (Fermi, Kepler, Maxwell)
CUDA SDK 8.0 support for compute capability 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal)
CUDA SDK 9.0/9.1 support for compute capability 3.0 – 7.2 (Kepler, Maxwell, Pascal, Volta)
CUDA SDK 10.0-10.1 support for compute capability 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing)

추가로 cuDNN(CUDA Deep Neural Network)라는 라이브러리 버전 7.4.1 이상 버전이 필요합니다.

NGC(Nvidia GPU Cloud) 지원 GPU

텐서플로우를 사용하는데 필수 사양은 아니지만, Nvidia 에서 제공하는 NGC(Nvidia GPU Cloud) 라는 플랫폼이 있습니다. NGC에서는 AI, 머신 러닝 및 고성능 컴퓨팅용 컨테이너를 제공하고 있으며, 모델과 시각화(Visualization) 등의 소프트웨어 등을 제공하고 있습니다.

이곳 에서 제공되는 컨테이너 등을 사용하기 위해서는 Pascal 아키텍쳐 이상이 되어야 사용가능합니다. Pascal 아키텍쳐와 이후 모델들은 다음과 같고, NGC와 관련해서는 아래의 글을 함께 참고해 주시기 바랍니다.

Nvidia GPU Cloud 사용법

텐서플로우 GPU 추천 최소 사양

결론

최신 버전의 텐서플로우를 실행시키기 위한 사양들에 대해서 설명드렸습니다. 자금의 여유가 있으시면 비싸고 좋은 성능의 GPU를 사용하실 수도 있지만, 이번 글의 목적에 따라 위의 조건을 만족하는 최소 사양의 하드웨어를 소개해 드립니다.

따라서 Tesla 모델은 서버에서 사용되고 가격이 상대적으로 비싼편이기 때문에, 실제 텐서플로우에서 개발된 모델을 학습하고, 테스트하기 위해서는 GeForece GTX 시리즈를 권장해 드립니다. GeForce GTX 750, GeForce GTX 750 Ti 그리고 GeForce GTX 780이상의 모델들입니다.

최종적으로는 텐스플로우의 GPU 가속의 기능을 이용하기 위해서 최소 하드웨어 사양으로는 GeForece 750 Ti를 추천해 드립니다. GeForece 750모델 보다 메모리 용량이 커서 조금더 큰 모델을 학습하고 테스트 하실 수 있을 것입니다. 참고로 750Ti는 Maxwell 아키텍쳐이기 때문에 NGC 지원은 되지 않습니다.

GPU를 지원하는 텐서플로우를 설치하는 방법과 텐서플로우의 성능을 측정하는 방법은 다음 글을 참고하실 수 있습니다.

GPU 지원 텐서플로우 설치 방법

텐서플로우 성능 측정 방법

업그레이드

기존에는 GeForece 750 Ti 모델로 공부하면서, 실제 모델을 학습 하고 평가할때는 클라우드에서 GPU가 지원되는 인스턴스를 사용하였습니다. 가장 많이 사용되는 인스턴스의 GPU는 AWS 와 구글 클라우드 등에서 제공되는 NVIDIA Tesla K80 모델입니다.

아래의 페이지에서 신청서를 작성하시면, AWS와 구글 클라우드 보다 저렴하게 GPU서버를 사용하실 수 있습니다.

저렴한 GPU 서버 호스팅

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)