Cloud/GCP

GPU 할당과 VM 생성

Omoknooni 2023. 4. 16. 15:28

캡스톤 프로젝트로 인해 GPU 서버를 사용해야 할 일이 생겼다.

모델 학습에는 내 본체의 GPU를 이용해 어떻게 학습 모델을 추출하기는 했으나, 이걸 웹서버 백엔드단으로 올려서 이미지를 받고 이미지내에서 객체 검출을 해 반환을 해줘야 했다.

 

학교가 네이버 클라우드(ncloud)와 협약을 맺어서 무료 크래딧 20만원을 사용할 수 있다고 해서 찾아봤지만, GPU 서버는 기본적으로 개인계정에서 생성을 제한한다고 한다.

개인계정에서 GPU서버, 고사양 CPU서버등의 고가용성 서버를 사용하기 위해서는 신청서를 작성해 제출하고, 또 서버 결제에 크레딧과는 다른 재화인 '코인'을 사용해서만 결제를 할 수 있다고 한다.

 

단순히 tensorflow 테스트를 할 뿐인데 신청서를 작성하고 코인 재화를 선결제해야하는 등의 작업이 너무 번거로울 것같아 네이버 클라우드의 사용을 포기했다.

 

이에 다른 클라우드 서비스를 찾기로 했고, 구글의 GCP를 찾게 되었다.

GCP는 첫 가입 시 90일간 사용가능한 $300 크레딧 제공을 해준다. 또한 네이버 클라우드와는 다르게 제공한 크레딧으로 GCP의 모든 서비스를 사용할 수 있다.

 

하지만, GCP도 마찬가지로 GPU 서버의 생성이 기본적으로 제한이 되어있다.

생성가능한 수치를 확인해보자

 

API 및 서비스 > 사용 설정된 API 및 서비스에서 Compute Engine API

 

GCP도 타 클라우드 서비스와 마찬가지로 모든 서비스가 API 형식으로 되어있다. 

할당량 탭에서 사용할 수 있는 자원 할당량을 리전 별로 각각 확인할 수 있다.

 

GPU 서버의 할당량을 보기 위해 'gpus_all_region'을 검색, 모든 리전에서 사용할 수 있는 GPU서버의 갯수로 0으로 설정되어있는 것을 볼 수 있다.

해당 할당량의 체크박스 체크 후 우측 상단의 할당량 수정

 

다음과 같은 패널이 나오는데, 새 한도에 사용할 GPU 서버의 갯수만큼 작성한다. 예를 들어, 2개의 GPU서버를 동시에 돌려야하는 상황 등의 경우 한도 값을 2 이상으로 올려주면 된다.

 

개인 연락처 정보 기입 후 제출하면, 계정 메일로 할당량 수정 요청이 되었다는 메일이 온다.

 

평일 영업시각 기준으로 약 5분정도 후에 요청 승인 메일이 바로 오게 된다.

 

다시 할당량을 확인하면 요청값만큼 증가한 것을 볼 수 있다.

 

 

할당량 확인까지 마쳤으면 본격적으로 VM을 생성

VM 생성 > 머신 구성에서 GPU를 선택하면 A100, V100, P4, T4등의 GPU를 선택해서 생성할 수 있다.

(물론 각 리전/영역에 따라서 사용할 수 있는 GPU의 유형이 지정되어있다.)

 

GPU를 설정하고 VM을 생성

GPU드라이버를 설치해 확인해보면 GPU가 정상적으로 할당되어있음을 볼 수 있다.

curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py

python3 install_gpu_driver.py