AWS에서 GPU 리소스 활용하기
머신러닝을 위한 GPU 활용
머신러닝을 위한 GPU를 활용하는 방법은 크게 EC2의 GPU 인스턴스를 이용하는 방법과, SageMaker를 이용하는 방법 두 가지가 있습니다.
EC2의 경우 인스턴스 유형 페이지의 가속화된 컴퓨팅 부분을 참고해 주세요.
일반적으로 많이 활용되는 GPU instance는 다음과 같습니다. (디테일한 스펙은 인스턴스 설명 페이지를 참고해 주세요.)
P4 (A100)
매우 큰 모델이나 많은 데이터를 parallel 기법을 활용하여 학습하는 경우 활용됩니다. Large-scale model 에 대한 수요가 높다 보니 할당받는게 쉽지 않습니다.
P3 (V100)
위와 마찬가지로 큰 모델을 학습하는 경우 많이 활용됩니다.
G5 (A10G)
적당한 규모 모델을 학습하는 데도 활용될 수 있으며, 학습된 모델을 배포하여 inference 하는 데 많이 활용됩니다.
G4dn (T4)
G5와 비슷하게 적당한 규모 모델을 학습하는 데도 활용될 수 있고, 학습된 모델을 배포하여 inference 하는 데 많이 활용됩니다. G5가 없는 region이 있기 때문에 (예를 들어 seoul region에서는 G5를 사용할 수 없습니다) 그런 경우 G4dn이 대안이 될 수 있습니다.
SageMaker 에서 GPU를 활용할 때에는 인스턴스 이름 앞에
ml.이 붙게 됩니다. 예를 들어 EC2에서g5.2xlarge인스턴스의 경우 SageMaker에서ml.g5.2xlarge가 되는 형태입니다.
GPU quota 요청 방법
AWS 서비스들은 할당 가능한 quota 가 정해져 있습니다. 따라서 AWS 사용량이 높지 않다면 GPU quota가 없을 수도 있습니다. 이 경우 GPU instance quota increase 요청을 해야 합니다.
아래와 같이 Service quota를 확인할 수 있습니다. (EC2 예시)
Service quotas 페이지로 들어갑니다.

AWS services에서 EC2를 검색해서 들어갑니다.
On-demand instance 외에도 spot 등 quota가 세밀하고 다양하게 나누어져 있습니다.

사용하고 싶은 인스턴스를 검색하고 현재의 Quota를 확인합니다.
아래의 경우 g4dn 인스턴스 quota가 0이기 때문에 사용할 수가 없습니다.

Request Quota increase를 눌러서 필요한 만큼의 Quota를 요청합니다.
EC2의 경우 해당 Quota가 vCPU 기준입니다. 따라서, 내가
g4dn.2xlarge를 두 대 사용하고 싶다면 Quota는16이상으로 요청해야 합니다. (g4dn.2xlarge는 한대에vCPU가8개 있기 때문)해당 Quota값은 서비스별로 다르기 때문에, description에 있는 설명을 확인 후 요청하시길 추천드립니다.

Quota request history에서 요청 내용을 확인할 수 있고, AWS console 검색창에 support 라고 검색해서
Support center로 들어갈 수 있습니다.Your support case에서 quota 요청 내용을 확인 가능하며 요청에 대한 댓글을 달 수도 있습니다.만일 AWS 사용량이 높지 않은데 큰 규모의 instance 신청을 했다면 reject 당할 수 있습니다. 이 경우 담당하는 Account Manager에게 support case number를 공유해 주세요.
API를 활용한 Quota increase 관리
보다 전문적으로 Quota를 관리하는 방법에 관해서는 여기를 참고해 주세요.
Last updated