AWS에서 GPU 리소스 활용하기

머신러닝을 위한 GPU 활용

  • 머신러닝을 위한 GPU를 활용하는 방법은 크게 EC2의 GPU 인스턴스를 이용하는 방법과, SageMaker를 이용하는 방법 두 가지가 있습니다.

  • EC2의 경우 인스턴스 유형 페이지arrow-up-right의 가속화된 컴퓨팅 부분을 참고해 주세요.

  • 일반적으로 많이 활용되는 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는 한대에 vCPU8개 있기 때문)

      • 해당 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를 관리하는 방법에 관해서는 여기arrow-up-right를 참고해 주세요.

Last updated