GCP 에서 GPU 사용하기 (T4, K80, P4, V100) & 성능 테스트를 통한 머신러닝 모델 훈련에 적합한 가성비 최고의 사양 소개

머신러닝 모델 훈련에 가장 적합한 사양을 찾고자 여러 GPU를 테스트하게 되었고, 조금이라도 도움되시라고 그 결과를 공유합니다. 그리고 GCP에서 GPU를 사용하는 방법도 알아보겠습니다. 

  • VM 인스턴스를 만들 때 Add GPU 라는 부분이 있습니다. 
GCP에서 GPU 사용하기

  • 회색으로 되어 있으면 위의 Machine Configuration에서 Series를 바꿔야 합니다. N1을 선택하자마자 Add GPU 버튼이 활성화 되는 것을 보실 수 있습니다.
GCP에서 GPU 사용하기

  • 사용할 수 있는 GPU 카드 4종류가 보입니다. 
GCP의 GPU 종류


  • Region을 서울로 바꾸면 서울 리전에는 지원하지 않는다고 메세지가 나옵니다. 원하시는 GPU를 가지고 있는 리전(region)과 존(zone)을 찾아야 합니다.
GCP에서 GPU 사용하기

  • 현재 서울 리전 b 존에는 T4만 사용가능한 것을 알 수 있습니다.
GCP에서 GPU 사용하기

  • GPU 4 종류의 한 달 사용 요금을 알아보겠습니다.
T4 요금 (GCP)
T4 요금



K80 요금 (GCP)
K80 요금


P4 요금 (GCP)
P4 요금



V100 요금 (GCP)
V100 요금



* 가격은 T4 < K80 < P4 < V100 (성능도?) 

  • 코어 수를 32로 늘리려고 하면 에러가 뜹니다. T4 1개는 24 CPU 코어 이상은 못 쓴다고 나옵니다.  그 이상 쓰려면 T4 갯수를 2개로 해주어야합니다. 나머지 GPU들도 CPU 코어 한계 수가 정해져 있습니다. (GPU와 CPU의 코어수에 상관관계가 있음. GCP가 시키는대로 하면됨)
GCP에서 GPU 사용하기

  • GPU 수를 2개로 늘려주면 에러메세지가 사라집니다. 
GCP에서 GPU 2개 사용하기

*** GPU 2개를 달아도 테스트해보시면 하나는 놀고 있는 경우가 있습니다. 2개를 쓰도록 해주어야합니다. TensorFlow API를 사용해서 2개의 GPU에 분산 훈련을 하도록 해야합니다.

  • 제가 T4, K80, P4, V100으로 성능테스트를 해보았고 결론만 말씀드리겠습니다. 제가 테스트한 게 절대적 진리가 아님을 미리 말씀드립니다!  그리고 제가 계속 배우면서 잘못된 정보를 드린 경우 바로 바로 수정하겠습니다. 까먹으면 나도 몰랑
1.  GPU가 비싸다고 속도가 더 빠르지는 않음.  (성능이 더 좋지는 않음, 속도 = 성능) 
2-3  다양한 상황이 많아서, 혼란을 줄까봐 삭제함. 딥러닝은 CPU보다 GPU가 중요함.
4.  V100이 T4보다 7배 비싸고 성능은 1.1 ~ 1.2배 좋은 것 같음. 2배 좋다는 글도 있지만.
5. 가성비 갑은 T4이고 T4에서 CPU와 RAM 수를 조절하며 테스트해보니 가장 가성비 좋은 세팅은 4코어 16기가 램인 것 같음. GPU가 좋다고 머신러닝 모델의 성능(precision, accuracy)이 좋아지는 것은 아님. 단지 훈련시간을 단축시켜 줌. 

  • 그리고 제가 AI Platform 연구를 하면서 놀랐던 건 여기 세팅된 스펙이 제가 테스트해서 찾은 최고의 가성비 세팅과 완전 흡사했습니다. 시간없으신 분들을 위해 제가 겪었던 시행착오를 겪지 않으셨으면 해서 공유합니다. 
* AI Platform은 머신러닝을 쉽게 사용하도록 머신러닝에 필요한 여러가지를 포함한 플랫폼을 제공합니다.

GCP AI Platform


  • V100 은 아마존에서 구입시 한국 배송비 포함해 $10,000 입니다. 천만원 넘네요. 
아마존에서 V100 가격


  • 마지막으로 나의 ML찡이 강한 남자가 되기 위해 V100을 달고 열심히 훈련하는 모습으로 마무리합니다.
머신러닝 훈련 모습 (V100)
머신모델찡! 포기하지마라! 패턴을 발견해! (채찍)

Comments